Création d'un certificat auto-signé sous Linux (HTTPS)

Bonjour et bienvenue sur coursnet, aujourd'hui nous allons apprendre comment créer un certificat auto-signé sous Linux Debian, c'est le fait d'utiliser le protocole HTTPS au lieu de HTTP .
Création d'un certificat auto-signé sous Linux (HTTPS)
Sécuriser un serveur web ( HTTP to HTTPS )

Création d'un certificat auto-signé sous Debian 

Pour utiliser le SSL et créer un certificat sous Debian, vous devez installer les paquets suivants avec aptitude : openssl, ssl-cert et libssl0.9.8 
Nous allons ensuite nous placer dans le répertoire d'Apache 2 (/etc/apache2) pour générer le certificat au bon endroit : cd /etc/apache2

Création de la clé privée RSA :

Cette commande va vous permettre de générer une clé RSA : openssl genrsa -out server.key 1024

Génération d'un certificat auto-signé :

Attention: Si le certificat est auto-signé, les versions récentes de Firefox et IE préviennent le client que le certificat n'a pas été créé par un organisme de certification.
La certification d'un site SSL par un organisme, est très coûteuse, c'est pourquoi cette opération ne s'adresse pas aux particuliers mais uniquement aux sites de vente en ligne.
A partir de la clé de tout à l'heure, vous allez pouvoir créer un certificat générique pour votre organisme : 
openssl req -new -key server.key -out server.csr
Vous devrez répondre ensuite aux questions qui permettront d'identifier votre organisme :
  • Code de pays
  • État
  • Ville
  • Entreprise
  • Section de l'entreprise
  • Nom du responsable du site sécurisé
  • e-mail du responsable
Enfin, vous allez pouvoir créer le certificat utilisable par les visiteurs au format x509 pour une certaine durée (dans cet exemple 1 an) :
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Activer le SSL dans Apache 2 :

Pour avoir la liste complète des modules de Apache 2, on peut faire:  ls /etc/apache2/mods-available
Pour activer un module de Apache 2 on utilise la commande a2enmod. Le SSL est peut être déjà activé mais pour le vérifier on peut taper : a2enmod ssl

Modification des ports d'écoute :

Vérifiez dans le fichier /etc/apache2/ports.conf si il existe le port 443 pour le module SSL. Si ce n'est pas le cas, vous pouvez ajouter une ligne: listen 443

Nouveau site virtuel :

Créez un nouveau site virtuel (fichier dans /etc/apache2/sites-available/ ). Dans ce fichier vous pouvez écrire les lignes suivantes :
NameVirtualHost www.votreserveur.com:443
<VirtualHost www.votreserveur.com:443>
                  DocumentRoot /var/www/repduserveur
                  ServerName  www.votreserveur.com
              <Directory /var/www/repduserveur>
                  Options Indexes MultiViews FollowSymLinks
                  Allowoverride None
                  Order deny,allow
                  Deny from all
                  Allow from all
              </Directory>
              SSLEngine on
              SSLCertificateFile /etc/apache2/server.crt
              SSLCertificateKeyFile /etc/apache2/server.key
</VirtualHost>

Redémarrage et test :

Il ne reste qu'à recharger le serveur Apache /etc/init.d/apache2 reload

Démarrer le serveur :

Pour tester ce serveur sécurisé , vous pouvez aller sur : https://www.votreserveur.com/
  • Vous devriez avoir un avertissement car ce certificat est auto-signé. 
  • Vérifiez le contenu du certificat
  • Vérifiez par une analyse de trame que les informations ne sont pas lisibles.

SSL, c'est quoi ?

Fourni par Blogger.