Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

IPtables et serveur DNS

3 réponses
Avatar
news1
Bonjour,

J'installe iptables sur un serveur DNS
Je pensai mettre les r=E8gles ci-dessous

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

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

Merci de me doner votre avis

3 réponses

Avatar
Julien Salgado
a écrit :
Bonjour,



Bonsoir,

J'installe iptables sur un serveur DNS
Je pensai mettre les règles ci-dessous

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

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

Merci de me doner votre avis



J'espère que ce non ce pas les seules règles car sinon cela ne sert
pas à grand chose...

Si il y a des règles pour les politiques par défaut et/ou pour les fin
de chaine qui bloquent le trafic non explicitement autorisé, ces règles
ne sont pas bonnes... et si ces règles ne sont pas présentes c'est
pire...

En effet, elles autorisent tout le traffic sur les ports 53, et ne
bloquent pas le trafic invalide. Il est préférable d'utiliser l'état NEW
pour autoriser les connexions.

De plus, on arrive aussi à ce poser la question du sens des flux, ce qui
revient à ce demander quel type de serveur DNS est installé :
- serveur cache
- forwarder
- serveur de zones
- ...
Selon la réponse, certains flux auront besoin d'être ouverts en entrée
et/ou en sortie et certains pourront être restreints à des IP
spécifiques.

En effet, les protocoles sont utilisé pour différentes raisons:
- UDP est utilisé entre un client (qui peut être un serveur DNS cache
et/ou forwarder) et serveur pour la résolution directe ou récursive ;
- UDP est utilisé pour des requêtes spécifiques ou des notifications
entre serveur de zones ;
- TCP est utilisé entre un client et un serveur dans le cas de (rares)
demandes exceptionellement volumineuse ;
- TCP est utilisé entre serveurs DNS pour les transferts de zone.

Si on ne filtre pas sur les IP et que le serveur DNS fait un peu tout
les règles seraient plutôt les suivantes :
iptables -A OUTPUT -m state NEW -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -m state NEW -p tcp --syn --dport 53 -j ACCEPT
iptables -A INPUT -m state NEW -p udp --dport 53 -j ACCEPT
iptables -A INPUT -m state NEW -p tcp --syn --dport 53 -j ACCEPT

Pour un forwarder, on devrait restreindre la sortie vers les serveurs
tiers sur lesquels on transmet les requêtes, par exemple :
- pour un serveur cache d'un réseau local, on accepte les connexions UDP
et TCP en provenance du réseau local et les laisse sortir que vers les
DNS du FAI ;
- pour un serveur de zone d'un réseau local, on accepte les
connexions UDP et TCP depuis le serveur cache ou à défaut le réseau
local, on autorise aussi les connexions UDP et TCP entre les serveurs
de zones locaux primaires et secondaires (initialisation possible dans
les deux sens en fonction des requêtes et de sa configuration...).

--
Julien

Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:,
*Julien Salgado* tapota sur f.c.o.l.configuration :

[DNS]

- TCP est utilisé entre un client et un serveur dans le cas de (rares)


De moins en moins rares et vont devenir de plus en plus fréquentes dans
l'avenir avec l'expansion ou la généralisation de IPv6, VoIP, DNSSE, etc.

demandes exceptionellement volumineuse ;


Finalement, pas si volumineuse que ça. Ça concerne toutes les réponses DNS
dépassant 512 octets. Or, par exemple, une simple résolution inverse d'une
adresse IPv6 c'est déjà plus de 300 octets.

--
Sébastien Monbrun aka TiChou

Avatar
Rakotomandimby (R12y) Mihamina
wrote:

Bonjour,


Bonjour,

J'installe iptables sur un serveur DNS
Je pensai mettre les règles ci-dessous


En fonction des limites de ton réseau et de ta machine, tu peux aussi avoir
besoin de rajouter des règles pour limiter (pas éviter) les dénis de
service, en utilisant 'mlimit' (je te laisse chercher)