Apache Web服务器安全配置全攻略
2008-09-11 00:00:00 来源:WEB开发网 AuthName “restricted stuff”
Authtype Basic
AuthUserFile /usr/local/etc/httpd/users
Require valid-user
其中,AuthName指出了保护域的域名(Realm Name)。valid-user参数意味着user文件中的所有用户都是可用的。一旦用户输入了一个有效的用户/口令时,同一个域内的其他资源都可以利用同样的用户/口令来进行访问,同样可以使两个不同的区域共用同样的用户/口令。
3、告诉服务器哪些用户拥有资源的访问权限
如果想将一资源的访问权限授予一组客户,可以将他们的名字都列在Require之后。最好的办法是利用组(group)文件。组的操作和标准的UNIX的组的概念类似,任一个用户可以属于一个和数个组。这样就可以在配置文件中利用Require对组赋予某些权限。如:
Require group staff
Require group staff admin
Require user adminuser
指定了一个组、几个组或一个用户的访问权限。
需要指出的是,当需要建立大批用户帐号时,那么Apache服务器利用用户文件数据库将会极大地降低效率。这种情况下,最好采用数据库格式的帐号文件,譬如 DBM数据库格式的文件。还可以根据需要利用db格式(mod_auth_db)的数据文件,或者直接利用数据库,如:mSQL(mod_auth_msql)或DBI兼容的数据库(mod_auth_dbi)。
在Apache中使用DBM用户认证
DBM 文件是一种简单而标准的用于加快读取效率的保存信息的方法。文件中存放的每一个记录由两个部分组成部分:键和值。由于DBM的格式,使得与键相关的信息非常有效。在Web用户认证中,这里的键将是用户名,而与该键相关的值将是该用户经过加密的口令信息。从DBM文件中查找用户名和口令,要比从一个纯文本文件中查找有效得多。对于有很多用户的站点,这种方法将大大提高用户认证的效率。
(1) 在Apache服务器中增加DBM模块
在默认的条件下,Apache不使用DBM文件来完成用户认证,因此编译时一定要加入可选的DBM认证模块。重新配置Apache服务器文件,去掉其中的注释行
#Module dbm_auth_module mod_auth_dbm.o
前的“#”,并重新编译。但是,在编译之前,需要指出Apache DBM函数的位置。
(2) 创建DBM用户文件(假设文件名为users)
Apache提供了一个“dbmmanage”的程序,用于创建和管理DBM文件。其中:
Dbmmanage /usr/local/etc/httpd/usersdbm 创建DBM文件
Dbmmanage /usr/local/etc/httpd/users adduser martin hamster 新增用户
Dbmmanage /usr/local/etc/httpd/usersdbm delete martin 删除用户
Dbmmanage /usr/local/etc/httpd/usersdbm view 显示DBM中所有用户
有了DBM数据库文件,还要替换目录访问控制,即将Apache配置文件(access.conf)中的AuthUserFile部分替换成:AuthUserFile /usr/local/etc/usersdbm 告诉Apache现在的用户文件是DBM的格式。
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››apache配置文件httpd.comf部分参数说明
- ››web安全之信息刺探防范1
- ››webqq 最新加密算法
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››webdriver 数据库验证方法
- ››apache+tomcat负载均衡_项目实例
- ››apache mysql php 源码编译使用
- ››WebSphere Application Server 7.0 XML Feature P...
- ››Web2.0网络时代基于社会影响力的声望值
- ››Web服务器搭建:配置Linux+Apache+Mysql+PHP(或Pe...
更多精彩
赞助商链接