Aller au contenu

Ubuntu Server : actions après l'installation

Checklist à suivre sur un serveur Ubuntu fraîchement installé (24.04 ou 26.04). Les étapes sont indépendantes, mais l’ordre proposé évite de se verrouiller hors du serveur. Les exemples utilisent des noms génériques (admin, serveur1).

Fenêtre de terminal
sudo apt update
sudo apt full-upgrade
[ -f /var/run/reboot-required ] && echo "Redémarrage nécessaire"
sudo reboot # si nécessaire
Fenêtre de terminal
sudo hostnamectl set-hostname serveur1
sudo timedatectl set-timezone Europe/Paris
timedatectl # vérifier l'heure et la synchronisation
sudo locale-gen fr_FR.UTF-8
sudo update-locale LANG=fr_FR.UTF-8

La synchronisation de l’heure diffère selon la version :

Version Service Vérification
Ubuntu 24.04 systemd-timesyncd timedatectl timesync-status
Ubuntu 26.04 chrony chronyc tracking

Le compte root est verrouillé par défaut : l’administration passe par sudo.

Fenêtre de terminal
sudo adduser admin # crée un utilisateur
sudo usermod -aG sudo admin # lui donne les droits d'administration
id admin # vérifier les groupes
sudo -l -U admin # vérifier les droits sudo

Depuis le poste local (pas depuis le serveur) :

Fenêtre de terminal
ssh-keygen -t ed25519 -C "poste-de-travail"
ssh-copy-id admin@adresse-du-serveur
ssh admin@adresse-du-serveur # doit se connecter sans mot de passe

Créer un fichier de configuration dédié, chargé avant ceux de cloud-init (ordre alphabétique : le premier réglage rencontré l’emporte) :

Fenêtre de terminal
sudo tee /etc/ssh/sshd_config.d/00-durcissement.conf <<'CONF'
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
CONF
sudo sshd -t # vérifie la syntaxe
sudo systemctl reload ssh

Changer de port (facultatif, réduit le bruit des scans mais n’est pas une protection) : sur Ubuntu, SSH démarre par activation de socket, donc modifier Port dans sshd_config ne suffit pas. Après avoir ajouté Port 2222 dans un fichier de /etc/ssh/sshd_config.d/ :

Fenêtre de terminal
sudo sshd -t
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket

Autoriser le nouveau port dans le pare-feu avant de se déconnecter (étape suivante).

Autoriser SSH avant d’activer le pare-feu :

Fenêtre de terminal
sudo ufw allow OpenSSH
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80,443/tcp # si le serveur héberge un site web
sudo ufw enable
sudo ufw status verbose

Avec un port SSH personnalisé : sudo ufw allow 2222/tcp. Supprimer une règle : sudo ufw status numbered, puis sudo ufw delete <numéro>.

Fenêtre de terminal
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades # répondre « Oui »
sudo unattended-upgrade --dry-run --debug # simulation

Redémarrage automatique si une mise à jour l’exige (facultatif), dans /etc/apt/apt.conf.d/50unattended-upgrades :

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

8. Protéger SSH contre les tentatives répétées (Fail2ban)

Section intitulée « 8. Protéger SSH contre les tentatives répétées (Fail2ban) »
Fenêtre de terminal
sudo apt install fail2ban
sudo tee /etc/fail2ban/jail.local <<'CONF'
[sshd]
enabled = true
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h
CONF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Par défaut, le réseau est configuré en DHCP. Fichier d’exemple pour une adresse fixe, à adapter (nom de l’interface avec ip -br link) :

Fenêtre de terminal
sudo tee /etc/netplan/60-reseau-fixe.yaml <<'CONF'
network:
version: 2
ethernets:
enp1s0:
dhcp4: false
addresses: [192.168.1.50/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 9.9.9.9]
CONF
sudo chmod 600 /etc/netplan/60-reseau-fixe.yaml
sudo netplan try # applique avec retour automatique en arrière si la connexion est perdue

Valider avec Entrée dans le délai imparti. Si cloud-init régénère la configuration réseau à chaque démarrage, la désactiver :

Fenêtre de terminal
echo 'network: {config: disabled}' | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

L’installateur crée en général un fichier de swap. Vérifier, et en créer un sinon :

Fenêtre de terminal
swapon --show
free -h
Fenêtre de terminal
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Ubuntu Pro prolonge les mises à jour de sécurité (ESM) et active Livepatch (correctifs du noyau sans redémarrage). Il est gratuit pour un usage personnel sur un nombre limité de machines (voir ubuntu.com/pro).

Fenêtre de terminal
sudo pro attach <jeton>
pro status
sudo pro enable livepatch
Fenêtre de terminal
sudo ss -tulpn # ports en écoute : seuls les services attendus doivent apparaître
systemctl --failed # services en échec
systemctl list-unit-files --state=enabled # services activés au démarrage
sudo ufw status verbose
last -n 10 # dernières connexions

Ubuntu 24.04 et 26.04 : différences à connaître

Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »