: j'pète un cable ! [iptables] - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 31-05-2003 à 15:52:41
Lockness a écrit : Bonjour tout le monde, |
y'a une erreur pour atteindre ton script.
tiens une url pour generer un script iptables pour une passerelle du type que tu decris : http://morizot.net/firewall/gen/index.php
addapte le a tes besoins .
Marsh Posté le 31-05-2003 à 17:17:30
Merci pour le lien mais malheureusement cela ne m'explique pas pourquoi les règles iptables sont reinitialisées alors que ne le demande pas... Spécifique à la Debian ?
(note : des règles sont exécutées au démarrage par /etc/init.d/networking mais ce script n'est utilisé qu'au bout, et pas de manière périodique comme on pourrait le voir dans une cronttab par ex.)
Marsh Posté le 31-05-2003 à 18:09:42
Lockness a écrit : Merci pour le lien mais malheureusement cela ne m'explique pas pourquoi les règles iptables sont reinitialisées alors que ne le demande pas... Spécifique à la Debian ? |
il n'y a pas de règles iptables dans ce script, juste quelques protections contre le spoofing et l'activation du routage des paquets
Marsh Posté le 31-05-2003 à 19:10:51
Citation : juste quelques protections contre le spoofing et l'activation du routage des paquets |
Hum... qd ça commence par iptables -A... etc : si c'est pas des règles iptables ça : je me fais moine !
Marsh Posté le 31-05-2003 à 23:58:10
Tu as un probleme avec le "-sport $port" ici :
Code :
|
Le client utilise des ports variables pour sortir (il n'utilise pas le port de sortie 80 pour aller sur un site http).
A mon avis il faut enlever ce paramtre de ces 4 lignes.
Je pense aussi que les lignes avec "-o eth0" ne sont pas necessaires.
Edit : je sais pas si j'ai été assez clair, moi je metrais ca à la place :
Code :
|
fin edit.
Et accessoirement tu peux retirer les lignes INPUT ici :
Code :
|
vu que tu acceptes les connections ESTABLISHED et RELATED.
Marsh Posté le 01-06-2003 à 00:18:24
En effet, pour le FORWARD tu as raison. Par contre, pour le INPUT je ne comprends pas pourquoi tu me mets ça... (je ne veux accepter que certaines ports (donc services))
EDIT :
Faut-il que j'établisse les règles du FORWARD plutot par rapport à eth0 ou par rapport à ppp0 ?
D'autre part, si l'attribution des ports source est aléatoire (principe du NAT) : dois-je accepter tout paquet FORWARDé depuis n'importe que port pour qu'il puisse arriver à mes ordis du LAN ?
Marsh Posté le 01-06-2003 à 01:11:47
Pour le INPUT:
1/ les services sont sur le serveur internet donc les ports correspondent aux ports de destination et tu ne peux pas connaitre le port source à l'avance sur ton ordinateur (dans le sens sortant <=> envoie de la requete <=> OUTPUT)
2/ Pour le retour (serveur>ton ordi) tu connais le port source mais pas celui de destination mais la communication est deja etablie.
Donc j'en arrive à ca :
Code :
|
(a adapter, j'ai du mal avec -A client / -j client)
le reste est forcement bloquer par la regle par default
pour le forward, je regarde demain, j'ai peur d'avoir dis des betises.
Redit: et puis non c'est pas necessaire
Edit: plus restrictif
Marsh Posté le 01-06-2003 à 02:46:14
Non y a rien de spécifique a debian, chez moi ça n'ecrase pas "périodiquement" comme tu le decris.
Pour la l'icmp (ping) etant donné que en Output tu as new, tu peux envoyé un ping, tu n'as donc pas besoin des lignes que tu as mises
|
Par contre comme il a été dis, certaines regles clientes sont inutiles, web (port source > 1024) ftp (port source > 1024) etc
Marsh Posté le 01-06-2003 à 04:14:01
Merci pour ses conseils mais finalement j'ai refait le script. Ca a l'air de marcher. Va falloir que je fasse deux trois tests pour valider et c bon.
Et avec mon nouveau script, plus de pb de "configuration volatile". Je diagnostique ça comme un pb de ma configuration initiale (bien que c'est qd meme très strange...). Mais bon, now, plus de pb, il me conserver bien la config que je lui donne.
Faut dire que j'ai fait du ménage dans /etc/init.d et /etc/alternatives
Pour les curieux, mon script (qui a l'air de marcher) est ici :
www.chez.com/lockness/linux/iptables_start.sh.txt
Note : pour le FORWARD / ports > 1024 je l'ai pas encore implémenter mais ça va venir.
HJ : que ce soit du ftp, du http, du trucmuche ou du pornop (Porno Protocole : dédicace à HJ !) : ça sera tjs un port source > 1024 en NAT. Je veux dire par là que c'est pas spécifique de certains protocoles mais du principe du NAT lui-même. Si une erreur s'est glissée ds ce que j'ai dit, n'hésitez pas à m'en faire part !
Marsh Posté le 01-06-2003 à 04:24:57
Citation : 1/ les services sont sur le serveur internet donc les ports correspondent aux ports de destination et tu ne peux pas connaitre le port source à l'avance sur ton ordinateur (dans le sens sortant <=> envoie de la requete <=> OUTPUT) |
Ne confondrais-tu pas avec le NAT ? les ports sources (LAN -> INTERNET) ne sont changés (il me semble) qu'en cas de NAT. Je veux dire par là que le routeur lui-même si il doit faire une requete lambda ne vas pas modifier son port source vers ]1024;65536[, il va garder le port source originel.
Par contre, c'est pour le NAT, c'est-à-dire pour les ordis qui passent par le routeur pour envoyer leur requête, que les ports sources sont changés (afin de différencier à qui apparetenait telle et telle requete lors de la redirection des réponses).
Enfin,disons que moi je le comprends comme ça !
Marsh Posté le 01-06-2003 à 12:41:30
Je persiste.
Le port du utiliseé comme source par le client n'est pas forcement le port de destination sur le serveur.
Voila, le netstat d'une connection ssh en reseau local (donc sans nat) :
Code :
|
Sur le serveur, le port est bien ssh (22) mais sur le client le port est 1259 dans ce cas là et change quand on fais une nouvelle connection (exemple qq minutes apres j'ai eu 1271).
Il en va de même pour acceder à un serveur http, je pense aussi pour le ftp. Le reste, je sais pas trop mais je vois pas pourquoi ca ne serait pas le même principe.
Et puis bravo pour ton script J'ai pas regarder mais vu qu'il marche c'est bien
Marsh Posté le 31-05-2003 à 14:24:26
Bonjour tout le monde,
Je suis entrain de monter un firewall via iptables. En gros ça donne :
Il y a donc du NAT, de sorte que les PC du LAN puisse avoir accès au web, aux port 20 et 21, ..etc.
Le problème est que :
1) Mon script iptables ne marche pas de tout (y'a rien qui est filtré)
2) Lorsque je l'éxécute, j'ai l'impression que la configuration d'iptables est "écrasée" quelques minutes plus tard.
Voici mon script qui active les règles iptables :
www.chez.com/lockness/linux/iptables_regles.txt
Concernant le second problème : une fois mon script lancé et un iptables -L -v, j'obtiens bel et bien la bonne configuration (Chain client (22 references) et Chain serveur (2 refrences)), mais quelques minutes plus tard j'obtiens ça (pour un iptables -L -v) :
http://www.chez.com/lockness/linux [...] moinsv.txt
Quelqu'un peut-il m'aider car là je commence sérieusement à péter un cable ! ça me rend fou ce iptables :-/
Une solution ?
Message édité par Lockness le 31-05-2003 à 23:00:49