Que faut-il sécuriser avant mon premier déploiement VPS ?
Mettre à jour, créer un utilisateur, protéger SSH, activer le pare-feu et les sauvegardes. Un VPS root est sous votre responsabilité.
Un VPS root est sous votre responsabilité. Réalisez ces étapes avant d’exposer une application ou une base de données.
Procédure étape par étape
-
Mettre à jour le système
Installez les mises à jour de sécurité dès la première connexion.
-
Créer un administrateur
Créez un utilisateur personnel, ajoutez-le à sudo et testez une seconde session avant de modifier root.
-
Installer la clé SSH
Validez la connexion par clé, puis désactivez le mot de passe SSH si votre procédure de secours est prête.
-
Configurer UFW
Autorisez SSH avant d’activer le pare-feu, puis ouvrez uniquement les ports nécessaires.
-
Activer Fail2ban et les sauvegardes
Surveillez les tentatives, conservez des sauvegardes hors de la VM et testez une restauration.
Base Debian
apt update && apt full-upgrade -y
apt install -y ufw fail2ban
ufw allow OpenSSH
ufw enable
systemctl enable --now fail2ban
Désactiver la connexion SSH par mot de passe
sed -i -e 's/^PasswordAuthentication yes/PasswordAuthentication no/' \
-e 's/^PermitRootLogin yes/PermitRootLogin prohibit-password/' \
/etc/ssh/sshd_config.d/00-aclclouds-password-access.conf
sshd -t && systemctl reload ssh
sshd -T | grep -Ei 'passwordauthentication|permitrootlogin'
Fail2ban avec le journal systemd
printf '[sshd]\nbackend = systemd\n' > /etc/fail2ban/jail.local
systemctl restart fail2ban
fail2ban-client status sshd
Avant de commencer
Gardez deux sessions SSH ouvertes : l’une pour les modifications, l’autre en secours. Si un réglage vous bloque, la « Console noVNC » de la page du VPS donne encore accès à l’écran de la VM, même sans réseau.
- Votre clé publique est installée et une connexion par clé a été testée.
- Le paquet qemu-guest-agent reste installé et actif : « Modifier le mot de passe », « Redémarrage secours » et l’outil « Shell » du panel en dépendent.
- Sur Fedora et CentOS Stream, le groupe administrateur s’appelle wheel et non sudo.
Couper l’accès par mot de passe
À la livraison, ACLClouds active la connexion par mot de passe pour que les identifiants envoyés par e-mail fonctionnent. Ce réglage est écrit dans /etc/ssh/sshd_config.d/00-aclclouds-password-access.conf, lu avant /etc/ssh/sshd_config. OpenSSH garde la première valeur rencontrée : modifier seulement sshd_config ne suffit donc pas.
Dans ce fichier, remplacez PasswordAuthentication yes par PasswordAuthentication no et PermitRootLogin yes par PermitRootLogin prohibit-password, ou par no si vous travaillez avec un utilisateur sudo. Validez avec sshd -t, rechargez le service, puis testez une nouvelle connexion avant de fermer l’ancienne.
« Modifier le mot de passe » et « Redémarrage secours » réécrivent ce fichier et réactivent la connexion par mot de passe : après les avoir utilisés, refaites ce réglage.
Vérifier que tout fonctionne
sshd -T | grep -i passwordauthentication doit répondre passwordauthentication no. ufw status verbose doit afficher Status: active et la règle SSH en ALLOW. fail2ban-client status sshd doit lister la prison sshd avec un compteur de tentatives.
Gardez une console ouverte
Testez SSH dans une deuxième fenêtre avant de fermer la session actuelle ou d’interdire l’authentification par mot de passe.
Questions fréquentes
Fail2ban ne démarre pas et affiche Have not found any log file for sshd jail, que faire ?
Le système journalise SSH dans le journal systemd et le fichier /var/log/auth.log n’existe pas, ce qui est courant sur Debian 12. Créez /etc/fail2ban/jail.local avec une section [sshd] contenant backend = systemd (voir le bloc ci-dessous), puis redémarrez Fail2ban.
Mes ports Docker restent joignables malgré UFW, est-ce normal ?
Oui. Docker écrit ses propres règles iptables, et un port publié avec -p passe avant les règles d’UFW. Publiez un service interne sur la boucle locale (-p 127.0.0.1:8080:80) ou filtrez-le avec le « Pare-feu » du panel, appliqué hors de la VM une fois « Pare-feu activé » dans « Options du pare-feu ».
Comment installer les correctifs de sécurité automatiquement ?
Sur Debian et Ubuntu, installez unattended-upgrades puis activez-le avec dpkg-reconfigure -plow unattended-upgrades. Les correctifs de sécurité sont alors appliqués chaque jour.