用于帮助修复和迁移 Puppet 部署的 Puppet 模块(CVE-2011-3872)
该模块将帮助您永久修复 CVE-2011-3872 AltNames 漏洞。
请参阅详细的使用指南,分别位于:
certdnsnames 设置曾经被开启过,那么您的站点存在遭受 CVE-2011-3872 AltNames 漏洞攻击的风险。如果您在 Puppet Master 上使用过 certdnsnames,则您可能容易受到攻击。所有 Puppet Enterprise 用户在某些时候都使用过 certdnsnames。
要快速测试您是否容易受到攻击,您可以使用该模块附带的 scan_certs 脚本。(对于 Puppet Enterprise,使用 bin/ 中的副本;对于开源 Puppet,使用 bin/webrick 中的副本。)
# bin/scan_certs
Status as of: 2011-10-23 19:42:26
Total Certificates Found: 7 *
Potentially Vulnerable: 7 (100.0%)
...
该脚本并非万无一失,因为它依赖于 Puppet CA 的证书缓存。如果该缓存曾被删除或修改,脚本可能会返回假阴性。您也可以通过运行以下命令检查任意代理节点上的本地证书:
openssl x509 -text -noout -in $(puppet agent --configprint hostcert)
...并查找 X509v3 Subject Alternative Name 字段。
当存在疑问时,我们建议修复此漏洞。
您需要满足两个要求来保护您的站点:
certdnsnames 设置,和/或将 Puppet 升级到不受影响的版本。有多种方法可以满足第二个要求。您可以:
要通过 Puppet 修复您的站点,请参阅本模块附带的 README-detailed.markdown 文件。
要通过 SSH 立即替换 CA,请参阅本模块附带的 README-ssh-only.markdown 文件。
有关此漏洞的更多信息,包括常见问题解答、更新后的 Puppet 版本详情以及安全热修复链接,请访问: http://puppetlabs.com/security/cve/cve-2011-3872。