Lighttpd 安全摘要认证(mod_auth)
此方法通过网络以明文形式传输用户名和密码(base64编码),如果不与客户端和服务器之间的加密通道结合使用,可能会导致安全问题。
摘要方法仅通过网络传输散列值,其在非安全网络中执行大量工作以强化身份验证过程。
配置 Lighttpd 安全摘要认证总共需要三个步骤:
=> 使用 htdigest(Apache 程序)设置用户名和密码
=> 配置 lighttpd 核心指令
=> 将限制应用于选定目录,即设置受密码保护的目录
步骤#1:使用 htdigest(Apache 程序)设置用户名和密码
命令 htdigest 用于创建和更新用于存储用户名、领域和密码的平面文件,以便对 HTTP 用户进行摘要式身份验证。一般语法如下:
htdigest -c /path/to/password/file 'Realm' 用户名
例如添加一个名为tom的用户:
# htdigest -c /etc/lighttpd/.passwd 'Authorized users only' tom
在哪里,
- -c:创建 /etc/lighttpd/.passwd
- /etc/lighttpd/.passwd:密码文件名。它包含用户名、领域和密码。如果指定了 -c,则如果此文件不存在则创建它,如果存在则删除并重新创建它。
- ‘仅限授权用户’:用户名所属的领域名称
- tom:在 /etc/lighttpd/.passwd 中创建或更新的用户名 (tom)。如果此文件中不存在用户名,则添加一个条目。如果存在,则更改密码。
步骤 #2:配置 lighttpd 核心指令
打开 /etc/lighttpd.conf 文件。# vi /etc/lighttpd.conf
确保 mod_auth 已加载:
server.modules += ( "mod_auth" )
现在,添加以下 3 行:
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.passwd"
auth.debug = 2
步骤 # 3:对选定目录应用限制,即设置密码保护目录
假设您想要保护名为 /docs (http://domain.com/docs) 的目录。附加以下指令 (/etc/lighttpd.conf 文件):
保存并关闭文件。
auth.require = ( "/docs/" =>
(
"method" => "digest",
"realm" => "Authorized users only",
"require" => "valid-user"
)
)
重新启动 lighttpd:
# /etc/init.d/lighttpd restart
您总是可以在错误日志文件 - /var/log/lighttpd/error.log 中找到更多调试信息:
# tail -f /var/log/lighttpd/error.log
将 Web 浏览器指向 http://domain.com/docs/ 或 http://localhost/docs/ 或 http://ip-address/docs。系统将提示您输入用户名(例如 tom)和密码(您的密码)。
为了提高安全性,建议您使用SSL 配置。