blog.ayolo.org

Aller au contenu | Aller au menu | Aller à la recherche

Création de cerificat signé par cacert

Introduction

Que ce soit avec apache, postfix, dovecot ou encore proftpd, il est possible de proposer une connexion sécurisée. La majorité des serveurs personnels où d'association ont recours à des certificats auto signés pour ces connexions sécurisées en raison du fort coup de mise en place de certificats signés par une autorité de certification reconnue. Ici nous allons voir comment mettre en place des certificats signés gratuitement par CAcert. Si vous souhaitez en savoir plus sur ce service, rendez vous à cette adresse.

Création d'un certificat signé par CAcert

  1. mkdir /etc/ssl/domain
  2. cd /etc/ssl/domain

Création de la clé privée :

  1. # clé sans mot de passe de 4096-bit
  2. openssl genrsa -out privkey.pem 4096
  1. # clé ou mot de passe de 4096-bit
  2. openssl genrsa -des3 -out privkey.pem 4096

Attention, si vous choisissez cette seconde méthode, il sera nécessaire de saisir le mot de passe au démarrage de chacun des services l'utilisant.

Création de la "requête" de signature du certificat :

  1. openssl req -new -key privkey.pem -out domain.csr

à la question on "CommonName", indiquez le nom de domaine !

Afficher la demande de signature :

  1. cat domain.csr

Créez vous un compte sur le site de CAcert, validez le, connectez vous et rendez vous dans la section "Certificat de serveur > Nouveau". copier le contenu du fichier cert.csr et validez.

Une fois la validation terminée, vous obtenez un certificat signé. Copiez le dans comain.crt et enregistrez.

Mise en place du certificat

> Apache2

Pour apache vous pouvez faire comme ceci :

  1. NameVirtualHost domain:443
  2. <VirtualHost domain:443>
  3. ServerAdmin webmaster@domain
  4. ServerName domain.ext
  5. SSLEngine on
  6. SSLCertificateFile /etc/ssl/domain/domain.crt
  7. SSLCertificateKeyFile /etc/ssl/domain/privkey.pem
  8. SSLOptions +OptRenegotiate
  9. #SSLRequireSSL
  10.  
  11. DocumentRoot /var/www/
  12. <Directory /var/www/>
  13. Options SymLinksIfOwnerMatch
  14. AllowOverride All
  15. Order allow,deny
  16. allow from all
  17. </Directory>
  18. ErrorLog /var/log/apache2/ssl.error.log
  19. CustomLog /var/log/apache2/ssl.access.log combined
  20. ServerSignature Off
  21. </VirtualHost>

> Postfix

  1. smtpd_tls_cert_file=/etc/ssl/domain/domain.crt
  2. smtpd_tls_key_file=/etc/ssl/domain/privkey.pem

> dovecot

  1. ssl_cert_file = /etc/ssl/domain/domain.crt
  2. ssl_key_file = /etc/ssl/domain/privkey.pem

> proftpd

  1. TLSEngine on
  2. TLSLog /var/log/proftpd/tls.log
  3. TLSProtocol SSLv23
  4. TLSRSACertificateFile /etc/ssl/domain/domain.crt
  5. TLSRSACertificateKeyFile /etc/ssl/domain/privkey.pem

Conclusion

Maintenant fini les certificats auto signés !

Qualité de service

Cela fait maintenant plus de 8 mois que j'utilise le service host-tracker.com pour suivre la disponibilité de mon serveur qui est hébergé chez moi, derrière une simple freebox. Après cette période d'observation je voulais voir où ça en était et à vrai dire je suis assez surpris des résultats :

Les détails sont ici.