19 oct. 20242 min de lecture
Cheat sheet — Linux défense : iptables & auditd
Filtrage réseau avec iptables (tables, chaînes INPUT/OUTPUT/FORWARD, cibles, NAT, limites anti-DDoS) et audit système avec auditd (règles de surveillance fichiers/syscalls, ausearch, aureport, règles persistantes).
intermediate#linux#iptables#auditd#hardening#defense#cheatsheet
Mis à jour le 21 sept. 2026
iptables — filtrage réseau
Tables : FILTER (défaut), NAT, MANGLE. Chaînes : INPUT (entrant), OUTPUT (sortant), FORWARD (traversant).
iptables -L --line-numbers # lister (table FILTER)
iptables -t nat -L # lister une autre table
Gérer les règles
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # ajouter (fin de chaîne)
iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT # insérer en position 1
iptables -R INPUT 2 -p tcp --dport 80 -j ACCEPT # remplacer
iptables -D INPUT 3 # supprimer (par n°)
iptables -F INPUT # vider la chaîne
iptables -P INPUT DROP # politique par défaut
Critères & cibles
- Protocole
-p tcp|udp|icmp, source-s, destination-d, interfaces-i/-o, ports--sport/--dport, multi-ports-m multiport --dports 80,443. - Cibles (
-j) :ACCEPT,DROP(silencieux),REJECT(avec réponse),LOG.
Recettes
# Tout bloquer sauf SSH
iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Redirection (NAT)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.200:80
# Limiter le débit (anti-brute-force / DDoS léger)
iptables -A INPUT -p tcp --dport 22 -m limit --limit 5/minute -j ACCEPT
auditd — audit système
Règles à chaud (auditctl)
# Surveiller un fichier
auditctl -w /etc/shadow -p rwxa -k shadow_watch
# -p : r(lecture) w(écriture) x(exécution) a(attribut) ; -k : clé de recherche
# Surveiller un appel système
auditctl -a always,exit -S execve -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -k passwd_exec
auditctl -l # lister les règles actives
auditctl -W /chemin # retirer une watch
Filtres -F fréquents : path=, perm=rwx, auid= (UID d’audit), uid=,
euid=, arch=b64 (requis pour les syscalls), success=0/1.
Exploiter les logs
ausearch -k shadow_watch # par clé
ausearch -ua 1000 # par UID
ausearch -c passwd # par commande
ausearch --start today
aureport -x --summary # exécutions
aureport -f # fichiers
aureport -u # utilisateurs
Règles persistantes
# Fichiers : /etc/audit/rules.d/*.rules
sudo augenrules --load
Bonnes pratiques : une clé -k par règle, éviter les règles trop
génériques (logs massifs), corréler dans un SIEM.