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

Re: Iptable et DNS Local :(



Merci pour ce travail qu je me permets de commenter au fur et à mesure.


Pascal@plouf a écrit :

Troumad a écrit :

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

Certes, mais je n'ai rien vu qui soit susceptible de bloquer le trafic DNS entrant ou sortant sur le réseau local.

C'est bien mon problème ! Pourquoi ça marche avec shorewall alors ?

[...]
       # MISE à ZERO des règles de filtrage
       iptables -F
       iptables -t nat -F

Ajoute une commande -X pour chaque table pour supprimer les éventuelles chaînes utilisateur comme dans le choix stop.

iptables -t nat -F -X
ou
iptables -t nat -F
iptables -t nat -X

       iptables -P INPUT DROP

       # Je veux que les connexions entrantes soient bloquées par défaut

       # 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

Tu n'as peur de rien, dis ! Donc le firewall protège la passerelle mais pas le réseau local.

Le réseau local, c'est mon PC, plus le multimédia. Le tout uniquement sous Linux. Ce n'est pas un réseau d'entreprise. Cependant, il me semble avoir mis une liste de restrictions possible d'après http://lea-linux.org/reseau/murdefeu.html
Si quelqu'un a mieux, je suis partant !

       iptables -P OUTPUT ACCEPT

[...]

iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Règle redondante avec la politique par défaut ACCEPT de la chaîne OUTPUT.

Cette dernière ligne est moins permissive que la dernière, donc certes inutile. Il faudra que je cherche pourquoi elle est là elle aussi !

       iptables -A INPUT -p icmp -j ACCEPT

       # accepter le protocole ICMP (ex.ping)
AMA il vaut mieux gérer explicitement les différents types de requêtes ICMP et laisser la règle suivante s'occuper des ICMP qui sont des réponses ou des messages d'erreur relatifs à des connexions existantes.

Donc un ping de l'extérieur ne marchera pas ?

[...]

# 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

La première règle pour le port 20 est inutile quand on utilise le suivi de connexion. Le port 20 est utilisé uniquement comme port source par un serveur FTP en mode actif pour établir une connexion ftp-data _sortante_ vers le client.

[...]

       # 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

110 c'est le port pour POP3, et le port IMAP est plutôt le 143.
[...]

       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


Quelle horreur, que c'est lourd. Essaie de regrouper autant que possible les ports par intervalles et le reste avec la correspondance multiport, ou mieux mport si ton noyau et ta version d'iptables le supportent. Par exemple en TCP :

iptables [...] -p tcp -m multiport --dports 111,2049 -j [...]
iptables [...] -p tcp --dports 4000:4003 -j [...]

:) c'est plus joli quand on connait. Tu as du voir d'autres choses du style plus loin ! Mais la différence entre ces deux lignes est où ? La première ports isolé et la seconde ports concécutifs ?

ou encore plus simplement :

iptables [...] -p tcp -m mport --dport 111,2049,4000:4003 -j [...]

El là, tout d'un coup ! C'est encore mieux !
Je crois qu'il va faolloir que je rajoute des commentaires...


et la même chose en UDP.

Suggestion : regrouper les règles INPUT concernant l'interface locale dans une chaîne utilisateur pour éviter de répéter -i $LOCAL à chaque fois.

       # La règle par défaut pour la chaine INPUT devient DROP
       # pour des raisons de sécurité
       iptables -A INPUT -j DROP

Conseil : préfère REJECT au lieu de DROP, c'est plus propre. Eventuellement avec une limitation (-m limit) en cas de flood.

J'ai déjà des discutions à ce sujet : dire que le port est fermé ou faire comme si on tombe sur un trou vide...

       # 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

       # FIN des règles de filtrage

Une correspondance -s sur la plage d'adresses source du réseau local ne ferait pas de mal.

Ça veut dire quoi ? Il va falloir que je cherche !

[...]

   restart)
       $0 stop

Pourquoi faire puisque le $0 start qui suit vide aussi les chaînes et redéfinit les politiques par défaut ?

C'est la question que je me posais. Le restart est donc inutile : stop et start suffise. Mais j'ai fait du copié-collé de différents morceaux.

--
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: