闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掆偓杩濋梺閫炲苯澧撮柡灞剧〒閳ь剨缍嗛崑鍛暦瀹€鍕厸鐎光偓閳ь剟宕伴弽顓溾偓浣糕槈濡嘲鐗氶梺鍛婂姉閸嬫挸袙婢跺绻嗛柣鎰典簻閳ь剚鍨垮畷鏇熺節濮橆剛顔嗛梺璺ㄥ櫐閹凤拷 (0) +1 闂傚倸鍊搁崐宄懊归崶褏鏆﹂柛顭戝亝閸欏繒鈧箍鍎遍幏瀣触鐎n喗鐓曢柍鈺佸枤濞堛垹霉绾攱瀚� (0) +1 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂撮檷閸嬫垿鎮楀☉娆嬬細妞も晜鐓¢弻锝夊箣閿濆棭妫勭紓浣哄閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� (0) +1
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掆偓杩濋梺閫炲苯澧撮柡灞剧〒閳ь剨缍嗛崑鍛暦瀹€鍕厸鐎光偓閳ь剟宕伴弽顓溾偓浣糕槈濡嘲鐗氶梺鍛婂姉閸嬫挸袙婢跺绻嗛柣鎰典簻閳ь剚鍨垮畷鏇㈠蓟閵夈儱鐎梺绉嗗嫷娈旈柦鍐枛閺岋綁寮崶銉㈠亾閳ь剟鏌涚€n偅灏柍钘夘槸閳诲秹顢樿缁ㄥジ鏌熸笟鍨鐎规洘鍎奸ˇ顕€鏌¢埀顒勬嚍閵夛絼绨婚梺鍝勬川閸嬬偤藟閻愮儤鍊垫慨妯煎亾鐎氾拷闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸℃ぞ绮℃俊鐐€栭崝褏绮婚幋鐘差棜闁秆勵殕閻撴洟鏌熼柇锕€鐏遍柛銈咁儔閺屻倝寮堕幐搴′淮闂佸搫鏈粙鎴﹀煡婢跺ň鏋庨柟閭﹀枤閳诲繒绱撻崒姘偓椋庢媼閺屻儱鐤鹃柣妯款嚙閽冪喖鏌i弮鍌楁嫛闁轰礁绉电换婵囩節閸屾碍鐏撻梺鍝勬-閸樺ジ鈥旈崘顔嘉ч柛鎰╁妼婵兘姊洪悷鏉挎闁瑰嚖鎷�>>

正在阅读:用SSL构建一个安全的Apache之三用SSL构建一个安全的Apache之三

