首先,我想对你们说一声“谢谢!”感谢你们通过阅读本网站的文章给予我的所有支持 - 这对于身兼系统管理员的 Web 开发人员来说是一大福利...
我们目前正在努力使我们的 Web 服务器符合 PCI 标准,并一直在与 TrustWave 进行沟通CVE-2015-8325.我们使用 OpenSSH 的反向移植版本。
CentOS release 6.8 (Final)
3.2.69-82.art.x86_64
openssh-5.3p1-118.1.el6_8.x86_64
他们要求的最后一件事是:“我们需要确认该系统上的 pam_env 模块中的 user_readenv 已关闭。”
我正在寻找一种从 shell 中确认这一点的方法,但却找不到 - 根据在线搜索,该设置似乎默认是禁用的,但我找不到确认它的方法。
如果我运行:
sshd -T
从 shell 来看,其输出包含以下两行:
usepam no
uselogin no
我试图确定这是否是我可以用来获取他们所要求的唯一技术,或者是否存在某个配置文件明确指出“user_readenv = 0”或类似内容。
感谢您的时间,如果您需要更多信息请告诉我。
=== 更新 ===
我向 TrustWave 提供了上述信息,他们已批准了该争议。我仍然想知道是否有其他方法可以确认 pam_env 模块的 user_readenv 是否已关闭 - 但如果没有任何结果 - 我将仅将上述内容标记为答案 - 谢谢。
答案1
如果您使用 PAM,并向 Trustwave 提交以下内容以进行异议CVE-2015-8325:
sshd -T
usepam yes
uselogin no
然后,Trustwave 需要证明 PAM 配置为不读取用户主目录中的 .pam_environment 文件:
grep READENV /etc/security/pam_env.conf
READENV DEFAULT=0
USER_READENV DEFAULT=0
添加这些行以便他们接受您的争议。
答案2
从终端运行 sshd -T(扩展测试模式)应该会输出 SSH 当前配置的许多不同配置 - 就我而言,我能够找到“usepam no”和“uselogin no”,这些信息足以让 TrustWave 接受我们的争议。我不确定是否有更好的方法来证明这一点,但是,这似乎解决了我的问题。