Pourquoi votre VPS a besoin d'un certificat SSL
Un certificat SSL crypte la communication entre votre site Web et ses visiteurs. Cela protège les informations sensibles telles que les informations de connexion, soumissions par formulaire de contact, détails de paiement, et les données clients issues de l'interception.
Les navigateurs Web modernes affichent également des avertissements de sécurité sur les sites Web qui n'utilisent pas HTTPS., ce qui peut affecter négativement la confiance des utilisateurs et le classement des moteurs de recherche.
Heureusement, Let's Encrypt fournit des certificats SSL gratuits qui peuvent être installés sur pratiquement n'importe quel VPS Linux.
Qu'est-ce que Chiffrons?
Let's Encrypt est une autorité de certification gratuite et automatisée (Californie) exploité par le Groupe de recherche sur la sécurité Internet (ISRG).
Il permet aux propriétaires de sites Web d'obtenir des certificats SSL/TLS fiables sans acheter de certificats commerciaux..
Les avantages de Let's Encrypt incluent:
Hébergement Web WordPress
À partir de 3,99 $/mois
- Entièrement gratuit
- Approuvé par tous les principaux navigateurs
- Émission et renouvellement automatisés
- Prend en charge les certificats génériques
- Largement pris en charge sur les distributions Linux
Qu'est-ce que Certbot?
Certbot est le client officiel utilisé pour communiquer avec Let's Encrypt.
Certbot peut:
- Demander des certificats SSL
- Vérifier la propriété du domaine
- Configurer automatiquement les serveurs Web
- Renouveler automatiquement les certificats
L'utilisation de Certbot simplifie considérablement la gestion SSL sur un VPS.
Conditions préalables
Avant d'installer un certificat SSL, s'assurer que les exigences suivantes sont respectées:
Nom de domaine
Vous devez posséder un nom de domaine ou un sous-domaine.
Exemples:
Serveur VPS pas cher
À partir de 2,99 $/mois
example.com
www.example.com
server.example.com
Configuration DNS
Le domaine doit pointer vers votre VPS en utilisant un enregistrement A ou AAAA.
Exemple:
example.com → 192.0.2.10
Vérifier la propagation DNS:
dig example.com
ou
nslookup example.com
Exécution du serveur Web
Votre VPS devrait déjà avoir un serveur Web installé:
- Apache
- Nginx
Le site Web doit être accessible au public avant le début de la validation du certificat.
Hébergement VPS Windows
Remote Access & Full Admin
Configuration du pare-feu
Autoriser le trafic HTTP et HTTPS:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Pour les systèmes Ubuntu utilisant UFW:
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload
Installer Certbot sur Ubuntu et Debian
Apache
Mettre à jour les référentiels:
apt update
Installer Certbot:
apt install certbot python3-certbot-apache -y
Nginx
apt update
apt install certbot python3-certbot-nginx -y
Vérifier l'installation:
certbot --version
Installation de Certbot sur AlmaLinux, Linux rocheux, et RHEL
Activer le référentiel EPEL
dnf install epel-release -y
Apache
dnf install certbot python3-certbot-apache -y
Nginx
dnf install certbot python3-certbot-nginx -y
Vérifier l'installation:
certbot --version
Demander un certificat SSL
Installation d'Apache
Courir:
certbot --apache
Installation de Nginx
Courir:
certbot --nginx
Certbot vous demandera:
- Adresse email
- Acceptation des conditions d'utilisation
- Sélection de domaine
- Redirection HTTP vers HTTPS
Choisissez la redirection automatique lorsque vous y êtes invité.
Exemple:
Redirect all HTTP traffic to HTTPS: Yes
Certbot vérifiera ensuite la propriété et installera automatiquement le certificat.
Emplacements de stockage des certificats
Après une installation réussie, les certificats sont stockés sous:
/etc/letsencrypt/live/example.com/
Fichiers importants:
fullchain.pem
Contient:
- Certificat de serveur
- Certificats intermédiaires
privkey.pem
Contient:
- Clé privée
Protégez la clé privée et ne la partagez jamais publiquement.
Configuration manuelle d'Apache SSL
Si la configuration automatique échoue, modifier votre hôte virtuel Apache.
Exemple:
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
Configuration des tests:
apachectl configtest
Redémarrer Apache:
systemctl restart apache2
Ou sur AlmaLinux:
systemctl restart httpd
Configuration SSL manuelle de Nginx
Exemple de bloc de serveur Nginx:
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
root /var/www/html;
}
Configuration des tests:
nginx -t
Redémarrer Nginx:
systemctl restart nginx
Forcer la redirection HTTPS
Apache
Ajoutez à votre hôte virtuel:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
Nginx
Ajouter:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Cela garantit que tout le trafic utilise des connexions HTTPS cryptées.
Tester votre certificat SSL
Ouvrez votre site Web:
https://example.com
Vérifiez:
- Icône de cadenas
- Aucun avertissement du navigateur
Vous pouvez également consulter le certificat:
openssl s_client -connect example.com:443
Ou utilisez des analyseurs SSL en ligne pour vérifier:
- Validité du certificat
- Protocoles pris en charge
- Cote de sécurité
Renouvellement automatique du certificat
Les certificats Let's Encrypt expirent tous les 90 jours.
Certbot renouvelle automatiquement les certificats avant expiration.
Renouvellement des tests:
certbot renew --dry-run
Une sortie réussie indique que le renouvellement automatique fonctionne correctement.
Renouvellement basé sur Cron
Créer une tâche périodique:
crontab -e
Ajouter:
0 3 * * * certbot renew --quiet
Ceci vérifie quotidiennement à 3:00 SUIS.
Minuterie système
De nombreuses distributions Linux modernes installent automatiquement un minuteur Certbot.
Vérifier l'état:
systemctl list-timers | grep certbot
Vérifier le service:
systemctl status certbot.timer
Génération de certificats génériques
Les certificats Wildcard sécurisent tous les sous-domaines.
Exemple:
*.example.com
Nécessite une validation DNS:
certbot certonly \
--manual \
--preferred-challenges dns \
-d example.com \
-d '*.example.com'
Certbot fournira des enregistrements DNS TXT qui doivent être ajoutés avant que la validation puisse être terminée.
Dépannage des problèmes courants
Échec de la validation du domaine
Vérifier le DNS:
dig example.com
Assurer:
- Adresse IP correcte
- Propagation DNS correcte
Validation du blocage du pare-feu
Vérifiez les ports ouverts:
ss -tulpn | grep ':80'
Assurer les ports 80 et 443 sont joignables de l'extérieur.
Erreurs de configuration du serveur Web
Apache:
apachectl configtest
Nginx:
nginx -t
Corrigez tout problème de configuration avant de réessayer Certbot.
Échecs du renouvellement du certificat
Examiner les journaux:
journalctl -u certbot
Ou:
cat /var/log/letsencrypt/letsencrypt.log
Meilleures pratiques de sécurité
Après avoir installé SSL:
- Forcer les redirections HTTPS
- Désactivez les protocoles SSL faibles
- Utiliser des versions TLS modernes (TLS 1.2 et TLS 1.3)
- Activer les en-têtes HSTS
- Garder Certbot à jour
- Surveiller les dates d’expiration des certificats
Ces étapes améliorent à la fois la sécurité et la compatibilité du navigateur.
Pensées finales
L'installation d'un certificat SSL Let's Encrypt sur un VPS est l'une des tâches de sécurité les plus importantes pour tout administrateur de site Web.. Avec Certbot, l'ensemble du processus peut être complété en quelques minutes seulement, et les renouvellements automatiques garantissent une protection continue sans intervention manuelle.
Que vous utilisiez Apache, Nginx, WordPress, applications personnalisées, ou sites Web d'entreprise, HTTPS doit toujours être activé. Let's Encrypt fournit un outil fiable, digne de confiance, et solution entièrement gratuite qui sécurise les communications, améliore la confiance des visiteurs, et contribue à répondre aux attentes modernes en matière de sécurité.
