首页 > 网站 > Apache > 正文

Apache服务器的安全性及实现(3)

2024-08-27 18:25:58
字体:
来源:转载
供稿:网友
四、Apache Server基于主机的访问控制

  Apache Server默认情况下的安全配置是拒绝一切访问。假定Apache Server内容存放在/usr/local/apache/share 目录下,下面的指令将实现这种设置:

  <Directory  /usr/local/apache/share>
  Deny from all
  AllowOverride None
  </Directory>

  则禁止在任一目录下改变认证和访问控制方法。

  同样,可以用特有的命令Deny、Allow指定某些用户可以访问,哪些用户不能访问,提供一定的灵活性。当Deny、Allow一起用时,用命令Order决定Deny和Allow合用的顺序。

  1、拒绝某类地址的用户对服务器的访问权(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

  2、允许某类地址的用户对服务器的访问权(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指令后可以输入多个变量。

  3、实例:

  Order Allow, Deny
  Allow from all
  Deny from www.***.com

  则,想让所有的人访问Apache服务器,但不希望来自www.***.com的任何访问。

  Order Deny, Allow
  Deny from all
  Allow from test.cnn.com

  则,不想让所有人访问,但希望给test.cnn.com网站的来访。

  有关访问控制的高级设置请阅读UNIX系统管理书籍。

  五、Apache Sever的用户认证与授权

  概括的讲,用户认证就是验证用户的身份的真实性,如用户帐号是否在数据库中,及用户帐号所对应的密码是否正确;用户授权表示检验有效用户是否被许可访问特定的资源。在Apache中,几乎所有的安全模块实际上兼顾这两个方面。从安全的角度来看,用户的认证和授权相当于选择性访问控制。

  建立用户的认证授权需要三个步骤:

  (1)建立用户库

  用户名和口令列表需要存在于文件(mod_auth模块)或数据库(mod_auth_dbm模块)中。基于安全的原因,该文件不能存放在文挡的根目录下。如,存放在/usr/local/etc/httpd下的users文件,其格式与UNIX口令文件格式相似,但口令是以加密的形式存放的。应用程序htpasswd可以用来添加或更改程序:

  htpasswd c /usr/local/etc/httpd/users martin

  -c表明添加新用户,martin为新添加的用户名,在程序执行过程中,两次输入口令回答。用户名和口令添加到users文件中。产生的用户文件有如下的形式:

  martin:WrU808BHQai36
  jane:iABCQFQs40E8M
  art:FadHN3W753sSU

  第一域是用户名,第二个域是用户密码。
  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表