#!/bin/bash # script iptables (relativement permissif) d'une machine de supervision ## - les admins peuvent se connecter en SSH sur la machine ## - toute personne peut accéder à la supervision (service web) ## - la machine peut accéder à la prod ## - les machines de prod peuvent accéder en ssh à la machine de supervision ipt=/sbin/iptables # le sous-reseau de production prod=a.b.c.d/e # les @ip fixes des admins admin1=a.b.c.x admin2=a.b.c.y admin3=a.b.c.z ### raz $ipt -t filter -F $ipt -t filter -X ### loopback : ok $ipt -A INPUT -i lo -j ACCEPT $ipt -A OUTPUT -o lo -j ACCEPT ### par defaut : nok $ipt -P INPUT DROP $ipt -P OUTPUT DROP $ipt -P FORWARD DROP ### reponses/sessions : ok $ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $ipt -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ### admins # ssh $ipt -A INPUT -p tcp -s $admin1 --dport 22 -m state --state NEW -j ACCEPT $ipt -A INPUT -p tcp -s $admin2 --dport 22 -m state --state NEW -j ACCEPT $ipt -A INPUT -p tcp -s $admin3 --dport 22 -m state --state NEW -j ACCEPT # ping/icmp $ipt -A INPUT -p icmp -s $admin1 -j ACCEPT $ipt -A INPUT -p icmp -s $admin2 -j ACCEPT $ipt -A INPUT -p icmp -s $admin3 -j ACCEPT $ipt -A INPUT -p icmp -s $prod -j ACCEPT ### interface web $ipt -A INPUT -p tcp --dport 80 -j ACCEPT $ipt -A INPUT -p tcp --dport 443 -j ACCEPT ### prod $ipt -A OUTPUT -p tcp -d $prod -j ACCEPT $ipt -A INPUT -p tcp -s $prod --dport 22 -m state --state NEW -j ACCEPT ### pour finir # tout trafic entrant non prevu : nok $ipt -A INPUT -j DROP