!/bin/sh #on commence par vider toutes les regles iptables --flush #par defaut on supprime tous les paquets iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #autorisation interface locale iptables -t filter -A OUTPUT -o lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT iptables -t filter -A INPUT -i lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT #autorisation réseau locale iptables -t filter -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j ACCEPT iptables -t filter -A INPUT -i eth0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j ACCEPT #on supprime les connections entrantes si elles n'ont pas été initié par ma machine iptables -A INPUT -m state --state NEW -j DROP #on accepte les connections entrantes si elles ont été initiées par notre machine et les connections sortantes venant de la machine sur les ports 21,22,80,443,115(sftp) iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -p tcp --dport 21 -m state --state ! INVALID -j ACCEPT iptables -A INPUT -i eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -p tcp --sport 21 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -p tcp --dport 22 -m state --state ! INVALID -j ACCEPT iptables -A INPUT -i eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -p tcp --sport 22 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -p tcp --dport 80 -m state --state ! INVALID -j ACCEPT iptables -A INPUT -i eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -p tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -p tcp --dport sftp -m state --state ! INVALID -j ACCEPT iptables -A INPUT -i eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -p tcp --sport sftp -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -p tcp --dport 443 -m state --state ! INVALID -j ACCEPT iptables -A INPUT -i eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -p tcp --sport 443 -m state --state RELATED,ESTABLISHED -j ACCEPT #pour bloquer les requetes ping sur notre machine # iptables -A INPUT --protocol icmp --icmp-type echo-request -j DROP # log /var/log/messages iptables -t filter -A INPUT -d 192.168.1.0/24 -s 0.0.0.0/0 -j LOG --log-prefix="Firewall "