Manuel d’installation et de sécurisation d’un VPS.

By | août 7, 2026

1. Première connexion

Connexion avec l’utilisateur fourni par votre Host :

ssh ubuntu@IP_DU_SERVEUR

Mise à jour du système :

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt autoclean
sudo reboot

2. Création de l’administrateur

Créer l’utilisateur :

sudo adduser arkan

Ajouter les droits administrateur :

sudo usermod -aG sudo arkan

Vérifier :

id arkan

Résultat attendu :

uid=1001(arkan)
groups=1001(arkan),27(sudo)

Tester les droits :

su - arkan
sudo whoami

Résultat attendu :

root

3. Installation de la clé SSH

Depuis Windows PowerShell, vérifier les clés disponibles :

dir $HOME\.ssh

Afficher la clé publique :

type $HOME\.ssh\id_ed25519.pub

Installer la clé sur le serveur :

type $HOME\.ssh\id_ed25519.pub | ssh arkan@IP_DU_SERVEUR "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Tester la connexion :

ssh arkan@IP_DU_SERVEUR

Vérifier l’authentification par clé :

ssh -v arkan@IP_DU_SERVEUR

Le résultat doit contenir :

Offering public key...
Authenticated ... using "publickey"

4. Sauvegarde de la configuration SSH

sudo mkdir -p /opt/backup/config
sudo cp /etc/ssh/sshd_config /opt/backup/config/
sudo cp -r /etc/ssh/sshd_config.d /opt/backup/config/

5. Sécurisation de SSH

Créer un fichier dédié :

sudo nano /etc/ssh/sshd_config.d/99-arkanov-security.conf

Ajouter :

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
KbdInteractiveAuthentication no
X11Forwarding no
MaxAuthTries 3
LoginGraceTime 30

Ubuntu Cloud peut activer l’authentification par mot de passe via :

/etc/ssh/sshd_config.d/50-cloud-init.conf

Désactiver cette directive :

sudo sed -i 's/^PasswordAuthentication yes/#PasswordAuthentication yes/' /etc/ssh/sshd_config.d/50-cloud-init.conf

Vérifier la configuration :

sudo sshd -t

Redémarrer SSH :

sudo systemctl restart ssh

Contrôler les paramètres actifs :

sudo sshd -T | grep -E "permitrootlogin|passwordauthentication|pubkeyauthentication|kbdinteractiveauthentication"

Résultat attendu :

permitrootlogin no
pubkeyauthentication yes
passwordauthentication no
kbdinteractiveauthentication no

Conserver une session SSH ouverte pendant les tests afin d’éviter tout verrouillage accidentel.

6. Installation du pare-feu UFW

Installer UFW :

sudo apt install ufw -y

Définir les règles par défaut :

sudo ufw default deny incoming
sudo ufw default allow outgoing

Autoriser les ports nécessaires :

sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'

Activer le pare-feu :

sudo ufw enable

Vérifier :

sudo ufw status numbered

Remplacer la règle SSH par une limitation des tentatives :

sudo ufw delete allow 22/tcp
sudo ufw limit 22/tcp comment 'SSH'

Contrôler :

sudo ufw status verbose

Le port SSH doit apparaître avec la mention :

LIMIT

7. Installation de Fail2ban

Installer Fail2ban :

sudo apt install fail2ban -y

Créer la configuration :

sudo nano /etc/fail2ban/jail.local

Contenu recommandé :

[DEFAULT]
backend = systemd
bantime = 24h
findtime = 10m
maxretry = 5
banaction = ufw
ignoreip = 127.0.0.1/8 ::1

[sshd]

enabled = true

Tester la configuration :

sudo fail2ban-client -t

Résultat attendu :

OK

Redémarrer Fail2ban :

sudo systemctl restart fail2ban

Vérifier le service :

sudo systemctl status fail2ban --no-pager

Afficher les jails actives :

sudo fail2ban-client status

Contrôler la protection SSH :

sudo fail2ban-client status sshd

État final du serveur

Le VPS dispose maintenant de :

  • Ubuntu 26.04 LTS à jour ;
  • un utilisateur administrateur dédié : arkanov ;
  • une authentification SSH par clé ED25519 ;
  • une connexion directe de root désactivée ;
  • une authentification SSH par mot de passe désactivée ;
  • une sauvegarde de la configuration SSH ;
  • un pare-feu UFW actif ;
  • une politique entrante par défaut en deny ;
  • SSH limité par UFW ;
  • HTTP et HTTPS autorisés ;
  • Fail2ban configuré pour protéger SSH ;
  • un bannissement de 24 heures après 5 échecs en 10 minutes.

Architecture prévue

Ubuntu Server 26.04 LTS
│
├── UFW
├── Fail2ban
├── Docker Engine
├── Dockge
├── Nginx Proxy Manager
├── Ollama
├── Open WebUI
├── n8n
├── MariaDB
├── Beszel
└── Uptime Kuma

Sauvegardes recommandées

Conserver régulièrement une copie des répertoires suivants :

/etc/ssh/
/etc/fail2ban/
/etc/ufw/
/opt/backup/config/

Ces sauvegardes permettront de restaurer rapidement la configuration de sécurité lors d’une reconstruction ou d’un remplacement du VPS.

Partager :
Category: VPS Étiquettes :