Sécuriser Apache2 avec HTTPS
Introduction
Sécuriser un site web avec HTTPS est indispensable pour protéger les données échangées entre les utilisateurs et votre serveur. Ce guide explique comment utiliser Certbot afin d’obtenir un certificat SSL gratuit de Let’s Encrypt pour le domaine mon-site.ca, hébergé chez Linode.
TODO: Adapter le nom de domaine et l’utilisateur SSH à votre environnement réel.
Étape 1 : Installation de Certbot
1. Connexion au serveur
Connectez-vous à votre serveur Linode via SSH :
ssh sylvain@monlinode2. Installation de Certbot
Mettez à jour les paquets et installez Certbot ainsi que le plugin correspondant à votre serveur web.
Pour Nginx
sudo apt update
sudo apt install certbot python3-certbot-nginxPour Apache
sudo apt update
sudo apt install certbot python3-certbot-apacheÉtape 2 : Obtenir le certificat SSL
Exécutez la commande correspondant à votre serveur web.
Pour Nginx
sudo certbot --nginx -d mon-site.ca -d www.mon-site.caPour Apache
sudo certbot --apache -d mon-site.ca -d www.mon-site.caConfiguration interactive
- Fournissez une adresse e-mail valide (notifications de renouvellement).
- Acceptez les termes et conditions.
- Choisissez la redirection automatique vers HTTPS lorsque proposé.
Certbot configurera automatiquement votre serveur pour rediriger le trafic HTTP vers HTTPS.
Étape 3 : Vérifier le statut SSL
1. Test via navigateur
Accédez à :
https://mon-site.caVérifiez la présence du cadenas dans la barre d’adresse.
2. Test via outil en ligne
Utilisez un service d’analyse SSL comme :
Étape 4 : Configurer le renouvellement automatique
Les certificats Let’s Encrypt sont valides pour 90 jours.
Certbot installe normalement une tâche planifiée (cron ou systemd timer) pour renouveler automatiquement les certificats.
Testez le mécanisme avec :
sudo certbot renew --dry-runSi aucune erreur n’est affichée, le renouvellement automatique est correctement configuré.
Étape 5 : Redirection HTTP vers HTTPS (vérification manuelle)
Certbot configure généralement la redirection automatiquement. Vous pouvez toutefois vérifier la configuration.
Configuration Nginx
Fichier situé généralement dans /etc/nginx/sites-available/ :
server {
listen 80;
server_name mon-site.ca www.mon-site.ca;
return 301 https://$host$request_uri;
}Configuration Apache
Fichier situé généralement dans /etc/apache2/sites-available/ :
<VirtualHost *:80>
ServerName mon-site.ca
ServerAlias www.mon-site.ca
Redirect "/" "https://mon-site.ca/"
</VirtualHost>Étape 6 : Redémarrer le serveur web
Appliquez les changements en redémarrant le service.
Pour Nginx
sudo systemctl restart nginxPour Apache
sudo systemctl restart apache2Étape 7 : Tester la configuration complète
- Vérifiez la redirection automatique en accédant à :
http://mon-site.caVous devriez être redirigé vers la version HTTPS.
-
Vérifiez l’absence de contenu mixte (HTTP/HTTPS) avec un outil comme :
Conclusion
En suivant ces étapes, votre site web sera sécurisé via HTTPS grâce à Certbot et Let’s Encrypt. Cette configuration garantit :
- Le chiffrement des communications
- Une meilleure confiance des utilisateurs
- Une conformité aux standards modernes du web
Pensez à surveiller régulièrement le renouvellement automatique et à maintenir votre serveur à jour pour garantir un niveau de sécurité optimal.