Guide des technologies

Sécuriser Ubuntu après installation

8 min read Sécurité Mis à jour 21 Oct 2025
Sécuriser Ubuntu après installation
Sécuriser Ubuntu après installation

Important : les commandes suivantes requièrent des privilèges root. Remplacez “username” par votre nom d’utilisateur réel quand indiqué.

Pourquoi ce guide

Ubuntu privilégie l’ergonomie et la facilité d’utilisation par défaut, ce qui peut laisser des vecteurs d’attaque mineurs ouverts. Ce guide explique des changements concrets, compréhensibles et réversibles pour durcir une installation Ubuntu tout en restant utilisable au quotidien.

Sommaire rapide

  • Configurer un mot de passe utilisateur et gérer les comptes invités
  • Monter la mémoire partagée en lecture seule ou avec restrictions
  • Restreindre l’accès au programme su pour les comptes non administrateurs
  • Protéger le répertoire /home
  • Empêcher la connexion root via SSH
  • Bonnes pratiques complémentaires et checklist d’audit

Préparation : ouvrir des fichiers de configuration en root

Trois méthodes courantes pour éditer un fichier en tant que root (exemple : “/file/config”). Conservez exactement ces syntaxes.

Ouvrir via le terminal :

sudoedit /file/config

Capture d'écran : sudoedit utilisé pour modifier un fichier système

Sur Gnome (ou environnements graphiques similaires), appuyez sur Alt + F2 et tapez :

gksudo gedit /file/config

Sur KDE, appuyez sur Alt + F2 et tapez :

kdesu kate /file/config

Note : dans les captures d’écran de ce guide, les exemples montrent principalement l’utilisation du terminal avec sudoedit.

Les mesures de base

Ces étapes dépendent de l’usage prévu de la machine. Appliquez uniquement ce qui correspond à votre contexte (poste personnel, serveur, poste partagé).

1) Définir un mot de passe pour les comptes utilisateur

Même si vous êtes le seul utilisateur, protégez votre compte par un mot de passe solide. Si vous prêtez votre machine, créez un compte invité distinct et protégez-le également par mot de passe. Linux est multi-utilisateur par conception : utiliser des comptes distincts réduit les risques et facilite la traçabilité.

Conseil rapide : privilégiez des passphrases longues (> 12 caractères) et activez l’authentification à deux facteurs (2FA) pour les services qui le supportent.

2) Reconfigurer la mémoire partagée (/run/shm)

Par défaut, l’espace de mémoire partagée (/run/shm) est monté en lecture/écriture et permet l’exécution de programmes — une configuration exploitée par certains vecteurs d’attaque. Pour la plupart des postes et serveurs, il est plus sûr de monter cette mémoire en lecture seule.

Ouvrez le fichier fstab :

sudoedit /etc/fstab

Ajoutez la ligne suivante à la fin du fichier pour monter en lecture seule :

none /run/shm tmpfs defaults,ro 00

Toutefois, certains navigateurs comme Google Chrome utilisent /run/shm ; si vous devez conserver un montage en écriture, utilisez plutôt ces options plus restrictives (interdit l’exécution, disables SUID/SGID) :

none /run/shm tmpfs rw,noexec,nosuid,nodev 00

Illustration : modification de /etc/fstab pour la mémoire partagée

Notes importantes :

  • Après modification de /etc/fstab, démontez puis remontez la partition ou redémarrez pour appliquer.
  • Si une application échoue après ce changement, réévaluez ses besoins et appliquez une exception ciblée ou revenez temporairement en arrière.

3) Refuser l’utilisation de su aux comptes non-administrateurs

Le programme su permet d’exécuter un programme en tant qu’un autre utilisateur. Sur une machine partagée (avec un compte Guest), il peut être abusé. Restreindre su aux membres du groupe sudo ou admin réduit la surface d’attaque.

Exemple de commande pour ajuster les privilèges (exécuter dans un terminal) :

