网络安全 频道

冰盾7.0采用新技术抗DDOS攻击

启用认证

    先介绍用密码来保护服务器上的目录。 

    首先需要建立一个密码文件。这个文件可以放在不能被网络访问的位置,以避免被下载, 例如,如果,/usr/local/apache/htdocs以外的空间不能被网络访问, 那么可以考虑把密码文件放在/usr/local/apache/passwd目录中。

    Apache在其安装目录的bin子目录中提供了叫htpasswd的工具,以建立密码文件,可以这样使用:
htpasswd -c /usr/local/apache/passwd/passwords rbowen

 htpasswd会要你输入密码,并要求重新输入以确认:

# htpasswd -c /usr/local/apache/passwd/passwords rbowen New password: mypassword Re-type new password: mypassword Adding password for user rbowen

    如果htpasswd不在搜索路径中,则必须使用完整路径, 如,/usr/local/apache/bin/htpasswd

    然后,需要修改httpd.conf或.htaccess文件, 以指示服务器允许哪些用户访问并向用户索取密码。 例如,要保护 /usr/local/apache/htdocs/secret 目录, 则可以将下列指令写入 /usr/local/apache/htdocs/secret/.htaccess, 或者httpd.conf的 <Directory /usr/local/apache/apache/htdocs/secret> 段。

AuthType Basic AuthName "Restricted Files" AuthUserFile /usr/local/apache/passwd/passwords Require user rbowen

    其中,AuthType指令选择了对用户实施认证的方法, 最常用的是由mod_auth提供的Basic。 很重要的必须认识到的一点是,Basic认证方法并不加密来自用户浏览器的密码, 因此,不应该用于高度敏感的数据。Apache在最近的版本中还有另一种更安全的认证方法, 即由mod_auth_digest提供的AuthType Digest。

    AuthName指令设置了使用认证的领域, 它起两个作用,首先,此领域说明会出现在显示给用户的密码提问对话框中, 其次,也帮助客户端程序确定应该输入哪个密码。

    所以,如果一个用户已经在"Restricted Files"领域通过了认证, 则客户端就可以尝试使用"Restricted Files"的密码来访问同一个服务器的其他任何领域, 从而使多个受限领域共享密码,以避免用户重复输入。 当然,考虑到安全,如果服务器变了,客户端始终会要求重新输入密码。

    AuthUserFile指令设置了密码文件, 也就是刚才我们已经用htpasswd建立的。 如果用户很多则认证速度会很慢,因为对每个请求都必须搜索这个纯文本文件, 对此,Apache还支持把用户信息存入快速数据库, mod_auth_dbm模块提供了指令AuthDBMUserFile, 并可以用dbmmanage程序建立和操作这些数据库。 Apache模块数据库中还提供了其他许多认证选项。

    最后,Require指令设置了允许访问的用户, 下一节将对Require指令作详细说明。

0
相关文章