Sécuriser le serveur avec SSL
On va maintenant faire la configuration nécessaire pour pouvoir se connecter à nos sites en HTTPS. Pour cela on va se créer un certificat SSL auto-signé sur notre serveur Web. L’inconvénient quand ils sont auto-signés c’est que le navigateur va afficher le message « La connexion n’est pas sécurisée » et alors il faudra choisir d’ajouter une exception pour accéder au site. Même si ce message n’apparait qu’une fois, ça n’a pas un effet très professionnel, même si la connexion est tout de même chiffrée.
Si votre site est destiné à être publié sur Internet (avec une extension .fr, .com, .org etc…), vous pouvez obtenir un certificat gratuit validé par l’autorité de certification Let’s Encrypt. Attention, cela ne fonctionne pas avec les extensions de domaines locaux (.local, .lan etc…). Si vous utilisez Let’s Encrypt et possédez votre certificat, vous pouvez passer à la page suivante pour sécuriser vos virtualhost, prenez seulement soin de modifier le chemin d’accès aux fichiers de certif. Si votre site n’est pas destiné au Web, continuez ci-dessous avec la création du certificat auto-signé.
-Installez openssl (normalement il est déjà présent) :
apt-get install openssl
-Créez un dossier pour placer les fichiers de certificat :
mkdir /etc/apache2/ssl
-On se place dedans ce sera plus simple :
cd /etc/apache2/ssl
-On crée la clé privée :
openssl genrsa 4096 > web01.key
- Le nom du fichier importe peu mais essayez de rester indicatif.
-On crée ensuite le certificat :
openssl req -new -key web01.key -x509 -days 365 -out web01.pem
- Des questions vont sont alors posées concernant votre localisation géographique, votre organisation etc.
- A la question Common Name, entrez le FQDN de votre serveur web01.infotrucs.lan.
- Ce certificat sera valide durant 365 jours.
Le certificat est créé. Il faut maintenant le configurer pour chacun de nos sites. On commence par la racine du serveur Web (le virtualhost par défaut) en page suivante.