RousselTMLEARNING

Systèmes & Linux

Bonnes pratiques d'administration Linux

Check-list pour administrer des serveurs Linux : comptes et sudo, SSH, mises à jour, services systemd, stockage, réseau et pare-feu, sauvegardes testées, supervision, automatisation et documentation.

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

Articles liés

Architecture d'un système Linux : noyau, démarrage et arborescence

Comprendre comment fonctionne un serveur Linux : noyau et espace utilisateur, séquence de démarrage UEFI, GRU…

Le shell Bash et les fichiers : navigation, redirections, pipes et traitement de texte

Maîtriser la ligne de commande Linux : chemins, manipulation de fichiers, jokers, redirections, pipes, recher…

Utilisateurs, groupes, sudo et permissions sous Linux

Gérer les comptes Linux (useradd, usermod, passwd, chage), les groupes, sudo et visudo, les permissions rwx e…

Pour aller plus loin