新浪網

  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(86):對IP地址和域名的控制
 


FreeBSD連載(86):對IP地址和域名的控制

http://www.sina.com.cn 2000年1月27日 14:59 王波

服務器的安全控制

  Apache提供的各種特性非常丰富,主要是由于其采用的是模塊化的結構,這樣就很容易進行分布式開發。 Internet上的眾多開發者為Apache提供了各種各樣的能力,使其能具備其他的Web服務器不能與之相比的能力。 在服務器所具備的眾多特性中,安全控制的特性最為有用。

  • 對IP地址和域名的控制

  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上的計算機。這里是一個例子:

order deny, allow
deny from all
allow from 192.168.1.
allow from example.org.cn
allow from 127.

  這個例子是一個專有網絡的例子,它采用的封閉式策略,以保証服務器的安全性。對于對整個 Internet開放的公共Web服務器,那么采取的策略應該與之相反。

未完,待續。。。  



 
  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(86):對IP地址和域名的控制


網站簡介 | 網站導航 | 廣告服務 | 中文閱讀 | 聯系方式 | 招聘信息 | 幫助信息

Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved

版權所有  四通利方 新浪網