使用 PAM 进行身份验证时,PAM 会将远程主机暴露给模块。在代码方面,它使用 pam_get_item() 通过 PAM_RHOST 将其暴露。但是,如果可能,PAM 将尝试将远程主机的 IP 地址解析为名称。如果是这种情况,远程名称将传递给模块。有没有办法强制 PAM 不解析主机名,以便模块始终只获取身份验证用户的 IP 地址?
答案1
实际情况并非如此:使用 pam 的应用程序负责设置PAM_RHOST
使用pam_set_item
。因此,您需要配置所有使用 pam 进行身份验证的守护进程,使其不进行名称解析。例如,对于 openssh,您将使用UseDNS no
配置项。