当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Apache Web服务器安全配置全攻略(3)

    栏目:Linux/apache问题 时间:2018-09-22 14:05



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

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

      martin:WrU808BHQai36

      jane:iABCQFQs40E8M

      art:FadHN3W753sSU

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

      2、配置服务器的保护域

      为了使Apache服务器能够利用用户文件中的用户名和口令信息,需要设置保护域(Realm)。一个域实际上是站点的一部分(如一个目录、文档等)或整个站点只供部分用户访问。在相关目录下的.htaccess文件或httpd.conf ( acces.conf ) 中的段中,由AuthName来指定被保护层的域。在.htaccess文件中对用户文件有效用户的授权访问及指定域保护有如下指定:

      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)。