![]() |
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(86):對IP地址和域名的控制 |
![]() |
服務器的安全控制Apache提供的各種特性非常丰富,主要是由于其采用的是模塊化的結構,這樣就很容易進行分布式開發。 Internet上的眾多開發者為Apache提供了各種各樣的能力,使其能具備其他的Web服務器不能與之相比的能力。 在服務器所具備的眾多特性中,安全控制的特性最為有用。
Apache服務器可以基于IP地址和基于用戶對訪問服務器進行控制。在設置文件httpd.conf(或 access.conf)中,這些訪問控制的設置是放置在Directory、File和Location語句中的,分 別針對主機上的目錄、文件以及URI進行存取控制。然而,由于不是每個使用者都可以隨便更改系統Web服務器的設置文 件,并能重新啟動服務器的,因此在設置文件中的控制語句只是提供了基本的訪問控制策略,而更靈活的方式是通過各個文檔 目錄中的訪問控制文件來實現的。 為了在需要訪問控制的每個目錄下都設置訪問控制文件,首先要在系統配置文件中設置這個訪問控制文件及其訪問作 用。需要使用AccessFileName定義訪問控制文件的名字,缺省它被設置為.htaccess。缺省設置文件 將在針對根目錄及/usr/local/www/data這個文檔根目錄的訪問控制語句中設置AllowOverride None ,這就意味著不允許這個目錄及其子目錄中的訪問控制文件起作用,為了使得訪問控制文件發揮作用,必須針 對需要設置訪問控制的目錄設置AllowOverride All或其他有部分訪問控制功能的選項,此時該目錄及其子 目錄下的訪問控制文件也會發揮作用。 AllowOverride All將允許.htaccess文件能改變所有的訪問控制功能,如果僅僅希望目 錄的所有者只控制部分訪問控制功能,可以使用AllowOverride的其他設置選項,那樣.htaccess只能 使用允許的設置選項。 要在.htaccess文件中針對IP地址和域名進行控制,就需要使用訪問控制語句的Limit語句。因此就 要求httpd.conf中必須允許控制文件使用Limit功能,對應的設置為AllowOverride Limit選項(或All選項)。 Limit語句可以使用不同的參數,這些參數為HTTP協議的請求方法,如使用<limit GET> 限制HTTP協議中的GET方法,<limit POST>限制http協議中的POST方法,使 用</limit>標識這個控制段的結束。對于一般的情況,可以對大部分客戶打開GET、POST和HEAD 請求,而關閉PUT、DELETE等其他更復雜且不常用的請求。 如果在.htaccess中沒有使用Limit語句指定具體的訪問方法,那么就表示訪問控制命令將對所有的請 求方法都進行控制。 Order定義服務器查詢訪問控制的順序,當設置為Order Allow, Deny的時候將先處理Allow 語句,再處理Deny語句。Order Deny, Allow的處理順序相反。由于這兩種不同的方式代表不同的 訪問控制策略,Order deny, allow和deny from all合作,是用于只允許設置過的客戶機訪 問服務器,而Order allow, deny和allow from all合作,是允許所有的客戶機訪問,而僅 僅屏蔽部分具有惡意的網絡地址。 在每個Allow或Deny命令中,可以使用域名(從后向前匹配)、IP(從前向后匹配),all(代表所有 主機)來標識Internet上的計算機。這里是一個例子:
這個例子是一個專有網絡的例子,它采用的封閉式策略,以保証服務器的安全性。對于對整個 Internet開放的公共Web服務器,那么采取的策略應該與之相反。 未完,待續。。。 |
||||
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(86):對IP地址和域名的控制 | |||||
Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved
版權所有 四通利方 新浪網