灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2923回复:0

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

楼主#
更多 发布于:2012-09-04 18:27

Apache Server默认情况下的安全配置是拒绝一切访问。假定Apache Server内容存放在/usr/local/apache/share 目录下,下面的指令将实现这种设置:
  
  Deny from all
  AllowOverride None
  
  则禁止在任一目录下改变认证和访问控制方法。
  同样,可以用特有的命令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
  第一域是用户名,第二个域是用户密码。


喜欢0 评分0
游客

返回顶部