Установите Ведущее устройство Марионетки неCA

Я хотел бы настроить дополнительное марионеточное ведущее устройство для действия как сервер неCA.

Я имею, установили, и успешно использую Пассажира. Рассматриваемые серверы все выполняют CentOS 6.6 и являются всеми в той же сети. Selinux был установлен на разрешающий. Тестовая среда состоит из трех серверов следующим образом:

1.  HOSTNAME=basxtststinfl01, DNS=puppet.xchanginghosting.com,basxtststinfl01.xchanginghosting.com (CA Master)
2.  HOSTNAME=basxtststinfl02, DNS=basxtststinfl02.xchanginghosting.com (non-CA Master)
3.  HOSTANME=basxtststinfl03, DNS=basxtststinfl03.xchanginghosting.com (Agent)

Я настроил свое второе марионеточное ведущее устройство (неCA) следующим образом:

[main]
   dns_alt_names = basxtststinfl02.xchanginghosting.com,basxtststinfl02
   ca_server = basxtststinfl01.xchanginghosting.com

[master]
   ca = false

Я удалил исходный сертификат на ведущем устройстве марионетки неCA и повторно создал другого после того, как dns_alt_names были добавлены, но до CA и ca_servers.

+ "basxtststinfl01.xchanginghosting.com" (SHA256) E6:5D:56:39:16:22:A0:FD:8A:C1:AF:83:EB:80:94:2D:74:CE:1F:75:D5:3A:F7:92:EF:36:1A:85:4C:EA:58:F2 (alt names: "DNS:basxtststinfl01", "DNS:basxtststinfl01.xchanginghosting.com", "DNS:puppet", "DNS:puppet.xchanginghosting.com")

Действительно ли это - корректный подход до сих пор?

Мой виртуальный файл хоста похож на это:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.59/buildout/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.59
PassengerDefaultRuby /usr/bin/ruby
PassengerMaxRequests 1000
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
PassengerStatThrottleRate 120

Listen 8140

<VirtualHost *:8140>
    SSLProxyEngine On
    ProxyPassMatch ^/([^/]+/certificate.*)$ https://basxtststinfl01.xchanginghosting.com:8140/$1

    SSLEngine on
    SSLProtocol             ALL -SSLv2 -SSLv3
    SSLCipherSuite          EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
    SSLHonorCipherOrder     on

    SSLCertificateFile      /var/lib/puppet/ssl/certs/basxtststinfl02.xchanginghosting.com.pem
    SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/basxtststinfl02.xchanginghosting.com.pem
    SSLVerifyClient optional
    SSLVerifyDepth  1
    SSLOptions +StdEnvVars +ExportCertData

    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
            Order allow,deny
            allow from all
    </Directory>

Примечание: Я удалил SSLCertificateChainFile, SSLCACertificateFile и SSLCARevocationFile, предполагающий, что я не делаю их в целях неCA.

Агент много раз использовался для других тестовых обстоятельств, таким образом, я удалил любые существующие сертификаты до попытки начального выполненного агента. Я затем пытаюсь запросить на сертификат через ведущее устройство неCA (basxtststinfl02).

# puppet agent --verbose --onetime --no-daemonize --server basxtststinfl02
Info: Creating a new SSL key for basxtststinfl03.xchanginghosting.com
Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for basxtststinfl03.xchanginghosting.com
Info: Certificate Request fingerprint (SHA256):  85:13:E4:3E:DE:54:24:44:22:07:7E:E9:51:96:CE:88:89:96:82:35:51:97:91:8C:C0:B9:24:42:50:FD:FE:F3
Info: Caching certificate for ca

Взгляды, хорошие до сих пор!

Я могу затем успешно подписать сертификат на ведущем устройстве CA (basxtststinfl01). Однако после того, как я подписал сертификат и повторяю марионеточную команду агента на агенте, я вижу следующую ошибку:

Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [unable to get local issuer certificate for /CN=basxtststinfl02.xchanginghosting.com]
Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve file metadata for puppet://basxtststinfl02/plugins: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [unable to get local issuer certificate for /CN=basxtststinfl02.xchanginghosting.com]

У меня нет абсолютно никакой подсказки относительно того, что эта ошибка говорит мне. Кто-либо еще был успешен с конфигурированием второго ведущего устройства для действия как неCA? Или делает вышеупомянутую ошибку, имеют любой смысл любому.

2
задан 13 February 2015 в 11:51
1 ответ

Думаю, вы представляете не тот сертификат ЦС. Он должен быть установлен в ca.pem мастера-кукловода CA.

Запустите второй мастер-агент против основного, после чего добавьте это в конфигурацию vhost мастера-кукловода:

SSLCertificateChainFile /var/lib/puppet/ssl/certs/ca.pem
SSLCACertificateFile    /var/lib/puppet/ssl/certs/ca.pem
SSLCARevocationFile     /var/lib/puppet/ssl/crl.pem
SSLCARevocationCheck    chain

Если я ошибаюсь, я проверил конфигурацию моего работающего вторичного мастера, вот что отличается от вашего:

SSLCertificateChainFile /var/lib/puppet/ssl/certs/ca.pem
SSLCACertificateFile    /var/lib/puppet/ssl/certs/ca.pem
SSLCARevocationFile     /var/lib/puppet/ssl/crl.pem
SSLCARevocationCheck    chain

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

ProxyPassMatch ^/([^/]+/certificate.*)$ https://ca.puppet.master:8140/$1

<Location ~ "/[^/]+/certificate">
    PassengerHighPerformance Off
</Location>

Это дает вам возможность попробовать что-нибудь еще, по крайней мере.

1
ответ дан 3 December 2019 в 12:48

Теги

Похожие вопросы