← retour aux snippets

iptables: filtrer par utilisateur (owner)

Appliquer des règles en fonction de l'UID/GID du processus émetteur sur OUTPUT.

bash security #iptables#owner#uid

objectif

Empêcher un utilisateur/service donné d’émettre du trafic vers Internet.

code minimal

# bloquer tout trafic sortant de l'utilisateur 'build'
sudo iptables -A OUTPUT -m owner --uid-owner build -j REJECT

utilisation

# autoriser uniquement DNS/HTTP(S) pour 'deploy'
sudo iptables -A OUTPUT -m owner --uid-owner deploy -p udp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -m owner --uid-owner deploy -p tcp -m multiport --dports 80,443 -j ACCEPT
sudo iptables -A OUTPUT -m owner --uid-owner deploy -j REJECT

variante(s) utile(s)

# par groupe
sudo iptables -A OUTPUT -m owner --gid-owner web -j REJECT

notes

  • fonctionne seulement dans la table OUTPUT (trafic local).
  • combinez avec des users dédiés par service.