Conseil iptables

Bonjour

J'aimerais avoir des conseils pour une règle iptable que je viens de créer en parcourant le net.

Mon réseau et :

Un réseau local en 10.150.20.0 connecté sur proxy squid (eth0 - 10.150.20.1/24) avec (eth1 - 192.168.0.1/24) en sortie internet (jaimerais que le proxy face office de firewall + proxy)

Voici la règle que j'ai créé

-----------------------------
# Vider les tables
iptables -F
iptables -X

# Interdire toutes les connexions entrantes et sortantes
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# pour accepter tous sur la machine locale
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Activer ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

# Autoriser les requettes DNS et WWW
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

# Autoriser le ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

# accepter que le proxy ai une connexion internet directe
iptables -A OUTPUT -o eth1 -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT

# LAN = Acces internet complet
#iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
#iptables -A FORWARD -o eth1 -i ppp0 -j ACCEPT

# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Rendre le proxy transparent
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.150.20.1:3128

# MASQUERADE eth0 vers eth1
iptables -t nat -A POSTROUTING -s 10.150.20.0/24 -j MASQUERADE

# Toutes les règles qui n'on pas passé seront refusées
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP
iptables -A OUTPUT -j DROP

------------------------------------

Pensez vous que les règles sont correctes

Merci
Configuration: Windows XP
Firefox 2.0.0.4

8 réponses

  1. salut
    je vois pas l'interet de ta derniere regle si tu mets (au debut) DROP par defaut

    d'un point de vue secure je te dirais de refuser le ping ou alors d'imposer une limite au nombre de ping

    je ne sais plus si c'est faisable mais je te dirais de ne garder le ESTABLISHED et RELATED seulement pour les connexions que tu as specifie.

    apres je vais m'arreter la sinon je vais dire encore plus de betises
    1. Modérateur
      Salut,
      au lieu de
      echo 1 > /proc/sys/net/ipv4/ip_forward


      edite plutôt le fichier /etc/sysctl
      et mets la ligne
      net.ipv4.ip_forward = 1
      # Toutes les règles qui n'on pas passé seront refusées
      iptables -A INPUT -j DROP
      iptables -A FORWARD -j DROP
      iptables -A OUTPUT -j DROP


      Inutile, tu as déjà fixé la politique de tes chaînes au début de script

      Tu as 2 cartes reséaux eth0 et eth1 mais je ne vois pas de communication entre les interfaces (chaîne FORWARD)

      1. OK, merci

        Que faut-il rajouter pour fowarder uniquement le port 80

        Merci
        1. Est-ce que cette règle est bonne

          #Fowarding du lan vers l'Internet
          iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
          iptables -A FORWARD -p tcp --sport 80 -j ACCEPT

          Merci
          1. Contributeur
            salut

            à voir =>>

            # Cela bloqueras les scans de ports dit < furtifs >> n accepte que les paquets TCP avec le flag SYN

            iptables -A INPUT -i lo -j ACCEPT
            iptables -A INPUT -m state --state INVALID -j DROP
            iptables -A INPUT -m state --state NEW,RELATED -p tcp --tcp-flags ! ALL SYN -j DROP
            iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
            iptables -A INPUT -j DROP

            # Filtrage des broadcasts

            iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP

            # Delais à l etablissement de certaines connection ( FTP ou SMTP )

            iptables -A INPUT -p tcp --destination-port auth -j REJECT --reject-with tcp-reset
            1. Dans tes règles de forward il est toujours bien de préciser l'interface d'entrée et/ou sortie.

              Sinon mis à part ça ce que tu as fais semble correcte et suis les conseils ci-dessus.

              Par contre au niveau de ta règle de Prerouting et Postrouting tu les as testé ? Elles fonctionnent ?
              1. Bonjour et merci pour les conseils

                Non je n'ai pas tester encore le tous, je le fait ce weekend

                Est-ce correcte ?

                #Forwarding du lan vers l'Internet
                iptables -A FORWARD -o eth0 -p tcp --sport 80 -i eth1 -j ACCEPT
                iptables -A FORWARD -i eth0 -p tcp --dport 80 -o eth1 -j ACCEPT

                Merci
                1. Contributeur
                  re

                  à voir =>

                  iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT  
                  iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT  


                  Editez le fichier /etc/sysctl.conf et rajoute ses lignes Protection antispoofing

                  net.ipv4.conf.default.rp_filter = 1
                  net.ipv4.conf.all.rp_filter = 1


                  Astuces pour debugger le script de firewall lances la commande suivante =>

                  sh -x /etc/init.d/fw les erreurs seront + facile à identifier ont sait jamais !!!

                  Pour info => le firewall peut avoir 3 interfaces

                  eth0 = interface  externe  connectées  à  internet  
                  eth1 = reliant  le  firewall au  reseaux  interne  
                  eth2 = interface  de  la  DMZ  la  zone  ou  se  trouvent  les  serveurs  accesibles  depuis internet  
                  

                  bonne chance .....