précisions et renommage
authorWilly MANGA <willy.manga@auf.org>
Fri, 10 May 2013 10:39:57 +0000 (11:39 +0100)
committerWilly MANGA <willy.manga@auf.org>
Fri, 10 May 2013 10:39:57 +0000 (11:39 +0100)
scripts/parefeu/firewall.bangui

index 502184c..bb43e43 100644 (file)
@@ -25,8 +25,8 @@ IP_DNS=192.168.10.2
 IP_MAIL=192.168.10.2
 IP_VOIP=192.168.10.5 #XXX
 
-NAT_USAGER=77.70.183.124
-NAT_RPV=77.70.183.124
+NAT_USAGER=77.70.183.125
+NAT_RPV=77.70.183.125
 NAT_DMZ_DNS=77.70.183.125
 NAT_DMZ_MAIL=77.70.183.125
 NAT_DMZ_WEB=77.70.183.125
@@ -40,12 +40,12 @@ IF_IPSEC="ipsec0"
 
 
 # on efface tout
-$IPF -F INPUT
-$IPF -F FORWARD
-$IPF -F OUTPUT
-$IPN -F PREROUTING
-$IPN -F POSTROUTING
-$IPM -F FORWARD
+$IPF -F
+$IPF -X
+$IPN -F
+$IPN -X
+$IPM -F
+$IPM -X
 
 
 # par defaut on ferme tout (sauf en sortie)
@@ -78,44 +78,52 @@ $IPF -A FORWARD -p icmp   --icmp-type echo-request \
 $IPF -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
 
 ## le reste avec des chaines perso
+$IPF -N internet-fw
+$IPF -N ScanD
+$IPF -N DDoS
+$IPF -N dmz-internet
+$IPF -N dmz-LANrpv
+$IPF -N dmz-LANusager
+$IPF -N to-dmz
+$IPF -N to-montreal
+$IPF -N LANrpv-internet
+$IPF -N LANrpv-dmz
+$IPF -N LANusager-internet
+$IPF -N LANusager-dmz
+
+
 # En provenance de l'extérieur pour le parefeu
-$IPF -N from-outside
-$IPF -A INPUT -i $IF_INTERNET -j from-outside
+$IPF -A INPUT -i $IF_INTERNET -j internet-fw
 
-$IPF -N ScanD
 $IPF -A ScanD -m limit --limit 1/s -j LOG \
                --log-prefix "[Port Scan?]DROP "
 $IPF -A ScanD -j DROP
 
-$IPF -A from-outside -p tcp --tcp-flags ALL NONE -j ScanD
-$IPF -A from-outside -p tcp --tcp-flags SYN,FIN SYN,FIN -j ScanD
-$IPF -A from-outside -p tcp --tcp-flags SYN,RST SYN,RST -j ScanD
-$IPF -A from-outside -p tcp --tcp-flags FIN,RST FIN,RST -j ScanD
-$IPF -A from-outside -p tcp --tcp-flags ACK,FIN FIN -j ScanD
-$IPF -A from-outside -p tcp --tcp-flags ACK,PSH PSH -j ScanD
-$IPF -A from-outside -p tcp --tcp-flags ACK,URG URG -j ScanD
+$IPF -A internet-fw -p tcp --tcp-flags ALL NONE -j ScanD
+$IPF -A internet-fw -p tcp --tcp-flags SYN,FIN SYN,FIN -j ScanD
+$IPF -A internet-fw -p tcp --tcp-flags SYN,RST SYN,RST -j ScanD
+$IPF -A internet-fw -p tcp --tcp-flags FIN,RST FIN,RST -j ScanD
+$IPF -A internet-fw -p tcp --tcp-flags ACK,FIN FIN -j ScanD
+$IPF -A internet-fw -p tcp --tcp-flags ACK,PSH PSH -j ScanD
+$IPF -A internet-fw -p tcp --tcp-flags ACK,URG URG -j ScanD
 
-$IPF -N DDoS 
+$IPF -A internet-fw -p tcp --tcp-flags SYN,RST,ACK SYN -j DDoS
 $IPF -A DDoS -m limit --limit 5/s --limit-burst 10 -j RETURN
 $IPF -A DDoS -j LOG --log-prefix "[DOS Attack/SYN Scan?]DROP "
 $IPF -A DDoS -j DROP
 
-$IPF -A from-outside -p tcp --tcp-flags SYN,RST,ACK SYN -j DDoS
 
-$IPF -A from-outside -d 255.255.255.255 -m limit --limit 1/s -j LOG --log-prefix "[INPUT Broadcast]DROP "
-$IPF -A from-outside -d 255.255.255.255 -j DROP
+$IPF -A internet-fw -d 255.255.255.255 -m limit --limit 1/s -j LOG --log-prefix "[INPUT Broadcast]DROP "
+$IPF -A internet-fw -d 255.255.255.255 -j DROP
 
 
 # FORWARD en provenance de la DMZ
-$IPF -N from-dmz
-$IPF -A FORWARD -i $IF_DMZ -j from-dmz
-$IPF -A from-dmz ! -o $IF_INTERNET -j ACCEPT
-
-$IPF -A from-dmz -s $IP_VOIP -p udp --dport 4569 -j ACCEPT
-$IPF -A from-dmz -s $IP_VOIP -p tcp --dport 4569 -j ACCEPT
+$IPF -A FORWARD -i $IF_DMZ -o $IF_INTERNET -j dmz-internet
+$IPF -A FORWARD -i $IF_DMZ -o $IF_RPV -j dmz-LANrpv
+$IPF -A FORWARD -i $IF_DMZ -o $IF_USAGER -j dmz-LANusager
 
