用SSL構建一個安全的Apache之三
發表于:2007-05-25來源:作者:點擊數:
標簽:
六、阿帕奇的配置 現在我們可以來看看阿帕奇的配置文件了——需要記住的是如果你對它做了更改,在未重新啟動httpd守護進程前,它是不會發生作用的。好,現在我們可以進目錄/usr/local/apache/conf看看了。 httpd.conf - 這是阿帕奇的主要配置文件,你可以在
六、阿帕奇的配置
現在我們可以來看看阿帕奇的配置文件了——需要記住的是如果你對它做了更改,在未重新啟動httpd守護進程前,它是不會發生作用的。好,現在我們可以進目錄/usr/local/apache/conf看看了。
httpd.conf -
這是阿帕奇的主要配置文件,你可以在這里設定
服務器啟動時的基本環境,比如服務器的啟動方式、端口號、允許的最多連接數等等,這一文件的注釋非常詳細,要看明白應該沒什么問題。
a
clearcase/" target="_blank" >ccess.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程序還是干掉比較好些。
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|