禁止所有通路:Options Indexes FollowSymLinks 改為 Option None
Apache單個或多個目錄禁止通路方法
這種方法通常用來禁止通路者通路背景管理目錄或者程式目錄,方法如下
1、打開apache配置檔案httpd.conf
2、建立Directory塊,比如禁止通路某個類庫目錄,可以這樣實作
<Directory /var/www/www.leapsoul.cn/inc>
Order Deny,Allow
Deny from all
</Directory>
上述代碼實作了禁止所有使用者通路www.leapsoul.cn下inc目錄的功能。如要實作禁止通路所有目錄中inc目錄的功能,隻要将
<Directory /var/www/www.leapsoul.cn/inc>
更改為
<Directory /var/www/www.leapsoul.cn/*/inc>
即可
3、重新開機Apache伺服器。
隻允許某個域名進行目錄通路
<Directory /var/www/www.leapsoul.cn/inc>
Order Deny,Allow
Deny from abc.com
Allow from apache.org
</Directory>
上述代碼實作禁止abc.com域中主機通路inc目錄,允許apache.org域中主機通路inc目錄的功能。
隻允許或禁止某個IP進行目錄通路
<Directory /var/www/www.leapsoul.cn/inc>
Order Deny,Allow
Deny from 10.1.1.2
Allow from 192.168.1.0/255.255.255.0
</Directory>
上述代碼實作禁止IP10.1.1.2通路www.leapsoul.cn/inc目錄,允許IP192.168.1子網中的主機通路www.leapsoul.cn/inc目錄的功能。
注意:Allow from 192.168.1.0/255.255.255.0等同于Allow from 192.168.1或Allow from 192.168.1.0/24
至此,通過配置Apache伺服器我們可以實作禁止目錄通路(列出目錄或檔案清單),也可以實作禁止通路單個或者多個目錄,更可以對通路者進行控制,比如允許或禁止某個IP或者域名對目錄進行通路,這些功能對提高和優化WEB伺服器的安全性能是必不可少的方法。
Apache Server基于主機的通路控制
Apache Server預設情況下的安全配置是拒絕一切通路。假定Apache Server内容存放在/usr/local/apache/share 目錄下,下面的指令将實作這種設定:
Deny from all
Allow Override None
則禁止在任一目錄下改變認證和通路控制方法。
同樣,可以用特有的指令Deny 、 Allow 指定某些使用者可以通路,哪些使用者不能通路,提供一定的靈活性。當 Deny 、 Allow 一起用時,用指令 Order 決定 Deny 和 Allow 合用的順序,如下所示:
拒絕某類位址的使用者對伺服器的通路權(Deny)
Deny from all
Deny from test.cnn.com
Deny from 204.168.190.13
Deny from 10.10.10.0/255.255.0.0
允許某類位址的使用者對伺服器的通路權(Allow)
Allow from all
Allow from test.cnn.com
Allow from 204.168.190.13
Allow from 10.10.10.0/255.255.0.0
Deny 和 Allow 指令後可以輸入多個變量。
簡單配置執行個體:
Order Allow, Deny
Allow from all
Deny from www.test.com
指想讓所有的人通路Apache伺服器,但不希望來自www.test.com的任何通路。
Order Deny, Allow
Deny from all
Allow from test.cnn.com
指不想讓所有人通路,但希望給test.cnn.com 網站的來訪。