Apache 伪外部证书:主证书不是CA
我实际上是想看看Puppet是否可以使用外部证书,因为我所在组织的信息安全部门已经推出了一个更强大的安全证书,我已经要求他们提供一套,看看它是否有效。我仍然打算让puppetmaster颁发证书,但这两个证书将通过与主证书颁发和自动签名的正常方式相同的行为,颁发给其他代理 该集合包括以下内容:Apache 伪外部证书:主证书不是CA,apache,ssl,puppet,Apache,Ssl,Puppet,我实际上是想看看Puppet是否可以使用外部证书,因为我所在组织的信息安全部门已经推出了一个更强大的安全证书,我已经要求他们提供一套,看看它是否有效。我仍然打算让puppetmaster颁发证书,但这两个证书将通过与主证书颁发和自动签名的正常方式相同的行为,颁发给其他代理 该集合包括以下内容: ABCROOTCA2015.pem–ABC根CA 2015证书 ABCSERVERCA2015.pem–ABC服务器CA 2015证书 puppet2-64.abc.local.p12(服务器) -glp
M错误
主机不是CA
是由于傀儡主机上的证书颁发机构功能被禁用而导致的,您通过在[Master]
下的Puppet.conf中指定CA=false来显式执行此操作
使用外部CA在本文档中有很好的介绍。但是,它包含以下警告,这与您的要求不符,“我仍然打算让puppetmaster颁发证书,但这两个证书将通过与主证书颁发和自动签名的正常方式相同的行为发送给其他代理。”
这些配置要么全有要么全无,而不是混搭。
使用外部CA时,必须启用内置的Puppet CA服务
已禁用,无法用于颁发SSL证书
此外,Puppet无法在中自动分发证书
这些配置-您必须拥有自己的完整系统,以便
颁发和分发证书
简单地说,当将外部CA与Puppet一起使用时,您负责签名和分发证书
(虽然您可以尝试删除ca=false,但很可能会遇到问题,因为它是不受支持的配置。)
如果在代理系统上放置签名代理证书,替换默认路径或另外指定主机*
,则代理不应尝试使用Puppet master的(禁用的)CA功能
<VirtualHost *:8140>
SSLEngine on
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
SSLCertificateFile /var/lib/puppet/ssl/certs/mimosserverca2015.pem
SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/mimosserverca2015.pem
#SSLCertificateChainFile /var/lib/puppet/ssl/certs/mimosrootca2015.pem
SSLCACertificateFile /var/lib/puppet/ssl/certs/mimosrootca2015.pem
# If Apache complains about invalid signatures on the CRL, you can try disabling
# CRL checking by commenting the next line, but this is not recommended.
SSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pem
SSLVerifyClient optional
SSLVerifyDepth 1
# The `ExportCertData` option is needed for agent certificate expiration warnings
SSLOptions +StdEnvVars +ExportCertData
# This header needs to be set if using a loadbalancer or proxy
RequestHeader unset X-Forwarded-For
RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e
DocumentRoot /usr/share/puppet/rack/puppetmasterd/public
#RackBaseURI /
<Directory /usr/share/puppet/rack/puppetmasterd>
Options None
AllowOverride None
# Apply the right behavior depending on Apache version.
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/puppetmaster_ssl_error.log
CustomLog /var/log/apache2/puppetmaster_ssl_access.log combined
</VirtualHost>
[main]
ca_server = puppet2-64.mimos.local
[master]
ca = false
certname = mimosserverca2015