URL: https://linuxfr.org/forums/linux-general/posts/resolu-puppet-apache2-passenger-ssl Title: [résolu] Puppet - Apache2 - Passenger - SSL Authors: Thomas Bétrancourt Date: 2012年04月23日T11:04:23+02:00 Tags: passenger, centos, selinux, puppet et ssl Score: -1 Bonjour, je pose ma question ici, car je ne sais plus vers qui/quoi me tourner... Je suis en phase de test pour la mise en place d'un serveur Puppet (http://puppetlabs.com/). Mon parc de test n'est composé que de CentOS 6.2 pour le moment. Sur chacune de ces machines, SELinux est pour le moment désactivé. Le serveur Puppet est un serveur physique, avec la dernière version stable en date : 2.7.13. L'utilisation du serveur Webrick étant déconseillée, l'application est publiée grâce à Apache2 + mod_ssl + passenger. L'agent puppet installé sur le serveur arrive bien à se synchroniser. J'ai un deuxième client qui fait office d'hyperviseur (libivrt + qemu/kvm). Lui aussi arrive parfaitement à se synchroniser avec le serveur Puppet. Le serveur est configuré pour accepter automatiquement les demandes de certificats. Sur mon hyperviseur, j'ai créé une machine virtuelle avec le dernier client puppet, à l'image des deux autres serveurs (même kickstart pour les trois). Depuis la machine virtuelle, je résoud bien le nom 'puppet' qui pointe vers la bonne machine. Lorsque l'agent se lance, un certificat est généré puis signé par le serveur. Mais lorsque le client tente de récupérer sa configuration, alors j'obtiens l'erreur SSL suivante : [root@machine-1 ~]# puppet agent --test err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server session ticket A: tlsv1 alert protocol version warning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run err: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server session ticket A: tlsv1 alert protocol version Dans les logs sur le serveur, j'ai le résultat suivant : [Mon Apr 23 10:57:16 2012] [info] [client 192.168.1.51] SSL library error 1 in handshake (server medion.chatillon.betrancourt.net:8140) [Mon Apr 23 10:57:16 2012] [info] SSL Library Error: 336130315 error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number [Mon Apr 23 10:57:16 2012] [info] [client 192.168.1.51] Connection closed to child 3 with abortive shutdown (server medion.chatillon.betrancourt.net:8140) (medion étant mon serveur puppet) Concernant l'architecture, ma machine virtuelle accède au réseau par du NAT géré manuellement par l'hyperviseur. En gros, j'ai un bridge sur l'hyperviseur, qui n'est relié a aucune carte réseau physique. Des règles iptables se chargent alors de transférer le trafic dans un sens ou dans l'autre. Petit détail qui a peut-être son importance, lorsque je me connecte depuis un tout autre poste directement en SSH à la machine virtuelle, j'obtiens régulièrement l'erreur suivante : Bad packet length XXXXX. Disconnecting: Packet corrupt Cette erreur est systématique lorsque je lance vim par exemple. Peut-être que du coup ce phénomène se reproduit pendant le handshake SSL, ce qui invalide la connexion... En me documentant sur cette erreur, je tombe sur de vieux tickets avec des anomalies résolues, mais rien de bien concret pour mon cas... J'ai tout de même tenté une connexion manuelle avec le client SSL, et voici le résultat que j'obtiens : [root@machine-1 ~]# openssl s_client -host puppet -port 8140 -cert /var/lib/puppet/ssl/certs/machine-1.test.betrancourt.net.pem -key /var/lib/puppet/ssl/private_keys/machine-1.test.betrancourt.net.pem -CAfile /var/lib/puppet/ssl/certs/ca.pem CONNECTED(00000003) depth=1 CN = Puppet CA: medion.chatillon.betrancourt.net verify return:1 depth=0 CN = medion.chatillon.betrancourt.net verify return:1 139955751876424:error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version:s3_pkt.c:1193:SSL alert number 70 139955751876424:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:184: --- Certificate chain 0 s:/CN=medion.chatillon.betrancourt.net i:/CN=Puppet CA: medion.chatillon.betrancourt.net 1 s:/CN=Puppet CA: medion.chatillon.betrancourt.net i:/CN=Puppet CA: medion.chatillon.betrancourt.net --- Server certificate -----BEGIN CERTIFICATE----- MIIFzzCCA7egAwIBAgIBAjANBgkqhkiG9w0BAQUFADA2MTQwMgYDVQQDDCtQdXBw ZXQgQ0E6IG1lZGlvbi5jaGF0aWxsb24uYmV0cmFuY291cnQubmV0MB4XDTEyMDQw NTIxMDM1M1oXDTE3MDQwNTIxMDM1M1owKzEpMCcGA1UEAwwgbWVkaW9uLmNoYXRp bGxvbi5iZXRyYW5jb3VydC5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK AoICAQDVMn0tmKnx+PaRYHfljncl5S5DveLHujumOFqW+eTQt3ZfkDpb9RiDfwhU +7jEjeMqBxZkhCKzhE61HG8waxFquoQxc1JYhdWOW2tNXNdmjyDCw04ShQjYoNzI VLzRLOCgqT2xNrux7gvyVGANhgNZGjc6d4sRJXWOCLOJ499CHgrHT6k1xLMXArEL IF+jAb4ewF0egpxWYY17KO/YIvB3jA44tiQXituZYHUEqB/JRWuItcCW9JwSU6FP L760HMfaKvIRBb1tK9oZAroF/1woY4p11pubSka2qGPR8TvMrhUwG0z8iFNGM/tG JXgqyAXgvulHLBQVzGneACgtoUiWsXdse8pejmywDG34C8wrCeYdsPrIjpygYGHG M9Bbx38y65r0s3QNk9igyYwVkZOMQ5fQ8Ky31GTVgOt6lRVpezsxC2PIFo3NG0w+ 4Cyd+2kv09mjdccwa1870gfjzsOLR992/xQ6UUPLOV96oa/e5l6qW+vK6bBBrlfe cjSJ+nOJiXtKJFdgNiHSLtmRVqChkNhGkCzPdpZ8BSWDgmPcYZJdOh4I0h50UQmh iRJd0AGdMaUDmYiD3I001bn5T7x1u7zB67B5aAZWK8ZrLSSXGGX6qXGFU1QMKYn3 UPZmOefXYdSl1kTNgQwjcit0F5CGTwCKzjWJWLsFxY60yi6zWQIDAQABo4HyMIHv MCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUUyL7 PST1PBhfrA52ZuRUXj4n5bMwNwYJYIZIAYb4QgENBCoWKFB1cHBldCBSdWJ5L09w ZW5TU0wgSW50ZXJuYWwgQ2VydGlmaWNhdGUwDgYDVR0PAQH/BAQDAgWgMFUGA1Ud EQROMEyCIG1lZGlvbi5jaGF0aWxsb24uYmV0cmFuY291cnQubmV0ggZwdXBwZXSC IHB1cHBldC5jaGF0aWxsb24uYmV0cmFuY291cnQubmV0MAwGA1UdEwEB/wQCMAAw DQYJKoZIhvcNAQEFBQADggIBAJkm4iLVrhBEJoYyt7n5QYj6NRgnJHAsvhN1slkD geg9Ivfs3OykQSVvD3En5GeNdf1wkSPrJTJ4s3zpjn5COBt1cJautXnjz2Po/UC2 TS0ePfBSmwOkZ2RboSS2mwQDrJrcVeoTzy108PqpGQTWaDjHK+D/EkCtSSn8t+is ZkPDvFh8mCiEIF9at9QkvtHE37y2wec3isUV0kHphrYqFcakuBGWhld+dlCT1QN+ 38f1MlJYYNZoX6R84kgmsefNJV5JJx1ST2xsO+DjvgWZLZt8cLK7A1kSzH33nzt+ PAItuMIJGik57SALWtoEeGT7D9pjR0ZDv3S3cIeWK1Xx4GPqVPSPr6ei4CXiRc21 NR9+7I064EGL1Rqn+CrxfKOHmCzDnN+IUJJ8Kz2FtTUln3GNrv9pX0Qbsue+eS2u lqNXxP62kmtyiglj6HpWxB1c1x72pZWPYdAj1tqzNOzHuWfh/5+u20avbMBOkr/d tikBlZ+G2xCpnpcRyQsru9Cas0DbzulPXRkMflLx8ZY5fS+OUVMxXhY+hojz9UhU ie4sXjXZnnm6E4nkfp8tOelLbo14U/lsLchfjwvQ9eu5DN3Xt0ravrDhl65/Wpeq pVwq8yv95Ut+BHl3jCG5dNfBZJOhgvM1q3Qpp7a2yWa5bcI+WhLmND9IKmEzejC2 ngam -----END CERTIFICATE----- subject=/CN=medion.chatillon.betrancourt.net issuer=/CN=Puppet CA: medion.chatillon.betrancourt.net --- Acceptable client certificate CA names /CN=Puppet CA: medion.chatillon.betrancourt.net --- SSL handshake has read 3820 bytes and written 3523 bytes --- New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA Server public key is 4096 bit Secure Renegotiation IS supported Compression: zlib compression Expansion: NONE SSL-Session: Protocol : TLSv1 Cipher : DHE-RSA-AES256-SHA Session-ID: Session-ID-ctx: Master-Key: 68A123432337BB7681FF3BFD044BFADF910991C18E673EE250880681704838A01B7C497D85239E313707E35ACB382952 Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None Compression: 1 (zlib compression) Start Time: 1335164592 Timeout : 300 (sec) Verify return code: 0 (ok) --- Cela fait un gros post, mais au moins, je pense qu'il contient le maximum d'informations nécessaires.