FreeBSD连载(86):对IP地址和域名的控制

2009-05-13 12:27:18来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


服务器的安全控制
  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协议的请求方法,如使用 限制HTTP协议中的GET方法,限制http协议中的POST方法,使用标识这个控制段的结束。对于一般的情况,可以对大部分客户打开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服务器,那么采取的策略应该与之相反。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_516564.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD连载(85):配置Apache服务器(2)

下一篇:FreeBSD连载(87):基于用户的访问控制