Kennisbank › Server Hardening › Durcissement de serveur sur Ubuntu : Réduire la surface d’attaque
server hardening starter 27 August 2026

Durcissement de serveur sur Ubuntu : Réduire la surface d’attaque

Durcissement de serveur sur Ubuntu : réduire la surface d’attaque

Durcissement de serveur sous Ubuntu : réduire la surface d'attaque

Cet article explique comment durcir un serveur Ubuntu en désactivant les services inutiles, en minimisant les droits et en configurant le pare-feu. Il est destiné aux administrateurs système qui souhaitent mettre en place un serveur de production de manière sécurisée.

Prérequis

- Ubuntu Server 22.04 LTS ou 24.04 LTS (installation neuve) - Accès root ou un utilisateur disposant des droits sudo - Connaissances de base de la ligne de commande Linux - Optionnel : abonnement Ubuntu Pro pour des fonctionnalités de sécurité supplémentaires

Étapes

1. Mettre à jour le système vers les dernières versions de sécurité

Une installation Ubuntu neuve peut contenir des paquets obsolètes. Mettez tout à jour avant d'apporter d'autres modifications.

sudo apt update && sudo apt upgrade -y

2. Inventorier les services et ports inutilisés

Avant de désactiver quoi que ce soit, vous devez savoir ce qui tourne. Vérifiez quels services sont actifs et quels ports sont ouverts.

systemctl list-units --type=service --state=running
ss -tulpn

Faites une liste des services dont vous n'avez pas besoin pour la fonction du serveur. Pensez à des services comme `cups`, `avahi-daemon` ou `bluetooth` sur un serveur dédié.

3. Désactiver et supprimer les services superflus

Désactivez chaque service superflu et empêchez son chargement au démarrage. Remplacez `dienstnaam` par le nom réel du service de l'étape 2.

sudo systemctl stop dienstnaam
sudo systemctl disable dienstnaam

Si vous souhaitez supprimer complètement le service, utilisez `apt purge`. Cela supprime également les fichiers de configuration.

sudo apt purge dienstnaam -y

4. Appliquer des droits minimaux avec sudo et les comptes utilisateurs

Créez un utilisateur séparé pour les tâches quotidiennes au lieu de root. Cet utilisateur ne reçoit que les droits nécessaires.

sudo adduser beheerder
sudo usermod -aG sudo beheerder

Testez le nouvel utilisateur en vous connectant et en exécutant une commande avec sudo. N'utilisez root qu'en cas d'urgence.

5. Vérifier et renforcer les permissions des fichiers

Vérifiez les permissions des fichiers système critiques. Les commandes suivantes donnent un aperçu de qui peut lire, modifier ou exécuter quoi.

ls -la /etc/passwd /etc/shadow /etc/ssh/sshd_config
sudo chmod 644 /etc/passwd
sudo chmod 640 /etc/shadow

Définissez un umask par défaut sécurisé pour les nouveaux fichiers. Ajoutez ceci à `/etc/profile` :

echo "umask 027" | sudo tee -a /etc/profile

6. Configurer le pare-feu avec ufw

Activez l'Uncomplicated Firewall et n'autorisez que les ports dont le serveur a réellement besoin. Remplacez `22` par le port de votre service SSH si vous l'avez modifié.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw enable

Vérifiez l'état du pare-feu pour confirmer que les règles sont actives.

sudo ufw status verbose

7. Appliquer le durcissement SSH

Modifiez la configuration SSH pour désactiver les méthodes d'accès faibles. Éditez `/etc/ssh/sshd_config` et modifiez ou ajoutez les lignes suivantes :

sudo nano /etc/ssh/sshd_config

Dans ce fichier, placez :

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

Redémarrez le service SSH pour appliquer les modifications.

sudo systemctl restart sshd

Attention : ne passez `PasswordAuthentication` à `no` qu'après avoir configuré et testé vos clés SSH. Sinon, vous vous enfermerez dehors.

8. Activer Ubuntu Pro pour le patch automatisé

Ubuntu Pro offre des fonctionnalités de sécurité supplémentaires comme livepatch et des mises à jour de sécurité étendues. Activez le service avec les informations de votre abonnement.

sudo pro attach jouw-contract-token

Vérifiez ensuite quels services de sécurité sont actifs.

sudo pro status

Vérification

Effectuez ces contrôles pour confirmer que le durcissement a été correctement appliqué :

sudo ufw status verbose
systemctl list-units --type=service --state=running
ss -tulpn | grep LISTEN
sudo pro status

Le pare-feu doit être actif avec uniquement les ports autorisés. La liste des services en cours d'exécution ne doit contenir que les services nécessaires. Ubuntu Pro doit afficher les services de sécurité comme actifs.

Problèmes fréquents

Je me suis enfermé dehors après avoir modifié les paramètres SSH

Redémarrez le serveur via la console de votre hébergeur. Connectez-vous via la console et remettez `PasswordAuthentication` à `yes`. Vérifiez ensuite que votre clé SSH est correctement configurée avant de modifier à nouveau le paramètre.

ufw bloque ma connexion SSH

Ajoutez d'abord la règle SSH avant d'activer le pare-feu. Si votre connexion est déjà interrompue, utilisez la console de votre hébergeur pour désactiver le pare-feu avec `sudo ufw disable`. Ajoutez ensuite la règle appropriée et réactivez le pare-feu.

Un service dont j'ai besoin ne démarre plus après l'avoir désactivé

Vérifiez si vous avez désactivé le bon service avec `systemctl status dienstnaam`. Redémarrez le service avec `sudo systemctl start dienstnaam` et consultez les journaux avec `journalctl -u dienstnaam` pour en trouver la cause.

Le hardening n’est pas une action ponctuelle ; de nouvelles vulnérabilités apparaissent dès que votre système tourne, et chaque modification de la configuration peut introduire de nouvelles faiblesses. Prévoyez donc des contrôles périodiques et répétez ces étapes après chaque changement majeur du système.

← Retour à la base de connaissances
← Terug naar kennisbank