← retour aux snippets

iptables string: détecter des patterns simples

Utiliser -m string pour matcher une chaîne dans la payload (HTTP Host, User-Agent) et agir.

bash security #iptables#string#filter

objectif

Appliquer un filtrage basique en L7 sans proxy (à manier avec précaution).

code minimal

sudo iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string "bad-bot" -j DROP

utilisation

# matcher un Host
sudo iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string "Host: admin.data.pm" -j ACCEPT

variante(s) utile(s)

# insensible à la casse (-icase si supporté) sinon utilisez -m u32 (avancé)
true

notes

  • fragile (chiffrement, fragmentation, variations).
  • préférez un WAF/proxy pour du L7 sérieux.