2004-02-14 09:34 出处:奥索网 作者:OSO奥索 责任编辑:zwg
六、阿帕奇的配置   现在我们可以来看看阿帕奇的配置文件了——需要记住的是如果你对它做了更改,在未重新启动httpd守护进程前,它是不会发生作用的。好,现在我们可以进目录/usr/local/apache/conf看看了。 httpd.conf -   这是阿帕奇的主要配置文件,你可以在这里设定服务器启动时的基本环境,比如服务器的启动方式、端口号、允许的最多连接数等等,这一文件的注释非常详细,要看明白应该没什么问题。 access.conf -   这一文件是设定系统中的存取方式和环境的,但现在已经可以在httpd.conf中设定了,所以推荐你别动它,放空好了。 srm.conf -   这家伙主要做的是资源上的设定,你也可以放空,仅仅设定httpd.conf中的相关项。   现在重启web server来使改动生效: #/usr/local/apache/bin/apachectl restart 七、将阿帕奇设定在chroot环境下   现在我们开始把刚才建立的东西移到chroot环境下——包括阿帕奇服务器以及所有需要的库文件。当然如前面所说的,这部份是可选的,如果你怕麻烦的话就算了,但转移后可以对你的web server多一个可靠的保护。 建立/chroot目录 #mkdir /chroot 建立一些必需的子目录 #mkdir /chroot/dev #mkdir /chroot/lib #mkdir /chroot/etc #mkdir /chroot/bin #mkdir /chroot/usr #mkdir /chroot/usr/local 在我们的chroot建立/dev/null #mknod -m 666 /chroot/dev/null c 1 3 将阿帕奇拷贝到/chroot目录中 #cp -rp /usr/local/apache/ /chroot/usr/local 拷贝必需的二进制文件 #cp /bin/sh /chroot/bin 确定哪些库是必需的——这取决于你编译时内建了哪些模块 #ldd /usr/local/apache/bin/httpd 将需要的库拷贝到chroot目录 #cp /lib/libm.* /chroot/lib/ #cp /lib/libgdbm.* /chroot/lib #cp /lib/libdb.* /chroot/lib #cp /lib/libdl.* /chroot/lib #cp /lib/libc.* /chroot/lib 拷贝网络连接所需要的函数库 #cp /lib/libnss* /chroot/lib 拷贝必需的/etc下的文件到chroot #cp /etc/passwd /chroot/etc #cp /etc/shadow /chroot/etc #cp /etc/group /chroot/etc #cp /etc/resolv.conf /chroot/etc #cp /etc/hosts /chroot/etc #cp /etc/localtime /chroot/etc #cp /etc/localtime /chroot/etc #cp /etc/ld.so.* /chroot/etc 测试chroot下的阿帕奇 #chroot /chroot /usr/local/apache/bin/apachectl start 现在再 #chroot /chroot /usr/local/apache/bin/apachectl stop   服务器就停下来了,如果不行的话,再次确认是否所有需要的库都拷到了/chroot/lib下了,如果仍然无帮助的话,或者可以以strace方式运行httpd,它的输出可能会有一些有价值的内容可以帮助确定是丢失了哪些库或者二进制文件。   然后我们可以做一些小工作了:默认情况下阿帕奇是以nobody用户及用户组运行的,不要更改它。   在passwdshadowgroup等文件中包含了大量系统信息,所以你可以替换掉它们。   建立一个用户名为httpd,UID为80   建立一个组名为httpd,GID为80   用下面的命令来将/chroot下的passwd,shadow,group替换掉 #echo "httpd:x:80:100:,,,:/home/httpd:/bin/false" > /chroot/etc/passwd #echo "httpd:*LK*:11010:0:99999:7:::" > /chroot/etc/shadow #echo "httpd:x:80:" > /chroot/etc/group 设定好文件的许可权限 #chmod 600 /chroot/etc/passwd shadow group   现在我们可以编辑apache的配置文件并进行需要的配置,文件在 /chroot/usr/local/apache/conf/httpd.conf,寻找到包含apache运行用户 及组的信息的行并改变它(approx. line 263),当然是改成httpd/httpd。   一切运行正常后我们可以删除前面的那些服务器安装的东西——/usr/local下的,包括服务器以及那些内建的模块等等。 #rm -rf /usr/local/apache #rm -rf /usr/local/mod_ssl-2.5.0-1.3.11/ #rm -rf /usr/local/mod_perl-1.21/ #rm -rf /usr/local/openssl-0.9.4/ #rm -rf /usr/local/rsaref   如果以后还想改变它们的配置,增加新的模块,那么将原先的apache留下来也行。   将阿帕奇设定为在开机时自启动,修改/etc/rc.d/rc.local并且加入以下行: echo "Starting Apache-SSL" /usr/sbin/chroot/apache/bin/apachectl startssl   如果一切都运行正常的话,那么恭喜你,你已经成功地运行了带SSL支持的阿帕奇了,这会使你的web server更加安全,如果你希望加入更多的模块实现其它功能的话,自己动手吧,最后要说明的是:在chroot环境中最好只有必需的一些二进制程序,而SUID程序还是干掉比较好些。

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗ù锝堟缁€濠傗攽閻樻彃鈧绱撳杈ㄥ枑闁哄啫鐗勯埀顑跨窔瀵粙顢橀悙鑼垛偓鍨攽閿涘嫬浠х紒顕呭灦瀵偊鎮╃紒妯锋嫼闂備緡鍋嗛崑娑㈡嚐椤栨稒娅犻柟缁㈠枟閻撴瑦銇勯弮鈧娆忈缚閹扮増鐓欑€瑰嫮澧楅崵鍥┾偓瑙勬磸閸斿秶鎹㈠┑瀣<婵炲棙鍔栭埢鏇熺節閻㈤潧啸妞わ綀妫勫嵄闁告稒娼欑壕濠氭煙閹规劦鍤欑紒鐙€鍨堕弻銊╂偆閸屾稑顏�闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇炲€哥粻鏍煕椤愶絾绀€缁炬儳娼¢弻鐔煎箚閻楀牜妫勭紒鎯у⒔缁垳鎹㈠☉銏犵婵炲棗绻掓禒濂告⒑閸濆嫬顏ラ柛搴f暬楠炲啫顫滈埀顒勫箖濞嗘挸绾ч柛顭戝枤瑜版垵鈹戦悙鑼憼缂侇喖绉堕崚鎺楀箻鐠囪尪鎽曞┑鐐村灟閸╁嫰寮崘顔界叆婵犻潧妫欓ˉ鐘炽亜閿斿搫鍔︽慨濠冩そ瀹曘劍绻濋崘鐐棝闂備胶鎳撻崵鏍箯閿燂拷