如果只有一个用户,可以将 .htpasswd 放在受保护的目录中吗?

信息安全 阿帕奇
2021-08-20 04:59:48

我正在使用 mod_authn_file 保护的 Apache 服务器上设置一个目录。AuthUserFile的文档说不要将 .htpasswd 文件放在受保护的目录中:

确保 AuthUserFile 存储在 Web 服务器的文档树之外。不要将它放在它保护的目录中。否则,客户端可能能够下载 AuthUserFile。

我不清楚这到底是什么意思。是只有授权用户可以下载,还是有其他人也可以访问的风险?

我保护的目录将永远只有一个授权用户。他已经知道他的用户名和密码。是否有任何理由不将 .htpasswd 文件保存在 .htaccess 旁边的受保护目录中?

1个回答

默认情况下,Apache 假定拒绝访问 .htaccess 和 .htpasswd 文件。由于某些奇怪的原因,您可以在配置中禁用它(意外或其他)。如果您以某种方式禁用了此保护(或者由于某种原因,它一开始就没有设置),那么任何恶意攻击者都可以利用它来下载 .htpasswd 文件。

通常建议是将该文件放在您的 Web 目录之外,以防止它被提供给用户,同时仍然允许 Apache 访问它。