偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Apache Web服務(wù)器訪問控制機(jī)制全解析

原創(chuàng)
安全 網(wǎng)站安全
Linux下的Aapche服務(wù)器提供了強(qiáng)大的訪問控制功能,用戶可以選擇采用配置命令或者.htaccess文件的方式對其進(jìn)行設(shè)置,本文將為大家介紹這兩種方法。

【51CTO.com 獨家特稿】Linux下的Aapche服務(wù)器提供了強(qiáng)大的訪問控制功能,用戶可以選擇采用配置命令或者.htaccess文件的方式對其進(jìn)行設(shè)置,本文將為大家介紹這兩種方法。

一、使用訪問控制常用配置指令進(jìn)行訪問控制

1.配置指令

Apache實現(xiàn)訪問控制的配置指令包括如下三種:

(1)order指令:用于指定執(zhí)行允許訪問控制規(guī)則或者拒絕訪問控制規(guī)則的順序。order只能設(shè)置為Order allow,deny或Order deny,allow,分別用來表明用戶先設(shè)置允許的訪問地址還是先設(shè)置禁止訪問的地址。Order選項用于定義缺省的訪問權(quán)限與Allow和Deny語句的處理順序。Allow和Deny語句可以針對客戶機(jī)的域名或IP地址進(jìn)行設(shè)置,以決定哪些客戶機(jī)能夠訪問服務(wù)器。Order語句設(shè)置的兩種值的具體含義如下:

◆allow, deny:缺省禁止所有客戶機(jī)的訪問,且Allow語句在Deny語句之前被匹配。如果某條件既匹配Deny語句又匹配Allow語句,則Deny語句會起作用(因為Deny語句覆蓋了Allow語句)。

◆deny, allow:缺省允許所有客戶機(jī)的訪問,且Deny語句在Allow語句之前被匹配。如果某條件既匹配Deny語句又匹配Allow語句,則Allow語句會起作用(因為Allow語句覆蓋了Deny語句)。

(2)allow指令:指明允許訪問的地址或地址序列。如allow from all指令表明允許所有IP來的訪問請求。

(3)deny指令:指明禁止訪問的地址或地址序列。如deny from all指令表明禁止所有IP來的訪問請求。

2.應(yīng)用實例

下面舉幾個簡單的例子對上述order、allow和deny命令的使用進(jìn)行示范。

(1)在下面的例子中,admin.org域中所有主機(jī)都允許訪問網(wǎng)站,而其他非該域中的任何主機(jī)訪問都被拒絕,因為Deny在前,Allow在后,Allow語句覆蓋了Deny語句:

  1. Order Deny,Allow   
  2. Deny from all  
  3. Allow from admin.org  

(2)下面例子中,admin.org域中所有主機(jī),除了db.admin.org子域包含的主機(jī)被拒絕訪問以外,都允許訪問。而所有不在admin.org域中的主機(jī)都不允許訪問,因為缺省狀態(tài)是拒絕對服務(wù)器的訪問(Allow在前,Deny在后,Deny語句覆蓋了Allow語句):

  1. Order Allow,Deny  
  2. Allow from admin.org  
  3. Deny from db.admin.org  

#p#

二、使用.htaccess文件進(jìn)行訪問控制

任何出現(xiàn)在配置文件httpd.conf中的指令都可能出現(xiàn)在.htaccess文件中。該文件在httpd.conf文件的AccessFileName指令中指定,用于進(jìn)行針對單一目錄的配置(注意:該文件也只能設(shè)置對目錄的訪問控制)。作為系統(tǒng)管理員,可以指定該文件的名字和可以通過該文件內(nèi)容覆蓋的服務(wù)器配置。當(dāng)站點有多組內(nèi)容提供者并希望控制這些用戶對他們的空間的操作時該指令非常有用。

值得特別注意的是:除了可以使用.htaccess文件針對單一目錄進(jìn)行訪問控制配置外,該文件還可以在不重新啟動Apache服務(wù)器的前提下使配置生效,因而使用起來非常方便。

使用該文件進(jìn)行訪問控制,需要經(jīng)過如下兩個必要的步驟:

(1)在主配置文件httpd.conf中啟用并控制對.htaccess文件的使用。

(2)在需要覆蓋主配置文件的目錄下(也就是需要單獨設(shè)定訪問控制權(quán)限的目錄)生成.htaccess文件,并對其進(jìn)行編輯,設(shè)置訪問控制權(quán)限。

1. 啟用并控制對.htaccess文件的使用

啟用并控制對.htaccess文件的使用,首先需要使用AccessFileName參數(shù)在主配置文件中配置如下配置語句方可:

  1. AccessFileName .htaccess  
  2. <Files ~ “^\.htaccess”> 
  3.     Order allow,deny  
  4.     Deny from all  
  5. </Files> 

2. 在.htaccess文件中使用指令進(jìn)行控制

要限制.htaccess文件能夠覆蓋的內(nèi)容,須要使用AllowOverride指令。該指令可以進(jìn)行全局設(shè)置或者單個目錄設(shè)置。要配置默認(rèn)可以使用的選項,須要使用Options指令。例如,在httpd.conf文件中,可以采用上述指令建立的對/var/www/icons目錄的訪問控制權(quán)限的清單,如下所示:

  1. <Directory "/var/www/icons"> 
  2.     Options Indexes MultiViews  
  3.     AllowOverride None  
  4.     Order allow,deny  
  5.     Allow from all  
  6. </Directory> 

以下為各種指令的使用介紹:

(1)AllowOverrides指令

AllowOverrides指令指定.htaccess文件可以覆蓋的選項??梢詫γ總€目錄進(jìn)行設(shè)置。例如,可以對主要文檔root和UserDir目錄的覆蓋有不同的標(biāo)準(zhǔn)。該功能對于用戶目錄特別有用,在這些目錄中用戶沒有訪問主服務(wù)器配置文件的權(quán)限。 #p#

