Я действительно пытаюсь выяснить, может ли Puppet использовать внешние сертификаты, потому что отдел информационной безопасности моей организации вышел с более сильным сертификатом безопасности, который я попросил у них набор, чтобы узнать, он работает или нет. Я все еще намерен иметь сертификаты выпускников марионеток, но два сертификата другим агентам ведут себя так же, как обычный способ мастера, выдающего сертификаты, и автозаписывают их.Кукольный внешний сертификат: Мастер не CA
Набор содержит нечто вроде следующего:
- ABCROOTCA2015.pem - ABC Root CA 2015 сертификат
- ABCSERVERCA2015.pem - ABC сервер CA 2015 сертификат
- puppet2-64.abc.local. p12 (сервер) - закрытый ключ и сертификат GLPI-49.abc.local - пароль: ###
- GLPI-49.abc.local.p12 (агент) - закрытый ключ и сертификат 10.5.137.175 - пароль: ###
Поскольку внешние сертификаты требуют, чтобы Apache Passenger работал над этим, я установил пассажира Apache. Эти два сертификата выше были помещены в их соответствующие папки (/ var/lib/puppet/ssl/certs и с другой копией сертификата сервера, помещенного в папку/private_keys.
Учитывая два файла сертификата, приведенных выше, это мой конфигурационный файл, Apache конец, хранится в "/ и т.д./apache2/сайты с поддержкой/PuppetMaster" (это для Ubuntu)
<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>
#Misc LoadModule passenger_module /var/lib/gems/1.8/gems/ пассажир-4.0.53/xxx.so PassengerRoot /var/lib/gems/1.8/gems/passenger-4.0.53 PassengerRuby /usr/bin/ruby1.8
ErrorLog /var/log/apache2/puppetmaster_ssl_error.log
CustomLog /var/log/apache2/puppetmaster_ssl_access.log combined
</VirtualHost>
Для puppet.conf у кукловода. Я только добавил следующие дополнительные строки:
[main]
ca_server = puppet2-64.mimos.local
[master]
ca = false
certname = mimosserverca2015
Для одного из агентов, которые должны быть проверены на это, я добавил ca_server вещь в файле конфигурации кукольного агента. Служба кукольного мастера Webrick была отключена, так как служба apache2 была включена.
Когда агент выполнен, отображается ошибка 400 с подмассовым сообщением Master не является CA.
Если я уже определил хозяин и локальный корневой сертификат внутри файла кукольного маска в папке apache2, не должен ли я получать ту же функцию, что и обычно?
Или из-за того, что кукольный мастер не возьмет собственный файл сертификата как свой собственный, так что мы должны переименовать этот файл?
До сих пор я проверял, но не так много материала для проверки, если только есть шаги, которые могут не соответствовать моей настройке ЦС.
Может ли кто-нибудь помочь просветить эту проблему? Большое спасибо!
M