Accéder au contenu principal

Utiliser plusieurs certificats SSL sur un seul serveur apache avec une seul adresse ip

Utiliser plusieurs certificats SSL sur un seul serveur apache avec une seul adresse ip

 

Le but de l’article du jour est d’utiliser plusieurs certificats SSL sur une même machine via le SNI (ce qui était impossible il y a quelques années de cela cf. wikipedia, le premier patch étant sorti en 2004, les premières implémentation sur les serveurs apache se sont fait sur la version 2.2.12 en Juillet 2009).



Depuis peu donc, on peut s’amuser à installer plusieurs certificats SSL, mais ça nécessite un tout petit peu de configuration (vraiment un tout petit peu en fait).
Les outils nécessaire :
  • Des certificats SSL (de préférences valide c’est gratuit chez startSSL)
  • Un serveur apache de version 2.2.12 ou supérieur
  • La librairie openssl 0.9.8j ou supérieur
La configuration niveau apache (il faut bien entendu avoir activer le mod ssl), et copier les fichiers crt et key que vous on fournit vos fournisseurs de certificats sur le serveur dans un dossier accessible à apache (chez moi /etc/apache2/cert/).
il faut modifier la config « /etc/apache2/ports.conf » et faire en sorte que le ifmodule du mod_ssl ressemble à ça :
  1. <IfModule mod_ssl.c>
  2.     NameVirtualHost *:443
  3.     Listen 443
  4. </IfModule>
Généralement, le NameVirtualHost n’est pas mis dans la configuration par défaut, il faut donc le rajouter.
Puis enfin créer le fichier de configuration s’occupant de vos certificats et de les servir suivant le nom de domaine demandé (chez moi blog.gaetan-grigis.eu et un-autre-sous-domaine.gaetan-grigis.eu).
  1. <VirtualHost *:443>
  2.    ServerName aitibourek.blogspot.com
  3.    DocumentRoot /var/www/blogaitibourek
  4.    SSLEngine on
  5.    SSLProtocol all -SSLv2
  6.    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
  7.    SSLCertificateFile /etc/apache2/cert/blog.crt
  8.    SSLCertificateKeyFile /etc/apache2/cert/blog.key
  9.    SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.ca.crt
  10.    SSLCACertificateFile /etc/apache2/cert/ca.crt
  11.    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
  12.    CustomLog /var/log/apache2/ssl_request.log \
  13.       "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
  14. </VirtualHost>
  15. <VirtualHost *:443>
  16.    ServerName un-autre-sous-domaine.aitibourek.fr
  17.    DocumentRoot /var/www/un-autre-sous-domaine
  18.    SSLEngine on
  19.    SSLProtocol all -SSLv2
  20.    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
  21.    SSLCertificateFile /etc/apache2/cert/un-autre-sous-domaine.crt
  22.    SSLCertificateKeyFile /etc/apache2/cert/un-autre-sous-domaine.key
  23.    SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.ca.crt
  24.    SSLCACertificateFile /etc/apache2/cert/ca.crt
  25.    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
  26.    CustomLog /var/log/apache2/ssl_request.log \
  27.       "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
  28. </VirtualHost>
Et voilà, si vous avez utilisé StartSSL, vous avez accès à deux sous-domaines différents avec des certificats valide différent sur une seule et même machine … elle est pas belle la vie ??

NB: On peut bien sûr en créer autant qu’on veut, c’est pas limité à deux sous-domaines. 

Commentaires

Posts les plus consultés de ce blog

Dossier de base sur un serveur Windows

Dossier de base Pour les utilisateurs de domaine Windows AD, il est possible de créer un dossier de base via l’activation du service dossier utilisateur. Ainsi, chaque utilisateur du domaine disposera d’un dossier personnel pour le stockage et la sauvegarde de ses fichiers sur le serveur de partage. Le dossier utilisateur permet de plus aux administrateurs de sauvegarder les fichiers de chacun des utilisateurs.

Le protocole ICMP | Echo Echo Response : Le ping | Le TTL

Le protocole ICMP Introduction Nous avons pu remarquer dans les chapitres précédents qu'IP était essentiellement accès sur les fonctions d'adressage et de routage. Il est configuré pour fonctionner comme si aucun problème ne pouvait survenir sur le réseau ( perte de datagrammes, congestion, problème de routage, etc .). Si un problème survient, sa solution est expéditive :  il ne route pas  ! Il a tout juste accepté de prendre en charge les problèmes de fragmentation ! Ce mode de fonctionnement n'est pas un problème en soi ( il suffit de regarder la notoriété et l'implantation d'IP ! ). Mais il est nécessaire de pouvoir dans certains cas informer les émetteurs du devenir de leurs datagrammes. C'est le rôle d' ICMP  ( I nternet  C ontrol  M essage  P rotocol) qui, comme son nom l'indique, est un  protocole d'information du contrôle de réseau . ICMP ne résoud rien, ou du moins pas grand chose, il informe ! Lorsque certains problèmes de...

énigme : Le mystère de deux portes : deux gardes, un dit la vérité, un ment

 Le mystère de deux portes : deux gardes, un dit la vérité, un ment Énoncé  Vous êtes devant deux gardiens : l'un qui dit la vérité et l'autre qui ment toujours.  Vous devez choisir l'une des deux portes : l'une vers la liberté et l'autre vers la prison.  Vous ne pouvez poser qu'une seule question à l'un des gardes. Alors vous devez choisir ! Solution  Un problème possible pour distinguer le vrai du faux et déterminer quelle porte offre la liberté.  Pour déterminer quel tuteur dit la vérité ou ment, il est nécessaire de poser des questions à l'un en impliquant l'autre.  C'est le principe de l'encapsulation : « Si je demande au gardien2 si cette porte offre la liberté, que va-t-il me dire ?  Dans ce principe, vous impliquez l'autre gardien dans votre question, on peut donc en déduire que la réponse est  Qu'est-ce que donné par un menteur est donné par celui qui dit la vérité ! Décryptons  Si je demande à l’autre gardien si cette porte ...