Iptables, ouvrir acces - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 12-09-2011 à 11:57:01
Salut,
J'ai pas bien compris tu veux que ton PC n’accède qu'au port 53 du DNS (et à rien d'autre) où qu'il n’accède qu'à ton serveur DNS et aucun autre ?
La règle sera sur le PC lui-même ou sur le routeur ?
Marsh Posté le 12-09-2011 à 13:08:05
Hello High Plains Drifter
En fait j'ai une bécane dans une DMZ.
Le DNS 10.1.1.100 de la boite sert a toutes les bécanes sous la meme plage d'ip (10.1.1.0)
J'aimerai que ce DNS puisse faire parvenir au travers du parfeu/routeur sur demande de l’hôte en 192.169.17.5 ses requêtes nécessaires.
Il s'agirait donc de pouvoir renseigner sur le parfeu/routeur qui est d'un coté en 192.169.17.254 et de l'autre 10.1.1.254
Merci d'avance encore
Marsh Posté le 12-09-2011 à 13:10:55
Si j'ai bien compris la règle sera sur le firewall/routeur.
Par contre il nous manque des détails :
- les routes des deux réseaux : histoire de savoir si y a besoin de faire du NAT de porcelet
- les règles déjà existantes de firewalling
concernant les routes :
-> est ce que le serveur DNS sait joindre le réseau du PC ?
-> est ce que le PC sait joindre le réseau du serveur DNS ?
Sinon, minus l'histoire des routes :
- activer le routage sur le firewall/routeur si ce n'est pas déjà fait
- par défaut, le kernel autorise tout type le trafic en forwarding donc y a pas besoin de règle spécifique pour autoriser le service DNS. Si PC et serveur savent joindre d'un point de vue routage l'autre réseau, y a rien à faire, ça sera bon. Si non, faut :
. soit modifier le routage pour leur apprendre les routes (par exemple en mettant comme gateway le firewall en question)
. soit faire du NAT (beurk pas propre)
- si la politique par défaut n'est pas à DROP
-> quelles sont les règles existantes ? conntrack est-il utilisé ?
Marsh Posté le 12-09-2011 à 14:16:13
d'apres ce que je comprends du problème énoncé je vois bien la regle iptables suivante:
iptables -A FORWARD -p tcp --source 192.169.17.5/32 --destination 10.1.1.100/32 --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Marsh Posté le 12-09-2011 à 14:21:32
carot0 a écrit : d'apres ce que je comprends du problème énoncé je vois bien la regle iptables suivante: |
Tout dépend de plein de chose que j'ai listé ci dessus :
- est ce que le serveur et le PC "se voient" au niveau routage sans avoir recours à de l'affreux NAT
- est ce qu'il y a déjà des règles existantes sur le firewall, notamment au niveau du stateful
- quelles sont les politiques par défaut
Mettre simplement ta règle ne fonctionne pas dans tous les cas. Par exemple :
- trafic retour ? si la politique par défaut est à drop et si aucune règle généraliste pour du stateful existe (genre -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT), ton trafic de réponse ne passera pas
Par ailleurs, au niveau résolution DNS, c'est plus souvent udp que tcp que l'on rencontre
Marsh Posté le 12-09-2011 à 14:28:54
O'Gure a écrit : |
Marsh Posté le 12-09-2011 à 14:47:22
Ben, j'ai souvent vu des routeurs qui n'en était pas "réellement" un...
Typiquement on met un "routeur" entre deux réseaux mais on ne s'occupe pas du routage, "on va faire du NAT, en plus c'est bon pour la sécurité "
Marsh Posté le 12-09-2011 à 14:52:29
- les routes des deux réseaux : histoire de savoir si y a besoin de faire du NAT de porcelet
- les règles déjà existantes de firewalling
Tout d'abord il faut le savoir il y a 8 pages (copiez sur LibreOffice) Iptables...
Il y a à l'intérieur des choses comme cela que je ne comprends pas trop ...
:WANTOLAN - [0:0]
PTP - [0:0]
:TODMZ - [0:0]
:TOLAN - [0:0]
:TOLO - [0:0]
:TOWAN - [0:0]
:TRASH - [0:0]
:WANSECONDARYTODMZ - [0:0]
:WANSECONDARYTOLAN - [0:0]
:WANTODMZ - [0:0]
:WANTODMZDATESTSRV - [0:0]
:WANTODMZHACKME - [0:0]
:WANTODMZOVPN - [0:0]
:WANTODMZOVPNTESTTEAM - [0:0]
:WANTODMZPOC - [0:0]
:WANTODMZRWEB - [0:0]
:WANTODMZRWEB4 - [0:0]
:WANTODMZTOOLSDMZ - [0:0]
:WANTOLAN - [0:0]
etc etc etc
Voici ensuite :
-A INPUT -i eth0 -j FROMLAN
-A INPUT -i eth1 -j FROMWAN
-A INPUT -i eth3 -j FROMWAN
-A INPUT -i lo -j TOLO
-A INPUT -i eth2 -j FROMDMZ
-A INPUT -i eth2.3 -j FROMDMZ
-A INPUT -i eth2.4 -j FROMDMZ
-A INPUT -i ppp+ -j FROMVPN
-A INPUT -s 10.1.1.254 -d 10.1.1.254 -p tcp -m tcp -j ACCEPT
-A INPUT -j LOG --log-prefix "EXP INPUT "
-A INPUT -j DROP
Puis ont continu :
-A FORWARD -i eth0 -o eth2.3 -j LANTODMZTOOLSDMZ
-A FORWARD -i eth2.3 -o eth0 -j DMZTOOLSDMZTOLAN
-A FORWARD -i eth2.3 -o eth1 -j DMZTOOLSDMZTOWAN
-A FORWARD -i eth1 -o eth2.3 -j WANTODMZTOOLSDMZ
-A FORWARD -i eth2.3 -o eth2.6 -j DMZTOOLSDMZTODMZDATESTSRV
-A FORWARD -i eth0 -o eth2.4 -j LANTODMZOVPN
-A FORWARD -i eth2.4 -o eth0 -j DMZOVPNTOLAN
-A FORWARD -i eth2.4 -o eth1 -j DMZOVPNTOWAN
-A FORWARD -i eth1 -o eth2.4 -j WANTODMZOVPN
-A FORWARD -i eth0 -o eth2.5 -j LANTODMZOVPNTESTTEAM
-A FORWARD -i eth2.5 -o eth0 -j DMZOVPNTESTTEAMTOLAN
-A FORWARD -i eth2.5 -o eth1 -j DMZOVPNTESTTEAMTOWAN
-A FORWARD -i eth1 -o eth2.5 -j WANTODMZOVPNTESTTEAM
-A FORWARD -i eth2.5 -o eth2.6 -j DMZOVPNTESTTEAMTODMZDATESTSRV
-A FORWARD -i eth2.6 -o eth2.5 -j DMZDATESTSRVTODMZOVPNTESTTEAM
-A FORWARD -i eth0 -o eth2.6 -j LANTODMZDATESTSRV
-A FORWARD -i eth2.6 -o eth0 -j DMZDATESTSRVTOLAN
-A FORWARD -i eth2.6 -o eth1 -j DMZDATESTSRVTOWAN
-A FORWARD -i eth1 -o eth2.6 -j WANTODMZDATESTSRV
-A FORWARD -i eth2.6 -o eth2.3 -j DMZDATESTSRVTODMZTOOLSDMZ
-A FORWARD -i eth0 -o eth2.2 -j LANTODMZRWEB
-A FORWARD -i eth2.2 -o eth0 -j DMZRWEBTOLAN
-A FORWARD -i eth2.2 -o eth1 -j DMZRWEBTOWAN
-A FORWARD -i eth1 -o eth2.2 -j WANTODMZRWEB
-A FORWARD -i eth0 -o eth2.8 -j LANTODMZHACKME
-A FORWARD -i eth2.8 -o eth0 -j DMZHACKMETOLAN
-A FORWARD -i eth2.2 -o eth2.8 -j DMZRWEBTODMZHACKME
-A FORWARD -i eth2.8 -o eth2.2 -j DMZHACKMETODMZRWEB
-A FORWARD -i eth2.8 -o eth1 -j DMZHACKMETOWAN
-A FORWARD -i eth1 -o eth2.8 -j WANTODMZHACKME
-A FORWARD -i eth0 -o eth2.9 -j LANTODMZRWEB4
-A FORWARD -i eth2.9 -o eth0 -j DMZRWEB4TOLAN
-A FORWARD -i eth2.2 -o eth2.9 -j DMZRWEBTODMZRWEB4
-A FORWARD -i eth2.9 -o eth2.2 -j DMZRWEB4TODMZRWEB
-A FORWARD -i eth2.9 -o eth1 -j DMZRWEB4TOWAN
-A FORWARD -i eth1 -o eth2.9 -j WANTODMZRWEB4
-A FORWARD -i eth0 -o eth2.7 -j LANTODMZPOC
-A FORWARD -i eth2.7 -o eth0 -j DMZPOCTOLAN
Pour l'ip de la becane en DMZ j'ai trouvé cela dans le fichier de conf :
-A DNATWANTODMZPOC -p tcp -m tcp -j DNAT --to-destination 192.169.17.2
-A SNATDMZTOSDSL -s 192.169.17.2 -j SNAT --to-source 83.20x.xx.xxx
-A DMZPOCTODMZ -s 192.169.17.2 -d 192.168.2.203 -p tcp -m tcp --dport 21 -j ACCEPT
-A LANTODMZPOC -d 192.169.17.2 -p tcp -m tcp --dport 22 -j ACCEPT
-A LANTODMZPOC -d 192.169.17.2 -p tcp -m tcp --dport 443 -j ACCEPT
-A LANTODMZPOC -d 192.169.17.2 -p tcp -m tcp --dport 80 -j ACCEPT
-A DNATWANTODMZPOC -p tcp -m tcp -j DNAT --to-destination 192.169.17.2
concernant les routes :
-> est ce que le serveur DNS sait joindre le réseau du PC ? OUI
-> est ce que le PC sait joindre le réseau du serveur DNS ?
Sinon, minus l'histoire des routes :
- activer le routage sur le firewall/routeur si ce n'est pas déjà fait
- par défaut, le kernel autorise tout type le trafic en forwarding donc y a pas besoin de règle spécifique pour autoriser le service DNS. Si PC et serveur savent joindre d'un point de vue routage l'autre réseau, y a rien à faire, ça sera bon. Si non, faut :
. soit modifier le routage pour leur apprendre les routes (par exemple en mettant comme gateway le firewall en question)
. soit faire du NAT (beurk pas propre)
LES ROUTES :
83.20x.xx.xxx * 255.255.255.248 U 0 0 0 eth1
192.169.17.0 * 255.255.255.0 U 0 0 0 eth2.7
10.1.0.0 * 255.255.0.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth2.9
default xxx-xx.20x-83.s 0.0.0.0 UG 0 0 0 eth1
- si la politique par défaut n'est pas à DROP
-> quelles sont les règles existantes ? Les regles en fait c'est 8 pages sic ...
conntrack est-il utilisé ? NON
Marsh Posté le 12-09-2011 à 14:54:58
Oops le pc est en 192.169.17.2 en non en 17.5 comme mentionné au début
Marsh Posté le 12-09-2011 à 15:20:33
En fait tout d'abord j'avoue ne pas trop comprendre cela :
:WANSECONDARYTODMZ - [0:0]
Marsh Posté le 12-09-2011 à 15:22:34
ReplyMarsh Posté le 12-09-2011 à 15:26:57
rootshell a écrit : En fait tout d'abord j'avoue ne pas trop comprendre cela : :WANSECONDARYTODMZ - [0:0] |
ce que tu dis "fichier de configuration", c'est en réalité la sauvegarde du firewall. Ce fichier a été obtenu via un iptables-save.
ça indique la création d'une table de filtrage nommée WANSECONDARYTODMZ. Le firewall est composé de plusieurs tables qui ont été créées par un admin (i.e. ce ne sont pas les tables existantes par défaut).
on peut te donner les règles à mettre pour que ton truc fonctionne, mais vu la taille et la complexité (en fait une table par type de flux (interface entrée/sortie))... y a une chance pour que l'on ne le fasse pas comme il le faut vis à vis de la personne qui a conçu la méthode de mise en place d'iptable/netfilter.
Par ailleurs, si tu ne comprends rien à ce que est affiché au dessus, ça m'inquiète une peu. Avant de faire quoique ce soit dessus, je ne peux que te conseiller de lire le lien suivant qui t'expliquera comment fonctionne iptables/netfilter.
http://irp.nain-t.net/doku.php/130netfilter:start
Marsh Posté le 12-09-2011 à 15:28:12
Par ailleurs, tu dis qu'il n'y a pas de stateful, comment en es-tu sûr si tu ne sais pas ce qu'est une table d'iptables
Ma question sur le routage, n'était pas de connaitre la table de routage de ton firewall mais plutot savoir si le PC savait joindre via routage pur IP le serveur DNS, et réciproquement. Car là je vois un peu de NAT qui n'a pas trait à la sortie sur internet...
Marsh Posté le 12-09-2011 à 15:33:58
O'Gure a écrit : Si les règles font 8 pages... quelqu'un est censé s'en occupé, non ? |
Plus maintenant ...enfin si moi, mais je ne suis pas encore un cadors sur Iptables...
Marsh Posté le 12-09-2011 à 15:36:14
O'Gure a écrit : |
En fait je comprends certaines choses tout de même, mais c'est surtout avec les tables de filtrage que je ne saisi pas, le reste cela va.
Marsh Posté le 12-09-2011 à 10:24:27
Bonjour,
Je cherche une commande spécifique Iptables.
J'ai un pc en derrière un parfeu/router Linux, et de l'autre j'ai un serveur DNS actif.
Comment permettre l'acces du PC au port 53 et seulement ce port et uniquement pour ce PC.
Configuration réseau :
pc en 192.169.17.5, parfeu/routeur en 192.169.17.254 (eth1) (l'IP de l'autre coté du parfeu/routeur est pour eth0 en 10.1.1.254) DNS en 10.1.1.100
Merci beaucoup par avance !