echo "[Démarrage du firewall]" ############################### REGLES PAR DEFAUT ########################### echo "[Initialisation de la table filter]" # Nous vidons les chaînes : iptables -F # Nous supprimons d'éventuelles chaînes personnelles : iptables -X # On ignore tout ce qui entre ou transite par la passerelle iptables -P INPUT DROP iptables -P FORWARD DROP # On accepte tout ce qui sort ##############################!!!!!!! iptables -P OUTPUT ACCEPT ############################### LOCAL ########################### echo "[Initialisation de l'acces local]" # Nous considérons que la machine elle même est sûre # et que les processus locaux peuvent communiquer entre eux # via l'interface locale : iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # Nous considérons que notre réseau local est # également sûr (ce qui n'est pas forcément vrai, d'ailleurs). iptables -A INPUT -i eth1 -j ACCEPT iptables -A OUTPUT -o eth1 -j ACCEPT ############################### TABLES NAT ET MANGLE ############################# echo "[Initialisation des tables nat et mangle]" iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F iptables -t mangle -X iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P OUTPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT #################################### LE MASQUERADING ######################################## # Translation d'adresses pour tout ce qui traverse la passerelle echo "[Mise en place du NAT]" iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Toutes les connexions qui sortent du LAN vers le Net # sont acceptées iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # Seules les connexions déjà établies ou en relation avec # des connexions établies sont acceptées venant du Net vers le LAN iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT ################################# ACTIVATION DE LA PASSERELLE ################## # On déverrouille le "forwarding" echo "[Activation de la passerelle]" echo 1 > /proc/sys/net/ipv4/ip_forward #Le déverrouillage du "forwarding" est également volatile par défaut. Pour remédier à ce problème, éditez le fichier /etc/sysconfig/network . Dedans, il y a une ligne FORWARD_IPV4="no" . Mettez "yes" à la place de "no". #Au prochain redémarrage de votre machine, le routage sera activé par défaut. ################################## PAS DE PING ############################### #Modifie pour autoriser le ping depuis le local iptables -A INPUT -i eth0 -p icmp -m state --state RELATED -j ACCEPT iptables -A INPUT -i eth1 -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ##Bloquer tous les paquets icmp #echo "[Pas de ping]" #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts #if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ] ; then # echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses #fi ############################ Fonctionnalités serveurs ##################################### echo "[Etude des fonctionalités serveurs, visibles depuis internet ]" # A ce stade, tous vos clients du réseau local et de la passerelle ont accès à internet. Mieux, # vos clients du réseau local, ont accès à vos serveurs apache, proftp ... localement. Mais personne # depuis internet ne peux accéder à l'un des serveurs que vous hébergés. echo "[autorisation du serveur ssh(22) ...]" iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT echo "[autorisation du serveur http(80) ...]" iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT echo "[autorisation du serveur https(443) ...]" iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT echo "[autorisation du serveur FTP(21) ...]" iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT #echo "[autorisation du serveur smtp(25) ...]" #iptables -A INPUT -p tcp --dport smtp -j ACCEPT #echo "[autorisation du serveur DNS(53) ...]" #iptables -A INPUT -p udp --dport domain -j ACCEPT #iptables -A INPUT -p tcp --dport domain -j ACCEPT #echo "[autorisation du serveur irc(6667) ...]" #iptables -A INPUT -p tcp --dport ircd -j ACCEPT #echo "[autorisation du serveur cvs (2401) ...]" #iptables -A INPUT -p tcp --dport cvspserver -j ACCEPT # Ne pas décommenter les 3 lignes qui suivent. # Plus généralement : #echo "[autorisation du serveur Mon_truc(10584) ...]" #iptables -A INPUT -p tcp --dport 10584 -j ACCEPT ############################ Routage ##################################### #Emule, Bittorrent et autres #INdiquer bonne IP pour -d #6683 iptables -t nat -A PREROUTING -d momo.servegame.org -p tcp --dport 6683 -j DNAT --to-destination 192.168.0.100:6683