Comment créer un certificat SSL sur Apache pour Debian 7

De Get Docs
Aller à :navigation, rechercher

Informations d'arrière-plan


Un certificat SSL est un moyen de crypter les informations d'un site et de créer une connexion plus sécurisée. Alors que les autorités de certification peuvent émettre des certificats SSL qui vérifient les détails du serveur, un certificat auto-signé n'a pas de corroboration par un tiers. Ce tutoriel explique comment créer un certificat SSL auto-signé, l'ajouter à votre VPS et configurer le fichier SSL pour afficher le certificat au monde.

1) Installer Apache


Si Apache n'est pas déjà en cours d'exécution sur votre serveur, il s'agit d'un package Apache httpd facilement disponible pour aptitude sous le nom apache2.

Exécutez la commande suivante pour installer :

 sudo apt-get install apache2

Pour tester que le package a été correctement installé, entrez votre adresse IP VPS dans votre navigateur. Si l'installation a réussi, le navigateur affichera ce qui suit :

It works!

This is the default web page for this server.
The web server software is running but no content 
has been added, yet.

2) Configurer httpd


Nous devons configurer httpd afin de prendre en charge SSL. Il est disponible dans l'installation httpd dans le cadre du paquet apache2-common.

Utilisez les commandes suivantes pour activer SSL :

 sudo a2ensite default-ssl
 sudo a2enmod ssl

Cette fois, comme indiqué, redémarrons Apache2 :

 sudo service apache2 restart

Pour tester que le module a bien été installé, nous allons taper notre adresse IP dans le navigateur comme précédemment ; cependant, cette fois, nous utiliserons https://. Suivez ceci avec votre adresse IP dans votre navigateur.

La première fois que vous accédez à la page, le navigateur vous avertit que le certificat du site n'est pas fiable. Vous pouvez continuer et vous arriverez à la même page qu'avant :

It works!

This is the default web page for this server.
The web server software is running but no content has been added,   
yet.

3) Générer un certificat auto-signé


Pour utiliser un certificat auto-signé, le package ssl-cert doit être installé.

Je voulais configurer mon propre certificat auto-signé pour le serveur et le stocker dans /etc/apache2/ssl. Pour ce faire, exécutez les commandes suivantes :

sudo mkdir /etc/apache2/ssl

Lorsque nous demandons un nouveau certificat, nous pouvons spécifier combien de temps le certificat doit rester valide en remplaçant le 365 par le nombre de jours que nous préférons. Dans l'état actuel des choses, ce certificat expirera après un an.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Avec cette commande, nous allons à la fois créer le certificat SSL auto-signé et la clé de serveur qui le protège, et les placer tous les deux dans le nouveau répertoire.

Cette commande invitera le terminal à afficher une liste des champs qui doivent être remplis.

La ligne la plus importante est "Nom commun". Saisissez ici votre nom de domaine officiel ou, si vous n'en avez pas encore, l'adresse IP de votre site.

<pre>You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:<span class="highlight">US</span>
State or Province Name (full name) [Some-State]:<span class="highlight">New York</span>
Locality Name (eg, city) []:<span class="highlight">NYC</span>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<span class="highlight">Awesome Inc</span>
Organizational Unit Name (eg, section) []:<span class="highlight">Dept of Merriment</span>
Common Name (e.g. server FQDN or YOUR name) []:<span class="highlight">example.com      </span>            
Email Address []:<span class="highlight">[email protected]</span></pre><br/>

4) Configurer le certificat


Nous avons maintenant tous les composants requis du certificat fini. La prochaine chose à faire est de configurer les hôtes virtuels pour afficher le nouveau certificat.

Ouvrez le fichier de configuration SSL :

nano /etc/apache2/sites-available/default-ssl

Dans la section qui commence par défaut :443>, apportez rapidement les modifications suivantes.

Ajoutez une ligne avec le nom de votre serveur juste en dessous de l'e-mail de l'administrateur du serveur :

ServerName example.com:443

Remplacez example.com par votre nom de domaine DNS approuvé ou l'adresse IP du serveur (il doit être identique au nom commun sur le certificat).

Recherchez les trois lignes suivantes et assurez-vous qu'elles correspondent aux extensions ci-dessous :

 SSLEngine on
 SSLCertificateFile /etc/apache2/ssl/apache.crt
 SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Enregistrez et quittez le fichier.

5) Activer le nouvel hôte virtuel


Avant que le site Web qui viendra sur le port 443 puisse être activé, nous devons activer cet hôte virtuel :

sudo a2ensite default

Vous êtes prêt. Le redémarrage de votre serveur Apache le rechargera avec toutes vos modifications en place.

sudo service apache2 reload

Dans votre navigateur, tapez https://votreadresse, et vous pourrez voir le nouveau certificat.

Voir plus


Once you have setup your SSL certificate on the site, you can [[“%3Ca|how-to-set-up-vsftpd-on-ubuntu-12-04]]”>Install an FTP server if you haven’t done so yet.

Par Adam La Greca