[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Iptable et DNS Local :(



Voilà, c'est long... et ça doit mériter des améliorations !

Pascal@plouf a écrit :

Salut,

Troumad a écrit :


Voici les règles mises pour mon DNS dans iptable. est-ce bon ?

      iptables -A INPUT -p tcp --dport 53 -j ACCEPT
      iptables -A INPUT -p udp --dport 53 -j ACCEPT


P'têt ben qu'oui, p'têt ben qu'non. C'est impossible à dire avec aussi peu d'information. Une règle n'a de signification que si on la replace dans le contexte global de toutes les autres règles. Comment savoir par exemple s'il n'y a pas un règle placée avant qui bloque les paquets concernés ? Quelles sont les politiques par défaut, et où sont les règles qui autorisent les paquets de réponse correspondants en sortie ?

Bref, sans connaître l'ensemble de tes règles et leur ordre, on ne peut rien dire. La sortie de iptables-save ou une copie du script *complet* serait la bienvenue.


#!/bin/sh
# ATTENTION la ligne du dessus
# n'est pas un commentaire
# Pour simplifier une modification éventuelle des cartes réseaux
LOCAL="eth0"
NET="eth1"

case "$1" in
   start)
       echo "Mise en place du mur de feu"

       # /etc/network/if-pre-up.d/iptables-start
       # Script qui démarre les règles de filtrage "iptables"
       # MISE à ZERO des règles de filtrage
       iptables -F
       iptables -t nat -F
       # Je veux que les connexions entrantes soient bloquées par défaut
       iptables -P INPUT DROP
       # Je veux accepter les connexions qui entrent par
       # une interface et sortent par l'autre (ex. de eth1 vers ppp0)
       # appelé aussi Forwarding
       iptables -P FORWARD ACCEPT
       # Je veux que les connexions sortantes soient acceptées par défaut
       iptables -P OUTPUT ACCEPT
       # Pas de filtrage sur l'interface de "loopback"
       # Je déconseille de retirer cette règle car
       # ça peut poser pas mal de problème et faire perdre
       # la main sur la machine
       iptables -A INPUT -i lo -j ACCEPT
# Je veux permettre tous les paquets sortants provenant de mon ordinateur iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
       # Si je veux avoir une politique plus contraignante, je peux filtrer
# les demandes locales vers l'extérieur. Voici un listing récupéré sur
       # http://lea-linux.org/reseau/murdefeu.html
       # en tcp :
       # domain (obligatoire),
       # ftp,
       # ftp-data,
       # sftp
       # www,
       # https,
       # pop-3,
       # imap2,
       # imap3,
       # smtp,
       # ircd,
       # cvspserver,
       # rsync,
       # 7070 (realaudio),
       # 11371 (keyserver),
       # ssh,
       # 1441 (flux ogg de radio france)
       # en udp :
       # domain (obligatoire),
       # 6970 et 7170 (realaudio)
       # Décommentez la ligne suivante pour
       # accepter le protocole ICMP (ex.ping)
       iptables -A INPUT -p icmp -j ACCEPT
       # Décommentez la ligne suivante pour
       # accepter le protocole IGMP (multicast)
       # iptables -A INPUT -p igmp -j ACCEPT
# J'accepte les packets entrants relatifs à des connexions déjà établies
       iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Décommentez les deux lignes suivantes pour que le serveur FTP éventuel
       # soit joignable de l'extérieur
       iptables -A INPUT -p tcp --dport 20 -j ACCEPT
       iptables -A INPUT -p tcp --dport 21 -j ACCEPT
       # Décommentez la ligne suivante pour que le serveur SSH éventuel
       # soit joignable de l'extérieur
       iptables -A INPUT -p tcp --dport 22 -j ACCEPT
       # Décommentez la ligne suivante pour que le serveur de mail éventuel
       # soit joignable de l'extérieur
       iptables -A INPUT -p tcp --dport 25 -j ACCEPT
# Décommentez les deux lignes suivantes pour que le serveur de DNS éventuel
       # soit joignable de l'extérieur
       iptables -A INPUT -p tcp --dport 53 -j ACCEPT
       iptables -A INPUT -p udp --dport 53 -j ACCEPT
       # Décommentez la ligne suivante pour que le serveur Web éventuel
       # soit joignable de l'extérieur
       iptables -A INPUT -p tcp --dport 80 -j ACCEPT
       # Décommentez la ligne suivante pour que Imap soit
       # accéssible sur le réseau interne
       iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT
       # Décommentez la ligne suivante pour que le serveur sftp éventuel
       # soit joignable de l'extérieur
       iptables -A INPUT -p tcp --dport 115 -j ACCEPT
# Décommentez les deux lignes suivantes pour que le serveur Samba éventuel
       # soit joignable de l'extérieur
       # iptables -A INPUT -p tcp --dport 139 -j ACCEPT
       # iptables -A INPUT -p udp --dport 139 -j ACCEPT
       # Décommentez la ligne suivante pour que le serveur CUPS éventuel
       # soit joignable de l'extérieur
       # iptables -A INPUT -p tcp --dport 631 -j ACCEPT
       # CUPS uniquement pour le réseau interne
       iptables -A INPUT -i $LOCAL -p tcp --dport 631 -j ACCEPT
       # Décommentez les lignes suivantes pour que le serveur NFS éventuel
       # configurer selon mon cours http://troumad.free.fr/Linux/Linux.sxw
       # soit joignable du réseau interne
       iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT
       # Décommentez les lignes suivantes pour que le serveur Généweb
       # éventuel soit accessible
       iptables -A INPUT -p tcp --dport 2317 -j ACCEPT
# Pour que l'administration du serveur Geneweb soit accessible de l'extérieur
       # iptables -A INPUT -p tcp --dport 2316 -j ACCEPT
       # Pour faire fonctionner correctement bittorent
       #iptables -A INPUT -p tcp --dport 6881 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6882 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6883 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6884 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6885 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6886 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6887 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6888 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6889 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6969 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 7070 -j ACCEPT
       #iptables -A INPUT -p tcp --dport 6881 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6882 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6883 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6884 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6885 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6886 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6887 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6888 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6889 -j ACCEPT
       #iptables -A INPUT -p udp --dport 6969 -j ACCEPT
       #iptables -A INPUT -p udp --dport 7070 -j ACCEPT

       # La règle par défaut pour la chaine INPUT devient DROP
       # pour des raisons de sécurité
       iptables -A INPUT -j DROP
       # FIN des règles de filtrage
       # DEBUT des règles pour le partage de connexion (i.e. le NAT)
       # Décommentez la ligne suivante pour que le système fasse office de
# "serveur NAT" et ainsi cacher les machines forwardées par le firewall

       iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE
       echo 1 > /proc/sys/net/ipv4/ip_forward

       # Si la connexion que vous partagez est une connexion ADSL, vous
       # serez probablement confronté au fameux problème du MTU. En résumé,
       # le problème vient du fait que le MTU de la liaison entre votre
# fournisseur d'accès et le serveur NAT est un petit peu inférieur au # MTU de la liaison Ethernet qui relie le serveur NAT aux machines qui # sont derrière le NAT. Pour résoudre ce problème, décommentez la ligne
       # suivante et remplaçez "eth0" par le nom de l'interface connectée à
       # Internet.
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS -o eth0 --clamp-mss-to-pmtu
       # FIN des règles pour le partage de connexion (i.e. le NAT)
       # DEBUT des règles de port forwarding
       # Décommentez la ligne suivante pour que les requêtes TCP reçues sur
       # le port 80 de l'interface eth0 soient forwardées à la machine dont
       # l'IP est 192.168.0.3 sur son port 80 (la réponse à la requête sera
       # forwardée au client)
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.3:80
       # FIN  des règles de port forwarding
       # FIN du script de démarrage
      ;;

   stop)
      echo "Arret du mur de feu"
      # On vide (flush) toutes les regle existantes
      iptables -F
      iptables -X

      # On remet la police par defaut
      iptables -P INPUT ACCEPT
      iptables -P FORWARD ACCEPT
      iptables -P OUTPUT ACCEPT

      ;;

   restart)
       $0 stop
       /bin/sleep 1
       #/usr/bin/sleep 1
       $0 start
       ;;


   *)
       echo "Usage: $0 {start|stop|restart}"
       exit 1
       ;;

esac


--
Amicalement vOOotre              Troumad Alias Bernard SIAUD
mon site : http://troumad.free.fr : AD&D maths WEB sectes
Pour la liberté http://lea-linux.org http://www.eurolinux.org/index.fr.html
N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org



Reply to: