firewall : pourriez vous regarder svp ? + comment le tester ?

firewall : pourriez vous regarder svp ? + comment le tester ? - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 19-01-2004 à 15:46:27    

Bonjour,
j'ai "fait" un  firewall, si vous avez le temps de jeter un coup d'oeuil dessus ;) :D
 
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 :
  1. #!/bin/sh
  2. #charement des modules de suivit de connection #
  3. modprobe ip_conntrack
  4. modprobe ip_conntrack_ftp
  5. modprobe ip_conntrack_irc
  6. IEXT=eth0
  7. IDMZ=eth1
  8. ILAN=eth2
  9. IPT=iptables
  10. LAN="192.168.1.0/24"
  11. DMZ="192.168.0.1/24"
  12. LOCALHOST="127.0.0.1"
  13. case "$1" in
  14.     start)
  15.     echo 1 > /proc/sys/net/ipv4/ip_forward
  16.     # BEGIN FIREWALLING
  17.     #Vide toutes les tables et chaines
  18.     $IPT -F
  19.     $IPT -X
  20.     #Règle par defaut
  21.     $IPT -P INPUT DROP
  22.     $IPT -P OUTPUT DROP
  23.     $IPT -P FORWARD DROP
  24.     # DROP BAD TCP PACKETS
  25.     #$IPT -A INPUT -p ICMP -j DROP
  26.     $IPT -A INPUT -p ICMP -j  ACCEPT
  27.     $IPT -A OUTPUT -p ICMP -j  ACCEPT
  28.     $IPT -A FORWARD -p ICMP -j  ACCEPT
  29.     #SUR LE FIREWALL
  30.     #authoriser le loop
  31.     $IPT -t filter -A OUTPUT -o lo -s 127.0.0.0/8 -j ACCEPT
  32.     $IPT -t filter -A INPUT  -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
  33.    
  34.     #authoriser le ssh
  35.     $IPT -A INPUT -i $ILAN -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
  36.     $IPT -A OUTPUT -o $ILAN -p tcp --sport 22 -d 192.168.1.0/24 -j ACCEPT
  37. #TRAVAIL SUR LA DMZ , FORWARD
  38.    #vers ftp, pour la mise a jour des serveurs, sera remplacer par le proxy
  39.    $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.0/24 -p tcp --dport 21 -j ACCEPT
  40.    $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.0/24 -p tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
  41.    #vers les serveurs DNS pour le serveur DNS interne
  42.    #$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
  43.    $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p tcp --dport 53 -j ACCEPT
  44.    $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
  45.    $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p udp --dport 53 -j ACCEPT
  46.    $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
  47.   #Authorise les connections en sortant pour le serveur web
  48.   $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p tcp --sport 80 -j ACCEPT
  49.   $IPT -A FORWARD -i $IDMZ -o $IEXT -s 192.168.0.6 -p udp --sport 80 -j ACCEPT
  50.   $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p udp --dport 80 -j ACCEPT
  51.   $IPT -A FORWARD -i $IEXT -o $IDMZ -d 192.168.0.6 -p tcp --dport 80 -j ACCEPT
  52. #TRAVAIL SUR LE LAN, FORWARD , exterieur/interieur
  53.    #vers le http, sera rediriger vers le proxy
  54.    #ne pas ouvlier apres d'accepter le
  55.    $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p tcp --dport 80  -j ACCEPT
  56.    $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p udp --dport 80  -j ACCEPT
  57.    $IPT -A FORWARD -i $IEXT -o $ILAN -d 192.168.1.0/24 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
  58.    $IPT -A FORWARD -i $IEXT -o $ILAN -d 192.168.1.0/24 -p udp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
  59.    #vers le https
  60.    $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p tcp --dport 443 -j ACCEPT
  61.    $IPT -A FORWARD -i $ILAN -o $IEXT -s 192.168.1.0/24 -p udp --dport 443 -j ACCEPT
  62.    $IPT -A FORWARD -i $IEXT -o $ILAN -d 192.168.1.0/24 -p tcp --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
  63.    $IPT -A FORWARD -i $IE #TRAVAIL SUR LE LAN : LAN <=> DMZ
  64.    #ssh
  65.    $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
  66.    $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
  67.  
  68.    #postgresql
  69.     $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
  70.     $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
  71.     $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
  72.     $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
  73.  
  74.   #dns
  75.    $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
  76.    $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
  77.    $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
  78.    $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
  79.          
  80.   #openldap
  81.   $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
  82.   $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
  83.   $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
  84.   $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
  85.   #Pour le serveur web dans la dmz
  86.   $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
  87.   $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
  88.   $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
  89.   $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
  90.  
  91. #MISE EN PALCE DU MASQUERIDING
  92.   $IPT -t nat -A POSTROUTING -o $IEXT -j MASQUERADE
  93.   $IPT -t nat -A POSTROUTING -o $ILAN -j MASQUERADE
  94.   $IPT -t nat -A POSTROUTING -o $IDMZ -j MASQUERADE
  95. XT -o $ILAN -s 192.168.1.0/24 -p tcp --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
  96.     # SPECIAL RULES  NAT
  97. #    $IPT -t nat -A PREROUTING -p tcp --dport 42 -j DNAT --to 192.168.0.5:22
  98.     $IPT -t nat -A PREROUTING  -p tcp -i $IEXT --dport 8080 -j DNAT --to 192.168.0.6:80
  99. #    $IPT -t nat -A PREROUTING -p tcp --dport 4662 -j DNAT --to 192.168.0.5
  100. #    $IPT -t nat -A PREROUTING -p udp --dport 4666 -j DNAT --to 192.168.0.5
  101. #    $IPT -t nat -A PREROUTING -p tcp --dport 47624 -j DNAT --to 192.168.0.5
  102. #    $IPT -t nat -A PREROUTING -p udp --dport 47624 -j DNAT --to 192.168.0.5
  103. #    $IPT -t nat -A PREROUTING -p upd --dport 2300:2399 -j DNAT --to 192.168.0.5
  104.    
  105.     # DONE FIREWALLING
  106.        
  107.         ;;
  108.     stop)
  109.         # STOP FIREWALLING
  110.         echo 0 > /proc/sys/net/ipv4/ip_forward
  111.         $IPT -X udpincoming_packets
  112.         $IPT -X tcp_packets
  113.         $IPT -X icmp_packets
  114.        
  115.         $IPT -F
  116.         ;;
  117.     *) 
  118.         echo "Usage: firewall {start|stop}"
  119.         ;;
  120. esac
  121. exit 0


Reply

Marsh Posté le 19-01-2004 à 15:46:27   

Reply

Marsh Posté le 19-01-2004 à 15:49:20    

l'archi reseau est :  
 
{conex externet}------[passerelle/fw]-------[clients-LAN]
                             |
                             |
                             |
                             |
                        [serveurs-DMZ]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed