WEB开发网
开发学院服务器WEB服务器Apache Apache Web服务器安全配置全攻略 阅读

Apache Web服务器安全配置全攻略

 2008-09-11 00:00:00 来源:WEB开发网   
核心提示: AuthName “restricted stuff”Authtype BasicAuthUserFile /usr/local/etc/httpd/usersRequire valid-user其中,AuthName指出了保护域的域名(Realm Name),Apach

  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的格式。

上一页  1 2 3 4 5 

Tags:Apache Web 服务器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接