四、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
第一域是用户名,第二个域是用户密码。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器