我在网关机器上运行着 squid,并且尝试将它与 Active Directory 集成以进行身份验证。
我能够使用 ldap_auth 并将其置于 squid.conf 中进行身份验证。
/usr/lib/squid/ldap_auth -b OU=my,DC=company,DC=com -h ldapserver -f sAMAccountName=%s -D “CN=myadmin,OU=Unrestricted Users,OU=my,DC=company,DC=com” -w mypwd
然而,我担心 squid.conf 中存在明文的管理员密码。
有什么方法可以避免这种情况吗?
Squid 在 Debian 机器上运行。
答案1
请使用-W文件选项,而不是-w选项。这将允许您指定密码所在的文件。如果您按照示例运行 squid 并执行 ps -ax,您将在进程查看器中看到 -w 密码。任何用户都可以看到密码。
使用正确的权限保护文件,例如 400,并将所有者更改为 squid 进程用户。
其次,您只需要一个可以查询 Active Directory 的用户,该用户不应具有管理员权限。
答案2
您可以将chmod
squid 配置文件设置为 600 左右。因此,只有所有者用户(例如proxy
用户)才能读取和写入它。但是,您必须确保以proxy
用户身份运行 squid 进程才能读取配置文件。这样,只有系统管理员root
才能读取您的 squid 配置文件。