AllowOverrides可以設(shè)置為All、None或者Option、FileInfo、AuthConfig、Indexes以及Limit.選項的組合。這些選項含義如下:

◆Options:文件可以為該目錄添加沒有在Options指令中列出的選項。

◆FileInfo:.htaccess文件包含修改文檔類型信息的指令。

◆AuthConfig:.htaccess文件可能包含驗證指令。

◆Limit:.htaccess文件可能包含allow、deny、order指令。

◆Indexes:控制目錄列表方式。

◆None:禁止處理.htaccess文件。

◆All:表示讀取以上所有指令內(nèi)容。

Options指令

Options可以為None、All或者任何Indexes、Includes、FollowSymLinks、ExecCGI或者M(jìn)ultiViews的組合。MultiViews不包含在All中,必須顯式指定。這些選項解釋如下:

◆ None:該目錄沒有啟用任何可用的選項。

◆All:該目錄啟用了所有選項,除了MultiViews。

◆Indexes:當(dāng)Index.html文件或者另一個DirectoryIndex文件不存在時,目錄中的文件列表將作為HTML頁產(chǎn)生,顯示給用戶。

◆Includes:該目錄允許服務(wù)器側(cè)包含(SSI)。如果允許包含但是不允許在包含中有exec選項,則可以寫為IncludesNoExec。基于安全的原因,對于沒有完全控制權(quán)限的目錄,如UserDir目錄,該選項是一個很好的主意。

◆FollowSymLinks:允許訪問符號鏈接到文檔目錄的目錄。這種方法不好,不要將整個服務(wù)器全部設(shè)置為該選項。對某個目錄可以這樣設(shè)置,但是在僅當(dāng)有足夠的理由時才這樣設(shè)置。該選項是一個潛在的安全隱患,因為允許Web用戶跳出文檔目錄以外,并且可能潛在地允許用戶訪問文件系統(tǒng)的分區(qū),而這些地方是不希望其他人訪問的。

◆ExecCGI:即使該目錄不是ScriptAlias化的目錄,也在其中允許CGI程序。

◆MultiViews:該選項是mod_negotiation模塊的一部分。當(dāng)客戶請求的文檔沒有找到時,服務(wù)器試圖計算最適合客戶請求的文檔。

3. 使用.htaccess文件實例

下面以一個簡單的例子來示范如何使用.htaccess文件:

(1)在Apache服務(wù)器的文檔根目錄下生成一個測試目錄,并創(chuàng)建測試文件,使用如下命令即可:

  1. #cd /var/www/html  
  2. #mkdir rhel5  
  3. #cd rhel5  
  4. #touch rhel5.a  
  5. #touch rhel5.b  

 #p#

(2)修改Apache服務(wù)器的主配置文件如下,添加如下語句:

  1. <Directory “/var/www/html/rhel5”> 
  2.     AllowOverride Options  
  3. </Directory> 

(3)在生成的測試目錄/var/www/html/rhel5下生成.htaccess文件,并添加如下語句:

  1. Options –Indexes 

(4)重新啟動Apache服務(wù)器即可,可以看到在未配置.htaccess文件前用戶可以使用客戶端瀏覽器瀏覽文件,而配置文件后用戶無法瀏覽,如圖1和2所示。另外,值得注意的是:這里的重啟Apache服務(wù)器是因為步驟(2)中對主配置文件進(jìn)行了修改,而不是因為修改了.htaccess文件,因為前面提到過,.htaccess文件的配置修改并不需要重新啟動Apache服務(wù)器。

圖1 未使用訪問控制前訪問目錄情況示意

圖1 未使用訪問控制前訪問目錄情況示意

圖2 使用訪問控制后訪問目錄情況

圖2 使用訪問控制后訪問目錄情況

【51CTO.com獨家特稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載!合作媒體轉(zhuǎn)載請注明原文出處及出處!】

【編輯推薦】

  1. 應(yīng)對Web服務(wù)器混合型攻擊需要四維防護(hù)
  2. 安全的DMZ web服務(wù)器設(shè)置設(shè)備
  3. 繞過Apache http代理繼續(xù)DoS tomcat
  4. 如何用iptables來防止web服務(wù)器被CC攻擊

 

責(zé)任編輯:佟健 來源: 51CTO.com
相關(guān)推薦

2018-04-02 15:07:01

LinuxApacheWeb服務(wù)器

2009-12-30 10:09:08

Ubuntu Apac

2011-03-21 14:41:04

LAMPapacheweb

2017-12-27 10:18:09

ApacheNginx服務(wù)器

2009-12-30 10:41:27

Ubuntu Apac

2018-05-04 12:22:47

2009-11-10 14:03:40

Web服務(wù)器維護(hù)技巧

2009-09-24 13:47:05

IIS安全配置web服務(wù)器訪問控制

2011-09-20 09:15:11

2012-05-21 10:16:53

2010-05-19 12:50:52

Subversion服

2010-05-18 16:35:35

Web服務(wù)器訪問失敗

2011-03-15 16:19:15

MySQL服務(wù)器訪問

2010-07-19 21:31:42

2012-05-30 09:26:57

服務(wù)器虛擬化

2011-01-06 13:20:45

Web服務(wù)器Apache

2012-07-16 09:33:04

2012-02-23 10:02:08

Web服務(wù)器應(yīng)用服務(wù)器

2018-10-26 11:30:40

Apache Web服務(wù)器站點

2014-07-15 09:44:07

Linux Web服務(wù)Nginx
點贊
收藏

51CTO技術(shù)棧公眾號