1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| #!/bin/sh
####################### Config IPTABLES #######################
iptables -F
#mettre la police par defaut DROP sur INPUT et FORWARD
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
#Pour accepter tout ce qui ce passe sur l'interface lo
iptables -A INPUT -i l0 -j ACCEPT
iptables -A OUTPUT -o l0 -j ACCEPT
#Pour accepter tout ce qui se passe sur le réseau local.
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
#pour activer le NAT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.5.0/24 -j SNAT --to-source 192.168.2.30
#Pour Accepter la resolution de nom DNS pour le firewall
iptables -A INPUT -i eth1 -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth1 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --dport 53 -j ACCEPT
#autoriser la connexion entre internet et le réseau privé
echo 1 > /proc/sys/net/ipv4/ip_forward
# Ouvrir le http
iptables -A OUTPUT -p tcp -o eth1 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp -o eth1 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -i eth1 --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Ouvrir le https
iptables -A OUTPUT -p tcp -o eth1 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp -o eth1 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -i eth1 --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Ouvrir le ftp
modprode ip_conntrack_ftp
iptables -A OUTPUT -p tcp -o eth1 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 21 -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --sport 21 -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 20 -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --sport 20 -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Ouvrir le pop
iptables -A OUTPUT -p tcp -o eth1 --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --sport 110 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp -o eth1 --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -i eth1 --sport 110 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --sport 110 -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Ouvrir le smtp
iptables -A OUTPUT -p tcp -o eth1 --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --sport 25 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp -o eth1 --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -i eth1 --sport 25 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --sport 25 -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# autorise les paquets icmp (ping, traceroute, etc.) de mon ordinateur vers internet
# (mais pas d'internet vers mon ordinateur)
iptables -A INPUT -i eth1 -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# Pour se protéger contre ping of death
#iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# pour se protéger contre les scans
#iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT |
Partager