ACLClouds
ACLClouds

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

  1. Mettre à jour le système

    Installez les mises à jour de sécurité dès la première connexion.

  2. Créer un administrateur

    Créez un utilisateur personnel, ajoutez-le à sudo et testez une seconde session avant de modifier root.

  3. 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.

  4. Configurer UFW

    Autorisez SSH avant d’activer le pare-feu, puis ouvrez uniquement les ports nécessaires.

  5. 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.