GUG | Bonjour,
j'ai "fait" un firewall, si vous avez le temps de jeter un coup d'oeuil dessus
De plus j'aimerais pouvoir le tester, en fait je doit passer un tpi dessus et je cherche qq chose d'asser parlant ... (et rapide à faire de preference)
Je ne peux utiliser les sites internets de test
Voila merci d avance
Code :
- #!/bin/sh
- #charement des modules de suivit de connection #
- modprobe ip_conntrack
- modprobe ip_conntrack_ftp
- modprobe ip_conntrack_irc
- IEXT=eth0
- IDMZ=eth1
- ILAN=eth2
- IPT=iptables
- LAN="192.168.1.0/24"
- DMZ="192.168.0.1/24"
- LOCALHOST="127.0.0.1"
- case "$1" in
- start)
- echo 1 > /proc/sys/net/ipv4/ip_forward
- # BEGIN FIREWALLING
- #Vide toutes les tables et chaines
- $IPT -F
- $IPT -X
- #Règle par defaut
- $IPT -P INPUT DROP
- $IPT -P OUTPUT DROP
- $IPT -P FORWARD DROP
- # DROP BAD TCP PACKETS
- #$IPT -A INPUT -p ICMP -j DROP
- $IPT -A INPUT -p ICMP -j ACCEPT
- $IPT -A OUTPUT -p ICMP -j ACCEPT
- $IPT -A FORWARD -p ICMP -j ACCEPT
- #SUR LE FIREWALL
- #authoriser le loop
- $IPT -t filter -A OUTPUT -o lo -s 127.0.0.0/8 -j ACCEPT
- $IPT -t filter -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
-
- #authoriser le ssh
- $IPT -A INPUT -i $ILAN -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
- $IPT -A OUTPUT -o $ILAN -p tcp --sport 22 -d 192.168.1.0/24 -j ACCEPT
- #TRAVAIL SUR LA DMZ , FORWARD
- #vers ftp, pour la mise a jour des serveurs, sera remplacer par le proxy
- $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.0/24 -p tcp --dport 21 -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.0/24 -p tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
- #vers les serveurs DNS pour le serveur DNS interne
- #$IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 --mac-source 00:50:BA:1D:A0:5B -p tcp --dport 53 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p tcp --dport 53 -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p udp --dport 53 -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
- #Authorise les connections en sortant pour le serveur web
- $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p tcp --sport 80 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p udp --sport 80 -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p udp --dport 80 -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p tcp --dport 80 -j ACCEPT
- #TRAVAIL SUR LE LAN, FORWARD , exterieur/interieur
- #vers le http, sera rediriger vers le proxy
- #ne pas ouvlier apres d'accepter le
- $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT
- $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p udp --dport 80 -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $ILAN -d 192.168.1.0/24 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $ILAN -d 192.168.1.0/24 -p udp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
- #vers le https
- $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p tcp --dport 443 -j ACCEPT
- $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p udp --dport 443 -j ACCEPT
- $IPT -A FORWARD -i $IEXT -o $ILAN -d 192.168.1.0/24 -p tcp --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
- $IPT -A FORWARD -i $IE #TRAVAIL SUR LE LAN : LAN <=> DMZ
- #ssh
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p tcp --sport 22 -j ACCEPT
-
- #postgresql
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p tcp --dport 5432 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p tcp --sport 5432 -j ACCEPT
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p udp --dport 5432 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p udp --sport 5432 -j ACCEPT
-
- #dns
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p tcp --dport 53 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p tcp --sport 53 -j ACCEPT
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p udp --sport 53 -j ACCEPT
-
- #openldap
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p tcp --dport 389 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p tcp --sport 389 -j ACCEPT
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p udp --dport 389 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p udp --sport 389 -j ACCEPT
- #Pour le serveur web dans la dmz
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p tcp --dport 80 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p tcp --sport 80 -j ACCEPT
- $IPT -A FORWARD -i $ILAN -o $IDMZ -s 192.168.1.0/24 -d 192.168.0.0/24 -p udp --dport 80 -j ACCEPT
- $IPT -A FORWARD -i $IDMZ -o $ILAN -s 192.168.0.0/24 -d 192.168.1.0/24 -p udp --sport 80 -j ACCEPT
-
- #MISE EN PALCE DU MASQUERIDING
- $IPT -t nat -A POSTROUTING -o $IEXT -j MASQUERADE
- $IPT -t nat -A POSTROUTING -o $ILAN -j MASQUERADE
- $IPT -t nat -A POSTROUTING -o $IDMZ -j MASQUERADE
- XT -o $ILAN -s 192.168.1.0/24 -p tcp --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
- # SPECIAL RULES NAT
- # $IPT -t nat -A PREROUTING -p tcp --dport 42 -j DNAT --to 192.168.0.5:22
- $IPT -t nat -A PREROUTING -p tcp -i $IEXT --dport 8080 -j DNAT --to 192.168.0.6:80
- # $IPT -t nat -A PREROUTING -p tcp --dport 4662 -j DNAT --to 192.168.0.5
- # $IPT -t nat -A PREROUTING -p udp --dport 4666 -j DNAT --to 192.168.0.5
- # $IPT -t nat -A PREROUTING -p tcp --dport 47624 -j DNAT --to 192.168.0.5
- # $IPT -t nat -A PREROUTING -p udp --dport 47624 -j DNAT --to 192.168.0.5
- # $IPT -t nat -A PREROUTING -p upd --dport 2300:2399 -j DNAT --to 192.168.0.5
-
- # DONE FIREWALLING
-
- ;;
- stop)
- # STOP FIREWALLING
- echo 0 > /proc/sys/net/ipv4/ip_forward
- $IPT -X udpincoming_packets
- $IPT -X tcp_packets
- $IPT -X icmp_packets
-
- $IPT -F
- ;;
- *)
- echo "Usage: firewall {start|stop}"
- ;;
- esac
- exit 0
|
|