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).
1. Mettre à jour le système
Section intitulée « 1. Mettre à jour le système »sudo apt updatesudo apt full-upgrade[ -f /var/run/reboot-required ] && echo "Redémarrage nécessaire"sudo reboot # si nécessaire2. Nom, fuseau horaire et langue
Section intitulée « 2. Nom, fuseau horaire et langue »sudo hostnamectl set-hostname serveur1sudo timedatectl set-timezone Europe/Paristimedatectl # vérifier l'heure et la synchronisationsudo locale-gen fr_FR.UTF-8sudo update-locale LANG=fr_FR.UTF-8La 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 |
3. Utilisateur d’administration
Section intitulée « 3. Utilisateur d’administration »Le compte root est verrouillé par défaut : l’administration passe par sudo.
sudo adduser admin # crée un utilisateursudo usermod -aG sudo admin # lui donne les droits d'administrationid admin # vérifier les groupessudo -l -U admin # vérifier les droits sudo4. Connexion SSH par clé
Section intitulée « 4. Connexion SSH par clé »Depuis le poste local (pas depuis le serveur) :
ssh-keygen -t ed25519 -C "poste-de-travail"ssh-copy-id admin@adresse-du-serveurssh admin@adresse-du-serveur # doit se connecter sans mot de passe5. Sécuriser SSH
Section intitulée « 5. Sécuriser SSH »Créer un fichier de configuration dédié, chargé avant ceux de cloud-init (ordre alphabétique : le premier réglage rencontré l’emporte) :
sudo tee /etc/ssh/sshd_config.d/00-durcissement.conf <<'CONF'PasswordAuthentication noKbdInteractiveAuthentication noPermitRootLogin noCONFsudo sshd -t # vérifie la syntaxesudo systemctl reload sshChanger 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/ :
sudo sshd -tsudo systemctl daemon-reloadsudo systemctl restart ssh.socketAutoriser le nouveau port dans le pare-feu avant de se déconnecter (étape suivante).
6. Pare-feu (UFW)
Section intitulée « 6. Pare-feu (UFW) »Autoriser SSH avant d’activer le pare-feu :
sudo ufw allow OpenSSHsudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow 80,443/tcp # si le serveur héberge un site websudo ufw enablesudo ufw status verboseAvec un port SSH personnalisé : sudo ufw allow 2222/tcp. Supprimer une règle : sudo ufw status numbered, puis sudo ufw delete <numéro>.
7. Mises à jour de sécurité automatiques
Section intitulée « 7. Mises à jour de sécurité automatiques »sudo apt install unattended-upgradessudo dpkg-reconfigure -plow unattended-upgrades # répondre « Oui »sudo unattended-upgrade --dry-run --debug # simulationRedé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) »sudo apt install fail2bansudo tee /etc/fail2ban/jail.local <<'CONF'[sshd]enabled = truebackend = systemdmaxretry = 5findtime = 10mbantime = 1hCONFsudo systemctl enable --now fail2bansudo fail2ban-client status sshd9. Adresse IP fixe (Netplan)
Section intitulée « 9. Adresse IP fixe (Netplan) »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) :
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]CONFsudo chmod 600 /etc/netplan/60-reseau-fixe.yamlsudo netplan try # applique avec retour automatique en arrière si la connexion est perdueValider 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 :
echo 'network: {config: disabled}' | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg10. Vérifier le swap
Section intitulée « 10. Vérifier le swap »L’installateur crée en général un fichier de swap. Vérifier, et en créer un sinon :
swapon --showfree -hsudo fallocate -l 2G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfileecho '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab11. Ubuntu Pro (optionnel)
Section intitulée « 11. Ubuntu Pro (optionnel) »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).
sudo pro attach <jeton>pro statussudo pro enable livepatch12. Contrôles finaux
Section intitulée « 12. Contrôles finaux »sudo ss -tulpn # ports en écoute : seuls les services attendus doivent apparaîtresystemctl --failed # services en échecsystemctl list-unit-files --state=enabled # services activés au démarragesudo ufw status verboselast -n 10 # dernières connexionsUbuntu 24.04 et 26.04 : différences à connaître
Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »Pour aller plus loin
Section intitulée « Pour aller plus loin »- Outils complémentaires : Outils utiles
- Commandes courantes : Commandes utiles
- Documentation officielle : documentation.ubuntu.com/server