La mascotte ours polaire NordBastion à une forge nordique en pierre soudant des plaques blindées et des cadenas en laiton sur une petite tour serveur sur une enclume, des glyphes protecteurs cyan enveloppant sa base, lueur ambre du foyer de forge et étincelles ambre de soudure
Mode d'emploi · Liste de contrôle·10 min de lecture · 60 min de pratique

Durcissement VPS — la liste de contrôle OPSEC de la première heure.
Huit étapes. À appliquer sur chaque nouveau serveur.

La liste de contrôle universelle avant lancement avant qu'une charge de travail soit déployée sur un VPS neuf. Clé SSH uniquement, port personnalisé, pare-feu, mises à jour automatiques, fail2ban, instantané, récupération documentée. Testé sur Debian 12 / Ubuntu 22-24 / Alpine.

Les huit étapes
  1. 01

    SSH key auth

  2. 02

    Disable root + change port

  3. 03

    Firewall baseline

  4. 04

    Unattended-upgrades

  5. 05

    Fail2ban

  6. 06

    Time + swap

  7. 07

    Baseline snapshot

  8. 08

    Recovery doc

Étape 01-02 · SSH

Clés, pas mots de passe. Port personnalisé, pas 22.

Sur votre portable, générez une paire de clés ed25519 (plus petite, plus rapide, moderne) :

ssh-keygen -t ed25519 -C "you@laptop"
ssh-copy-id -p 22 root@<vps-ip>
ssh root@<vps-ip>     # should now work without password

Sur le VPS, modifiez /etc/ssh/sshd_config :

Port 54871                  # pick a random number 1024-65535
PermitRootLogin no          # use a non-root user with sudo
PasswordAuthentication no   # keys only
PubkeyAuthentication yes

Créez d'abord un utilisateur sudo non-root (adduser bear; usermod -aG sudo bear; ssh-copy-id -p 22 bear@vps), testez la connexion, PUIS redémarrez sshd : systemctl restart sshd. Si vous vous verrouillez, la console du panneau donne un accès shell sans SSH.

Étape 03 · Pare-feu

Refus entrant par défaut. Autorisez ce dont vous avez besoin.

apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 54871/tcp      # custom SSH port
ufw allow 80/tcp         # if running a web service
ufw allow 443/tcp        # if running TLS
ufw enable
ufw status verbose

Répliquez le même jeu de règles dans le pare-feu au niveau du bastion NordBastion via le panel (Réseau → Pare-feu). Le pare-feu du bastion bloque avant que le paquet n'atteigne le VPS, économisant du CPU lors des scans volumétriques. Défense en profondeur.

Étape 04-05 · Mises à jour auto + fail2ban

Deux paquets, cinq minutes, impact réel.

apt install -y unattended-upgrades fail2ban
dpkg-reconfigure -plow unattended-upgrades   # accept defaults
systemctl enable --now fail2ban
fail2ban-client status                       # shows sshd jail

Unattended-upgrades applique les correctifs de sécurité automatiquement ; fail2ban bannit les IP qui échouent 5 tentatives d'authentification en 10 minutes pendant 1 heure. Aucun ne nécessite de configuration supplémentaire pour l'usage de base — tous deux sont des paramètres agressifs qui fonctionnent pour tout le monde.

Étape 06 · Heure + swap

Définissez le fuseau horaire UTC. Ajoutez un swapfile.

timedatectl set-timezone UTC

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile none swap sw 0 0" >> /etc/fstab
free -h                                       # confirm swap is active

UTC sur le serveur simplifie la corrélation des journaux entre bastions et clients dans n'importe quel fuseau horaire. Un swapfile de 2 à 4 GB protège contre les pics d'OOM-kill ; sur les petits niveaux c'est important, sur les grands niveaux c'est une assurance bon marché.

Étape 07-08 · Instantané + document de récupération

Capturez l'état propre. Notez le chemin de récupération.

Instantané. Dans le panneau : Serveurs → votre serveur → Instantanés → Créer. Nommez-le baseline-hardened-AAAA-MM-JJ. Les instantanés NordBastion sont hors hôte, chiffrés, et prennent quelques secondes. Vous pouvez restaurer en environ 90 secondes — votre futur vous vous remerciera la première fois qu'une mise à niveau tourne mal.

Document de récupération. Sur papier ou dans un gestionnaire de mots de passe, notez :

  • E-mail du compte NordBastion + (mnémonique du mot de passe, pas le mot de passe lui-même)
  • Où se trouve votre clé privée SSH sur l'ordinateur portable
  • Le numéro de port SSH personnalisé
  • Le nom d'utilisateur sudo non-root sur le VPS
  • Le nom de l'instantané de référence à restaurer
  • Remarque : « la console du panneau fonctionne sans SSH — utilisez-la pour la récupération en cas de verrouillage »

L'OPSEC est la discipline de noter les choses aujourd'hui pour que votre futur vous puisse récupérer quand votre vous actuel aura oublié. La forge est fermée quand le document est complet.

FAQ · Durcissement

Questions, réponses.

