apache 服务器安全配置
0x01.錯誤詳情頁隱藏
錯誤詳情頁測試方法:
- 訪問網站不存在的頁面,如果網站沒有做404頁面重定向,就會泄露其敏感信息如下圖:
- 查看響應頭信息:
修復方法:
1).修改配置文件:etc/apache2/apache2.conf 或者/etc/httpd/conf/httpd.conf隱藏中間件信息。修改或添加以下配置:
ServerTokens Prod ServerSignature Off2).修改配置文件:/etc/php5/apache2/php.ini隱藏PHP信息,將expose_php = On 改為 expose_php = Off
expose_php = Off3).修改配置文件: /etc/apache2/sites-enabled/000-default.conf設置網站根目錄為 /var/www/html/
zzq@ubuntu:~$ sudo vim /etc/apache2/sites-enabled/000-default.conf 0x01-2.png4).修改配置文件:/etc/apache2/apache2.conf將網站根目錄里面的AllowOverride None設置AllowOverride All,保存退出!
zzq@ubuntu:~$ sudo vim /etc/apache2/apache2.conf <Directory /var/www/html>Options Indexes FollowSymLinksAllowOverride All #設置為All,此目錄下的.htaccess 指令才會生效Require all granted </Directory>5).修改完以上配置文件保存并退出,然后重啟apache服務
zzq@ubuntu:~$ sudo service apache2 restart6).再次訪問錯誤頁面,已經沒有剛才泄露的信息了
0x01-3.png zzq@ubuntu:~$ sudo curl -I http://192.168.178.135/ HTTP/1.1 200 OK Date: Tue, 01 May 2018 12:26:10 GMT Server: Apache Last-Modified: Tue, 17 Apr 2018 02:49:12 GMT ETag: "2cf6-56a02621ccf1c" Accept-Ranges: bytes Content-Length: 11510 Vary: Accept-Encoding Content-Type: text/html0x02.重定向404頁面
加固步驟:
1).在網站根目錄新建一個.htaccess文件,內容為:
zzq@ubuntu:/var/www/html$ cd /var/www/html/ zzq@ubuntu:/var/www/html$ ls -a . .. index.html wordpress zzq@ubuntu:/var/www/html$ sudo vim .htaccess ErrorDocument 404 /404.html zzq@ubuntu:/var/www/html$ ls -a . .. .htaccess index.html wordpress zzq@ubuntu:/var/www/html$2).在同目錄下新建404.html,文件名與上一步指定的文件名相同,即404.html
zzq@ubuntu:/var/www/html$ sudo vim 404.html <!DOCTYPE html> <html> <head><title>404頁面</title> </head> <body> Hello,This is 404 page!! </body> </html>3).測試一下,可以看到我們自定義的頁面已經生效
0x02-1.png注意事項
1、不要將404錯誤直接轉向到網站首頁,這將導致首頁不被收錄;
2、/404.html 前面不要帶主域名,否則返回的狀態碼是302或200狀態碼;
3、自定義的404頁面必須是大于512B,如果小于這個大小,瀏覽器就不會執行;
0x03.列目錄問題
什么是列目錄
當Web服務器配置不當的時候,如果當前目錄不存在默認文件(比如index.html),Apache會列出當前目錄下所有文件,造成敏感信息泄露。
我們可以測試一下,測試方法:
首先我們可以刪除存在的默認文件index.html
然后再訪問網站
0x03-1.png修復方法:
修改配置文件:/etc/apache2/apache2.conf
zzq@ubuntu:~$ sudo vim /etc/apache2/apache2.conf <Directory /var/www/html> #這必須是網站的根目錄Options Indexes FollowSymLinksAllowOverride AllRequire all granted </Directory>Options Indexes FollowSymLinks
這里的indexes 是指在目錄中要存在index文件,如果不存在把文件列出來,如果存在index文件可以直接顯示index文件,因此每個目錄都必須存在index文件,如果不存在有可能此目錄把文件全部列出來。
刪除Indexes這個參數,保存退出,然后重啟apache服務
<Directory /var/www/html>Options FollowSymLinksAllowOverride AllRequire all granted </Directory> zzq@ubuntu:~$ sudo service apache2 restart再次訪問就會出現403Forbidden頁面如下圖所示:
0x03-2.png0x04.刪除默認安裝頁面
測試方法
默認安裝完成之后,會有一個默認的apache測試頁面,里面會泄露一些信息,包括網站目錄,操作系統,版本等等
圖片.png加固方法
step1.編輯配置文件/etc/httpd/conf.d/welcome.conf
[root@localhost ~]# vim /etc/httpd/conf/httpd.confstep2.找到如下行
圖片.pngstep3.修改為如下,并保存退出
圖片.pngstep4.重啟apache服務
[root@localhost ~]# service httpd restart修復驗證
step1.在網站根目錄下創建一個index.php文件
step2.再次訪問
圖片.png0x05.文件權限
在圖片上傳過程中,特對是針對上傳圖片得目錄和上傳得文件內容必須經過嚴格控制,因為可能由
于權限過高導致上傳被突破后,直接放入小馬,這個站點就被拿下了,所以對上傳目錄進行權限控
制。
漏洞測試
圖片.png加固方法:
step1.編輯http.conf文件
[root@localhost upload]# vim /etc/httpd/conf/httpd.confstep2.限定目錄沒有執行的PHP腳本執行的權限
圖片.pngstep3.編輯重啟服務 [root@localhost upload]# service httpd restart
step4.再次測試漏洞是否存在
可以看到/upload/目錄下的php小馬已經不能用了
總結
以上是生活随笔為你收集整理的apache 服务器安全配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于JavaScript(脚本语言)
- 下一篇: 趋势解读:John D′Ambrosia