RousselTMLEARNING

Article · Linux administration: from discovery to expertise

Linux best practices

This article is available in French.

1. Accès et comptes #

Savoir qui fait quoi.

Règles #

  • Comptes nominatifs, jamais de connexion directe en root ni de compte partagé.
  • Authentification SSH par clé uniquement, clés protégées par phrase de passe, bastion pour l'accès depuis Internet.
  • sudo limité aux commandes nécessaires, édité avec visudo dans /etc/sudoers.d/.
  • Comptes de service sans shell, un par application.
  • Revue trimestrielle des comptes, des groupes et des authorized_keys.

2. Système et services #

Un serveur prévisible.

Règles #

  • Distribution avec support long, installation minimale.
  • Correctifs de sécurité automatiques ; redémarrages planifiés quand /var/run/reboot-required existe.
  • Services gérés par systemd, avec Restart=on-failure et options de sandboxing.
  • Jamais de modification des unités fournies par les paquets : systemctl edit.
  • Timers systemd plutôt que cron pour la journalisation et le rattrapage.
  • Heure synchronisée (timedatectl, chrony) : indispensable pour corréler les journaux.

3. Stockage, réseau et sécurité #

Les sources d'incidents évitables.

Règles #

  • LVM avec de l'espace libre dans le VG ; UUID et nofail dans fstab ; mount -a avant tout redémarrage.
  • Séparer les données (/var/lib, /srv) du système pour qu'un remplissage ne bloque pas l'OS.
  • Pare-feu en refus par défaut, seuls les ports nécessaires ouverts, et uniquement aux sources nécessaires.
  • Services internes en écoute sur 127.0.0.1 ou sur le réseau privé.
  • SELinux ou AppArmor en mode enforcing.
  • fail2ban sur les services exposés, journaux d'authentification centralisés.

4. Exploitation #

Durer.

Règles #

  • Sauvegardes 3-2-1, chiffrées, avec test de restauration régulier.
  • Supervision des disques, de la mémoire, des services, des sauvegardes et des certificats, avec des alertes actionnables.
  • Toute configuration décrite dans Git et appliquée par Ansible : le serveur doit pouvoir être reconstruit.
  • Scripts avec set -euo pipefail, vérifiés par ShellCheck.
  • Chaque intervention tracée (ticket, commandes), avec un plan de retour arrière.

Schéma de référence et vérification rapide #

Check-list.

Check-list #

Serveur Linux de référence
Accès maîtrisés, réseau filtré, sauvegardes, supervision et configuration as code.
cat /etc/os-release ; uname -r ; uptime
sudo apt list --upgradable 2>/dev/null | wc -l ; ls /var/run/reboot-required 2>/dev/null
sudo sshd -T | grep -E 'permitrootlogin|passwordauthentication'
sudo ufw status verbose || sudo firewall-cmd --list-all
ss -tlnp
systemctl --failed
df -h ; df -i ; free -h
sudo journalctl -p err -b --no-pager | tail
getent group sudo ; sudo ls /etc/sudoers.d
systemctl list-timers | grep -i backup ; restic snapshots --latest 1
timedatectl | grep synchronized
getenforce 2>/dev/null || sudo aa-status | head -3

📄 Bonnes pratiques d'administration Linux →

My progress

  • ⏱ Estimated time : ≈ 6 min

Sign in to track your progress and take notes. Sign in

✉️ Ask a question

Recommended Articles

Package managers

The different package managers for Kubernetes and their advantages.