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@monlinode

2. 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-nginx

Pour 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.ca

Pour Apache

sudo certbot --apache -d mon-site.ca -d www.mon-site.ca

Configuration 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.ca

Vé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-run

Si 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 nginx

Pour Apache

sudo systemctl restart apache2

Étape 7 : Tester la configuration complète

  • Vérifiez la redirection automatique en accédant à :
http://mon-site.ca

Vous devriez être redirigé vers la version HTTPS.


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.