-$IPF -N dmz-internet
-$IPF -A from-dmz -o $IF_INTERNET -j dmz-internet
+$IPF -A dmz-internet -s $IP_VOIP -p udp --dport 4569 -j ACCEPT
+$IPF -A dmz-internet -s $IP_VOIP -p tcp --dport 4569 -j ACCEPT
 
 $IPF -A dmz-internet -s $IP_DNS -p udp --dport 53 -j ACCEPT
 $IPF -A dmz-internet -s $IP_DNS -p tcp -m state --STATE NEW \
@@ -124,11 +132,15 @@ $IPF -A dmz-internet -s $IP_DNS -p tcp -m state --STATE NEW \
 $IPF -A dmz-internet -s $IP_MAIL -p tcp -m multiport \
                --dport  25,587 -j ACCEPT
 
-$IPF -A dmz-internet -s $IP_WEB -p tcp -m state --state NEW \
-               --dport 80 -j ACCEPT
+$IPF -A dmz-LANrpv -s $IP_DNS -p udp --dport 53 -j ACCEPT
+$IPF -A dmz-LANrpv -s $IP_DNS -p tcp -m state --STATE NEW \
+       --dport 53 -j ACCEPT
+
+$IPF -A dmz-LANusager -s $IP_DNS -p udp --dport 53 -j ACCEPT
+$IPF -A dmz-LANusager -s $IP_DNS -p tcp -m state --STATE NEW \
+       --dport 53 -j ACCEPT
 
 # FORWARD en direction de la DMZ
-$IPF -N to-dmz
 $IPF -A FORWARD -o $IF_DMZ -j to-dmz
 
 $IPF -A to-dmz -d $IP_DNS -p udp --dport 53 -j ACCEPT
@@ -146,42 +158,57 @@ $IPF -A to-dmz -d $IP_VOIP -p tcp -m state --state NEW \
 $IPF -A to-dmz -d $IP_VOIP -p udp --dport 4569 -j ACCEPT
 
 # FORWARD vers montréal
-$IPF -N to-montreal
 $IPF -A FORWARD -o $IF_IPSEC -j to-montreal
 
 $IPF -A to-montreal -i $IF_RPV -j ACCEPT
 
 $IPF -A to-montreal -i $IF_DMZ -p tcp -m state --state NEW \
        --dport 53 -s $IP_DNS -j ACCEPT
-$IPF -A to-montreal -i $IF_DMZ -p udp --dport 53 -j ACCEPT
+$IPF -A to-montreal -i $IF_DMZ -s $IP_DNS -p udp --dport 53 -j ACCEPT
 
 $IPF -A to-montreal -j LOG --log-prefix " TROU RPV: "
 $IPF -A to-montreal -j REJECT
 
 
 #En provenance du RPV interne, en FORWARD
-$IPF -N from-inside-rpv
-$IPF -A FORWARD -i $IF_RPV -j from-inside-rpv
+$IPF -A FORWARD -i $IF_RPV -o $IF_INTERNET -j LANrpv-internet
 
 for TCP in 20 21 22 80 110 123 220 443 587 993 995 3690 5222 \
                5223 5050 6667 11371 8443 9418
 do
-       $IPF -A from-inside-rpv -o $IF_INTERNET -p tcp --dport $TCP \
+       $IPF -A LANrpv-internet  -p tcp --dport $TCP \
+               -m state --state NEW -j ACCEPT
+done
+
+
+$IPF -A FORWARD -i $IF_RPV -o $IF_DMZ -j LANrpv-dmz
+
+for TCP in 53 80 110 123 220 443 587 993 995
+do
+       $IPF -A LANrpv-dmz  -p tcp --dport $TCP \
                -m state --state NEW -j ACCEPT
 done
+$IPF -A LANrpv-dmz -d $IP_DNS -p udp --dport 53 -j ACCEPT
 
 #En provenance du LAN, en FORWARD
-$IPF -N from-inside
-$IPF -A FORWARD -i $IF_USAGER -j from-inside
+$IPF -A FORWARD -i $IF_USAGER -o $IF_INTERNET -j LANusager-internet
 
 for TCP in 20 21 22 80 110 123 220 443 587 993 995 3690 5222 \
                5223 5050 6667 11371 8443 9418
 do
-       $IPF -A from-inside -o $IF_INTERNET -p tcp --dport $TCP \
+       $IPF -A LANusager-internet -p tcp --dport $TCP \
                -m state --state NEW -j ACCEPT
 done
 
 
+$IPF -A FORWARD -i $IF_USAGER -o $IF_DMZ -j LANusager-dmz
+
+for TCP in 53 80 110 123 220 443 587 993 995
+do
+       $IPF -A LANusager-dmz  -p tcp --dport $TCP \
+               -m state --state NEW -j ACCEPT
+done
+$IPF -A LANusager-dmz -d $IP_DNS -p udp --dport 53 -j ACCEPT
 
 # Table NAT , chain : PREROUTING
 $IPN -A PREROUTING -i $IF_INTERNET -p udp -d $NAT_DMZ_DNS \