Huit questions qu'un client VPS pour la première fois pose en parcourant la liste de contrôle.

L'authentification par clé SSH est-elle réellement plus sûre qu'un mot de passe fort ?

Oui, de loin. Un mot de passe — même aléatoire de 16 caractères — est forçable en force brute dans un modèle de menace réaliste ; une clé SSH ed25519 dispose de 256 bits d'entropie et ne l'est pas. Une clé est également liée à l'appareil sur lequel elle réside, donc un attaquant a besoin à la fois du fichier de clé ET de la phrase secrète qui le déchiffre. Désactivez entièrement PasswordAuthentication dans sshd_config et la surface d'attaque de force brute tombe à zéro.

Changer le port SSH de 22 vers un port aléatoire aide-t-il vraiment ?

Cela n'arrête pas un attaquant déterminé — il scannera tous les 65 535 ports. Cela RÉDUIT bien le volume de bruit automatisé des bots qui ne tentent que le port 22, ce qui signifie des journaux plus propres et un fail2ban moins stressé. Choisissez un port aléatoire entre 1024 et 65535, notez-le quelque part où vous ne le perdrez pas, mettez à jour le pare-feu pour l'autoriser. Gain net : environ 90 % moins de bruit dans les journaux.

UFW ou nftables — lequel choisir ?

UFW pour quelqu'un qui apprend ou gère un seul VPS — c'est une enveloppe conviviale, la syntaxe est lisible par l'homme, et elle repose sur iptables ou nftables en dessous. nftables directement si vous souhaitez une composition de règles plus stricte, des ensembles anonymes, ou si vous gérez plus d'une poignée de serveurs et souhaitez la cohérence. Les deux produisent le même résultat au niveau du kernel.

Dois-je activer unattended-upgrades pour le kernel également ?

Les correctifs de sécurité, oui — ils corrigent les CVE critiques et l'alternative consiste à les laisser ouverts. Les mises à jour complètes du paquet kernel sont plus risquées car elles nécessitent un redémarrage pour prendre effet ; unattended-upgrades ne redémarrera pas le serveur par défaut. Lisez /etc/apt/apt.conf.d/50unattended-upgrades et décidez : la plupart des clients NordBastion laissent la configuration unattended sur « security-only » et redémarrent manuellement chaque mois pendant une fenêtre calme.

fail2ban est-il nécessaire si j'ai déjà désactivé l'authentification par mot de passe ?

Strictement requis, non — une fois l'authentification par mot de passe désactivée, la force brute sur SSH ne peut pas aboutir. fail2ban reste utile pour d'autres services (mail, pages de connexion d'applications web, tout ce qui dispose d'une couche d'identification). Assurance bon marché : apt install fail2ban, acceptez les paramètres par défaut, avancez. Les 30 secondes nécessaires à l'installation valent bien les journaux plus propres et la protection supplémentaire des services qu'il apporte.

Qu'en est-il du chiffrement complet du disque ?

Pas dans la première heure — le chiffrement complet du disque avec une clé détenue par l'utilisateur nécessite soit une installation ISO personnalisée (montage de LUKS au démarrage avec une phrase secrète que quelqu'un doit taper) soit la prochaine option NordBastion LUKS-à-la-provision (feuille de route du panneau). Pour l'instant, traitez le disque comme lisible par NordBastion (dans l'éventualité improbable d'une assignation) et traitez la protection juridictionnelle de NordBastion comme la couche qui le maintient en sécurité. Si votre modèle de menace exige FDE avant le lancement, installez Debian via l'ISO de secours dans un volume racine LUKS et déverrouillez via la console du panneau à chaque démarrage — faisable mais un changement significatif dans la charge opérationnelle.

À quelle fréquence devrais-je prendre des instantanés ?

Trois cadences utiles. (1) Avant chaque changement significatif (mise à jour de paquet, modification de config, mise à niveau de l'OS). (2) Selon un calendrier — une fois par semaine est un défaut raisonnable pour toute charge de travail en production. (3) Avant chaque exercice de vérification de sauvegarde, pour pouvoir prouver que la restauration fonctionne. Les instantanés NordBastion sont hors-hôte et chiffrés ; ils ne consomment pas votre disque VPS et peuvent être restaurés en environ 90 secondes.

Dois-je surveiller le VPS, et comment ?

Pour la première heure : pas encore — faites le durcissement, lancez la charge de travail, puis ajoutez la surveillance une fois que vous avez quelque chose qui vaut la peine d'être surveillé. Options légères : node_exporter + Prometheus + Grafana sur un second petit VPS, Netdata comme tableau de bord auto-hébergé en binaire unique, ou plus simple encore, un vérificateur de disponibilité externe gratuit (UptimeRobot, BetterStack) pingant les ports publics. Choisissez-en un, configurez-le, et oubliez — la surveillance est la plus utile quand elle reste silencieuse.

Suivant

Serveur durci. Construisez maintenant quelque chose dessus.

Dernière révision · 2026-05-20 · Testé · Debian 12 · Ubuntu 22.04 / 24.04 · Alpine 3.19+