sudo dpkg-statoverride --update --add root sudo 4750 /bin/su

Cette commande ajuste les permissions afin que seul l’utilisateur root et les membres du groupe sudo puissent utiliser /bin/su.

Capture d'écran : terminal montrant dpkg-statoverride

4) Sécuriser votre répertoire personnel

Par défaut, les répertoires /home/* peuvent être lisibles par d’autres utilisateurs. Pour empêcher les autres comptes (par ex. Guest) d’accéder à vos fichiers :

chmod 0700 /home/username

ou, si vous voulez autoriser l’accès aux membres du même groupe :

chmod 0750 /home/username

Illustration : verrouillage des permissions du répertoire personnel

Astuce : si vous utilisez un dossier partagé entre plusieurs comptes (par ex. colocation), créez un groupe dédié et ajustez les permissions de groupe plutôt que d’ouvrir globalement.

5) Désactiver la connexion directe root via SSH

Par défaut, Ubuntu désactive souvent l’accès SSH direct à root, mais si un mot de passe root est défini, cela crée un risque majeur.

Vérifiez si un serveur SSH est installé en lançant :

ssh localhost

Si vous voyez “Connection refused”, il n’y a pas de serveur SSH et vous pouvez ignorer la configuration SSH.

Si sshd est installé, éditez :

sudoedit /etc/ssh/sshd_config

Remplacez ou assurez-vous que la ligne suivante existe :

PermitRootLogin no

Puis redémarrez le service SSH :

sudo systemctl restart sshd

Conseil supplémentaire : préférez l’authentification par clé publique et désactivez l’authentification par mot de passe si possible.

Bonnes pratiques complémentaires (durcissement général)

Ces mesures complètent les réglages précédents et constituent un niveau additionnel de protection.

  • Activer les mises à jour automatiques de sécurité (unattended-upgrades).
  • Activer et configurer le pare-feu (ufw) : fermer les ports inutilisés, autoriser seulement les services nécessaires.
  • Utiliser AppArmor (activé par défaut sur Ubuntu) et charger des profils stricts pour les services exposés.
  • Supprimer ou désactiver les services inutiles (ex : cups si vous n’imprimez pas).
  • Installer fail2ban pour protéger les services exposés (SSH, services web) contre les tentatives d’authentification bruteforce.
  • Chiffrer le disque ou au moins le /home si les données sont sensibles (LUKS / cryptsetup).
  • Auditer périodiquement les comptes utilisateurs et supprimer les comptes inactifs.

Rappel : ajustez chaque changement au contexte — un serveur public a des besoins différents d’un poste de travail personnel.

Mini-méthodologie : approche en 5 étapes pour durcir un système

  1. Inventaire : lister les services installés et les ports ouverts (ex : ss -tulpn, systemctl list-units --type=service).
  2. Prioriser : identifier les services exposés publiquement et les données sensibles.
  3. Appliquer des contrôles de base : mises à jour, pare-feu, désactivation des services inutiles.
  4. Renforcer : chiffrement, AppArmor, restrictions de permissions, configuration SSH.
  5. Vérifier : tests d’accès, journaux, outils d’audit comme Lynis ou OpenSCAP.

Checklist rapide (SOP) pour un poste Ubuntu fraîchement installé

  • Compte utilisateur protégé par mot de passe fort
  • /run/shm monté avec options restrictives dans /etc/fstab
  • [ ] su restreint aux groupes d’administration
  • /home/username en 0700 ou 0750 selon besoins
  • PermitRootLogin=no dans /etc/ssh/sshd_config
  • Pare-feu (ufw) configuré et actif
  • Unattended-upgrades activé pour les mises à jour de sécurité
  • Profils AppArmor actifs pour services critiques
  • Fail2ban configuré si services exposés
  • Sauvegardes et chiffrement des données sensibles

Arbre de décision rapide (Mermaid)

graph TD
  A[Machine nouvellement installée] --> B{Exposée sur internet ?}
  B -- Oui --> C[Configurer SSH : clés, PermitRootLogin=no]
  B -- Non --> D[Configurer poste local : /home 0700, désactiver services]
  C --> E{Navigateur Chrome utilisé ?}
  E -- Oui --> F[Monter /run/shm rw,noexec,nosuid,nodev]
  E -- Non --> G[Monter /run/shm defaults,ro]
  D --> G
  F --> H[Activer pare-feu et fail2ban]
  G --> H
  H --> I[Vérifier journaux et appliquer corrections]

Quand ces mesures peuvent échouer ou être insuffisantes

  • Machines qui exécutent des applications légées mais nécessitant /run/shm en écriture : il faudra des exceptions ciblées.
  • Services mal configurés ou vulnérables (ex : applications web non patchées) demandent des correctifs spécifiques au lieu de réglages système généraux.
  • Attaques physiques (accès direct au matériel) nécessitent chiffrement complet du disque.

Critères d’acceptation

Pour considérer que le durcissement est satisfaisant :

  • /run/shm monté avec options restrictives ou documentées exceptions
  • Tous les comptes non nécessaires désactivés et les comptes administrateurs limités
  • /home des utilisateurs confidentiels inaccessible aux autres comptes
  • SSH configuré pour refuser root et préférer clés publiques
  • Pare-feu actif et règles minimales en place
  • Mises à jour de sécurité automatiques activées

Vérifications et tests (cas de test)

  • Test SSH : ssh localhost doit répondre (ou refuser si service absent) et PermitRootLogin no empêche root.
  • Test de permission : depuis un autre compte non-admin, tenter ls /home/username doit retourner “Permission denied”.
  • Test fstab : mount | grep /run/shm montre les options prises en compte.
  • Scanner local des ports : ss -tulpn confirme les services écoutant.

Notes sur la vie privée et conformité (GDPR)

  • Chiffrez les données personnelles et limitez les sauvegardes non chiffrées.
  • Documentez qui a accès aux comptes administrateurs et conservez des journaux d’accès pour l’audit.
  • Supprimez les comptes et données d’anciens utilisateurs conformément aux obligations de conservation.

Résumé et étapes suivantes

Vous disposez maintenant d’un plan simple et reproductible pour durcir une installation Ubuntu fraîche. Commencez par les réglages de /etc/fstab, permissions /home et SSH, puis complétez par des pare-feu, AppArmor et mises à jour automatiques. Testez chaque changement et conservez une procédure de réversibilité (sauvegarde des fichiers de configuration avant modification).

Pour aller plus loin : auditez régulièrement, automatisez les mises à jour de sécurité, et utilisez des outils d’audit comme Lynis pour détecter d’autres recommandations spécifiques à votre configuration.

Résumé des principaux enseignements

  • Protégez les comptes et limitez l’accès root
  • Réduisez la surface d’attaque (services, exécution dans /run/shm)
  • Appliquez les mises à jour et utilisez un pare-feu
  • Testez et documentez les changements

Pour plus d’informations et des guides détaillés, consultez la documentation officielle d’Ubuntu et le wiki communautaire.

Auteur
Édition

Matériaux similaires

Trading d'options : guide stratégique pour débutants
Finance

Trading d'options : guide stratégique pour débutants

Envoyer des SMS gratuits en ligne
Télécom

Envoyer des SMS gratuits en ligne

Empêcher l'expiration du mot de passe local
Windows

Empêcher l'expiration du mot de passe local

Réduire la taille des photos sur iPhone
Photographie

Réduire la taille des photos sur iPhone

Message important batterie iPhone : causes et solutions
Assistance iPhone

Message important batterie iPhone : causes et solutions

Installer Apache Cassandra sur CentOS 7
Bases de données

Installer Apache Cassandra sur CentOS 7