欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Apache簡介及安全配置方案

 更新時間:2014年08月11日 16:29:16   投稿:hebedich  
Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網(wǎng)頁服務器,可以在大多數(shù)計算機操作系統(tǒng)中運行,由于其多平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的API擴展,將Perl/Python等解釋器編譯到服務器中。

0×00 測試環(huán)境

centos6.5+apache2.2.15+php5.3.3

0×01 php的運行模式介紹

php的運行模式分四種:

1. CGI通用網(wǎng)關接口
2. fast-cgi常駐型的CGI
3. cli命令行運行
4. web模塊模式
一般情況下,apache使用web模塊模式運行php

0×02 Apache運行原理介紹

Apache是基于模塊化設計的,各個模塊在系統(tǒng)啟動的時候按需載入。Apache對于php的解析,就是通過眾多Module中的php Module來完成的。

所以,php加載成為了apache的一個模塊,可以把apache和php當成一個整體看待。

當瀏覽器請求一個php文件時,我們可以理解為apache直接處理返回給瀏覽器結果,服務器上也只會有httpd進程,而不會有php進程。

apache的一些配置主要是通過httpd.conf來實現(xiàn)的,但是可以在httpd.conf中開啟對.htaccess的支持,然后 在.htaccess中進行配置。不過一般情況下,不應該使用.htaccess文件,除非你對主配置文件沒有訪問權限。.htaccess文件應該被用 在內(nèi)容提供者需要針對特定目錄改變服務器的配置而又沒有root權限的情況下。如果服務器管理員不愿意頻繁修改配置,則可以允許用戶通 過.htaccess文件自己修改配置。

0×03 Apache安全配置方案

1. 選擇漏洞較少的apache版本,并打上安全補丁

查看apache版本號:httpd -v

然后在sebug上搜索該版本號有什么漏洞,可根據(jù)提示提升版本或者打上補丁

2. 關閉一些不使用的模塊及功能

可在LoadModule前加#,來注釋掉一些不使用的模塊

3. 隱藏banner信息

ServerTokens OS 修改為:ServerTokens Prod (在出現(xiàn)錯誤頁的時候不顯示服務器操作系統(tǒng)的名稱)

ServerSignature On 修改為:ServerSignature Off(不回顯apache版本信息)

4. 刪除默認網(wǎng)站及頁面

刪除默認的頁面,防止泄露服務器信息

5. 可修改banner信息

6. 配置httpd.conf禁止目錄瀏覽

將Options Indexes FollowSymLinks改為Options -Indexes FollowSymLinks

7. 配置httpd.conf設置默認文檔

DirectoryIndex index.html

8. 合理配置apache的運行賬戶

為apache單獨建立一個運行賬戶及賬戶組,并在httpd.conf配置

User apache
Group apache
9. 合理控制apache運行賬戶對磁盤的寫入,執(zhí)行權限

取消apache運行賬戶對網(wǎng)站目錄的寫入權限,上傳目錄除外,其他非網(wǎng)站目錄盡量不給權限

10. 合理控制apache運行賬戶對sh等的執(zhí)行權限

取消掉了運行賬戶對sh等的執(zhí)行權限后能夠防止webshell通過默認的sh執(zhí)行命令

11. 配置httpd.conf取消對上傳目錄的php執(zhí)行權限

<Directory "/var/www/html/aaa">    
    <FilesMatch ".(php|php5)$">    
        Deny from all    
    </FilesMatch>
</Directory>
12. 配置httpd.conf限制禁止訪問的文件夾,例如后臺目錄

<Directory "/var/www/html/aaa">    
        Deny from all    
</Directory>
13. 配置httpd.conf限制一些特殊目錄的特定ip訪問,如內(nèi)部接口等。

<Directory "/var/www/html/aaa">    
    Order Deny,Allow
    Deny from all
    Allow from 192.168.1.111   
</Directory>
14. 配置httpd.conf限制一些文件類型的訪問,如txt的日志

<Files ~ ".txt$">
    Order allow,deny
    Deny from all
</Files>
15.配置httpd.conf修改修改監(jiān)聽端口來防止一些內(nèi)部系統(tǒng)被掃描

這樣可以防止一些直接掃描80端口的黑客

Listen 12345
16. 關閉對.htaccess的支持

AllowOverride All
改為

AllowOverride None
17. 配置httpd.conf記錄訪問日志

0×04 .htaccess常見配置方法參考

首先,不建議使用.htaccess,其次,使用.htaccess需要在httpd.conf中開啟,最后,開始.htaccess支持后需要在 httpd.conf中配置防止.htaccess文件被下載,下面介紹幾個基本配置方法不全,更多的可以參考其他網(wǎng)站專門針對.htaccess 的配置方法。

1. 定制目錄的默認文檔

DirectoryIndex index.html index.php index.htm
2. 定制錯誤頁面

ErrorDocument 404 errors/404.html
3. 控制訪問文件和目錄的級別

order deny,allow 
deny from all 
allow from 192.168.0.0/24
4. 防止列目錄

Options -Indexes
0×05 總結

其實一個web服務器的保護是分幾個層次的(暫不考慮程序的漏洞):

1. 隱藏自己

要保護一個web服務器首先得學會隱藏自己,對于一些內(nèi)部系統(tǒng),如后臺,內(nèi)部接口等,我們可以通過改端口,限制ip等方式來不讓黑客發(fā)現(xiàn)。

2. 隱藏身份

對于多數(shù)web系統(tǒng)來說,都是提供給外面的訪問的,所以想隱藏自己其實是很難的。但是我們還是要學會隱藏身份,可以通過改banner,該返回信息來隱藏身份來加大黑客攻擊的難度。

3. 選用安全的版本及修補一些已知的漏洞

其實前面兩步都是很容易突破,然后獲知一個web系統(tǒng)所使用的web服務器版本的,此時我們能做的就是選擇一個少漏洞的版本,及打上安全補丁。

4. 做好安全配置

做好基礎的安全配置,禁止目錄瀏覽,設定默認文檔,上傳目錄限制php執(zhí)行等等,來阻擋黑客的入侵。

5. 合理配置web服務進程賬戶的權限

當黑客已經(jīng)通過程序漏洞上傳了一個webshell并且已經(jīng)成功執(zhí)行了,此時,就只能很好的配置服務進程的賬戶權限,包括磁盤的讀取寫入,特殊程序如sh的執(zhí)行,等等,這樣可以講危害降到最低。

6. 記錄日志

最后,當黑客已經(jīng)光顧之后,我們也只能通過日志來分析,看問題出在哪里了。

相關文章

最新評論