DavidDecotigny

FirewallOVH

Navigation

  • Rechercher un mot :

Firewall pour serveurs OVH


La doc firewall d'ovh est déjà bien complète. Je m'en suis inspiré pour créer le mien, qui n'autorise (pour le moment) que les connexions entrantes sur les ports 2432 (c'est là que j'ai mis mon serveur ssh) et 80. Il refuse tous les autres paquets, y compris les ping ne venant pas des serveurs de monitoring ovh.

Le script de mise en place :
#! /bin/sh

IPT="/sbin/iptables"
IFACE=eth0
MYNET=aaa.bbb.ccc # A personnaliser !!! Recuperer ça par /sbin/ifconfig (cf doc OVH)

case x"$1" in
xstart)
        $IPT -F
        $IPT -X

        $IPT -N FILT

        # Par defaut, autorise les paquets une fois la connexion TCP etablie :
        $IPT -A FILT -m state --state ESTABLISHED,RELATED -j ACCEPT

        # Regles conseillees par OVH (http://guides.ovh.com/FireWall) :
        $IPT -A FILT -p icmp --source proxy.ovh.net -j ACCEPT
        $IPT -A FILT -p icmp --source proxy.p19.ovh.net -j ACCEPT
        $IPT -A FILT -p icmp --source proxy.rbx.ovh.net -j ACCEPT
        $IPT -A FILT -p icmp --source ping.ovh.net -j ACCEPT
        $IPT -A FILT -p icmp --source ${MYNET}.250 -j ACCEPT # IP = aaa.bbb.ccc a partir de l'ip de eth0
        $IPT -A FILT -p icmp --source ${MYNET}.249 -j ACCEPT # temporaire, seulement pour serveurs HG

        # Trous pour les services qui doivent etre accessibles depuis l'exterieur
        $IPT -A FILT -p tcp --dport 2432 -j ACCEPT # mon ssh [le PLUS important !]
        $IPT -A FILT -p tcp --dport 80 -j ACCEPT # www
        # etc...

        # Par defaut, tout ce qui n'est pas explicitement autorise est perdu dans le cosmos
        $IPT -P INPUT DROP
        $IPT -P FORWARD DROP
        $IPT -P OUTPUT ACCEPT # On autorise tout en sortie

        # Pour le loopback, on autorise tout
        $IPT -A INPUT -i lo -j ACCEPT
        $IPT -A FORWARD -i lo -j ACCEPT

        # Pour eth0, on ouvre un nombre controle de trous (definis par la chaine FILT)
        $IPT -A INPUT -i $IFACE -j FILT
        $IPT -A FORWARD -i $IFACE -j FILT

        true
        ;;

xstop)
        $IPT -F
        $IPT -X

        $IPT -P INPUT ACCEPT
        $IPT -P FORWARD ACCEPT
        $IPT -P OUTPUT ACCEPT
        true
        ;;

*)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac


Une fois la variable MYNET configurée dans le script, il suffit d'ajouter ce script dans /etc/init.d/, de le mettre "exécutable" (chmod 755). Et ensuite on peut dire au systeme de l'executer au boot. Pour ma part (ubuntu), j'ai fait :
sudo update-rc.d le_script_firewall multiuser


Je me sers de ce genre de firewall sur d'autres machines: voir ici et pour quelques détails concernant avahi (mdns, rendezvous, etc.) et samba.