IPTABLES pour intégration de SQUID transparent avec HTTPS - Réseaux - Systèmes & Réseaux Pro
Marsh Posté le 03-09-2009 à 14:20:41
Salut,
la config est pas trop mal, bien que ne vois pas comment elle peut s'appliquer avec une seule interface (coquilles et certains commentaires qui ne correspondent pas ?) et peut être adaptée à ton cas.
Il faut absolument que tu comprennes à quel moment sont mis en jeu les tables FILTER et NAT et les chaines* INPUT, OUTPUT, FORWARD et PREROUTING ( http://www.linuxhomenetworking.com [...] tables.gif ) et cela permettra de comprendre par rapport à la config où tu dois remplacer -o eth0 par -o eth1 par ex.
Il faut voir aussi par rapport à l'existant, s'il y'a déjà iptables dessus, pour ne pas bloquer des accès.
Az'
*edit
Marsh Posté le 04-09-2009 à 01:44:28
tonio2k a écrit : Salut, |
INPUT/OUTPUT/etc sont des chaînes, les 3 tables sont filter/nat/mangle
Mais à part ça je suis bien d'accord
Marsh Posté le 07-09-2009 à 10:11:28
Bonjour,
Je reviens vers vous car je me suis effectivement un peu plus mis dans le bain et ai regardé notamment ce que tonio2k m'avait envoyé comme lien pour me documenter sur iptables.
J'ai donc refait la configuration que j'avais précédemment remarqué dans le lien que je donnais dans mon premier post et l'ai adapté en modifiant, rajoutant et supprimant certaines choses. Je la mets ci-dessous, pourriez-vous me dire si elle vous semble correcte ?
Code :
|
Marsh Posté le 08-09-2009 à 10:36:45
Bonjour,
alors, c'est déjà pas mal avancé, qques remarques:
- l49-53 : souvent on préfère autoriser le dns vers l'extérieur uniquement pour une la machine dns interne
- l51: je crois qu'il faut inverser wan et lan
- l53: inutile car redondant avec l72
- l55-l61: inutile, redondant avec l80-83
- l69: ça ouvre tout le net sur tous les ports (sauf 80 traité différement)
- l85-89 : le proxy est sur la même machine qu'iptables ? si oui, une seule ligne suffit:
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port $PORT_SQUID
sinon, euh c'est encore un peu plus compliqué.
- l91-94: redondant avec l80-83
- l113: redondant avec l72
- Dans Forwarding, pas d'ouverture du port https (tcp 443) comme prévu.
Az'
Marsh Posté le 08-09-2009 à 11:28:38
Merci beaucoup pour ta réponse ! Effectivement il y a pas mal de redondance que j'avais corrigé entre temps (mais pas tout ce que tu m'as dit) car je me suis inspiré de certains autres scripts trouvés donc il y avait quelques coquilles
Citation : - l49-53 : souvent on préfère autoriser le dns vers l'extérieur uniquement pour une la machine dns interne |
Donc en gros même syntaxe mais en spécifiant l'IP du serveur DNS interne ?
Citation : - l51: je crois qu'il faut inverser wan et lan |
Il ne faudrait pas inverser wan et lan également pour la ligne 53 également ?
Citation : - l53: inutile car redondant avec l72 |
Tu es sûr des lignes ? Tu peux m'expliquer ?
Citation : - l55-l61: inutile, redondant avec l80-83 |
C'est sûr
Citation : - l69: ça ouvre tout le net sur tous les ports (sauf 80 traité différement) |
Donc en gros la table forward à la fin ne sert à rien car tout est ouvert du coup ? Si c'est le cas il faudrait supprimer cette ligne afin que ça ne laisse pas tout passer et que je puisse filtrer les ports comme je le veux à l'aide de forward ?
Citation : - l85-89 : le proxy est sur la même machine qu'iptables ? si oui, une seule ligne suffit: |
Oui le proxy est sur la même machine, mais j'avais vu sur un tuto (très bien fait d'ailleurs) ces lignes :
http://irp.nain-t.net/doku.php/220 [...] edirection
J'avais mal compris
Citation : - l91-94: redondant avec l80-83 |
Oui j'avais vu aussi
Citation : - l113: redondant avec l72 |
Exact, bien vu ! Encore une coquille du à l'adaptation et l'insertion d'un autre script au mien. D'ailleurs il vaut mieux laisser la ligne 113 ou la 72 à ton avis ?
Citation : - Dans Forwarding, pas d'ouverture du port https (tcp 443) comme prévu. |
Oui c'est vrai, mais j'ai fait juste un copié / collé de lignes que j'avais trouvé pour ça et je verrais plus tard pour tous les ports que je veux ouvrir vers le net, https y compris. Mais c'est sûr que vu que j'orientais pas mal le sujet vers laisser à tout prix https ouvert j'aurais pu le mettre
Merci encore énormément pour tes corrections et le temps que tu as pris à regarder tout ça.
Marsh Posté le 08-09-2009 à 12:01:59
thoraie a écrit :
|
oui, enfin voir la suite:
thoraie a écrit :
|
là c'est moi qui fait des coquilles, je pensais aux lignes 50 et 52.
le sport 53, c'est coté wan en entrée.
On devrait tout réduire à:
iptables -A FORWARD -i $LAN -o $WAN --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Le retour sera matché en tcp et udp par la ligne 72, et on peut remplacer $LAN par l'ip du serveur dns interne.
thoraie a écrit :
|
oui cette ligne est de trop pour un filtrage
thoraie a écrit :
|
personnellement je préfère mettre les règles générales vers le début donc 72
Az'
Marsh Posté le 08-09-2009 à 12:27:09
Vraiment merci beaucoup, j'y vois bien plus clair maintenant. J'ai refait tout le script selon tes conseils, ce qui donne au final :
Code :
|
Ca te paraît correct maintenant comme ça ? (tu noteras que j'ai mis le port 443 dans le forward )
Marsh Posté le 08-09-2009 à 13:42:08
ça me parait correct
peut etre juste concernant l'accès ftp, je crois qu'il faut ajouter le port TCP 20 en plus des modules ftp.
Marsh Posté le 08-09-2009 à 14:05:21
Tu veux dire qu'il faut ajouter le port pour le FTP aux autres règles dans le forward ? Si c'est le cas, comme je t'ai dit avant je n'ai fait qu'un copié/collé de lignes de forward que j'avais récupéré et j'en mettrais plus après avoir défini quels ports ouvrir exactement vers le net pour mon réseau. Pour l'instant elles ne sont là que pour l'exemple histoire d'avoir un script opérationnel et une fois fait, j'affinerai
Mais merci pour la remarque.
Denière chose juste pour être sûr car je l'ai fait un peu au hasard et peut-être es-tu passé à côté mais la syntaxe de la ligne 51 est-elle bonne ? Je parle surtout de la partie "-s $IP_DNS" (pas sûr pour le "-s" suivi de l'IP du serveur DNS).
Marsh Posté le 08-09-2009 à 16:16:03
c'est bien -s pour une ip ou un réseau
-s 192.168.0.1
-s 192.168.0.0/24
Marsh Posté le 03-09-2009 à 12:29:48
Bonjour,
Je viens vers vous car j'ai un petit soucis. Je suis en train de monter dans un réseau un proxy SQUID/SQUIDGUARD qui fonctionne pour l'instant très bien au vu des tests. Le problème en fait est qu'il faut maintenant l'intégré et du coup utiliser IPTABLES que je ne maîtrise vraiment pas bien.
Il faudrait en fait que tout le traffic soit redirigé vers le proxy, que le proxy à l'aide d'IPTABLES bloque tous les ports par défaut, en ouvre certains et que pour le port 80 il soit géré par SQUID.
De plus, comme l'indique le titre de mon sujet, je voudrai en priorité que HTTPS soit parmi les ports ouverts et non filtrés pour ne pas qu'il y ait de soucis.
Au niveau physique, mon serveur proxy se situe entre le LAN et le modem (donc le WAN), la carte eth0 va vers le WAN et la carte eth1 vers le LAN.
Voilà ça c'est pour la théorie, puisque je ne suis pas apte à l'exprimer avec des commandes IPTABLES.
J'ai trouvé cependant un sujet qui traite de cela sur ce même forum avec une configuration d'iptables qui semblerait me convenir, voici le lien direct vers la réponse dans ce sujet qui montre cette configuration :
http://forum.hardware.fr/hfr/syste [...] htm#t46322
Le problème c'est que j'ai l'impression qu'il n'y a là qu'une seule interface réseau qui est eth0 et je suis incapable de modifier cette configuration pour qu'elle colle à mon réseau.
Donc voilà ça m'aiderait énormément si il y en a qui peuvent m'aider à adapter cette configuration ou bien m'aider à en faire une si je me trompe et que cette configuration n'est pas adaptée à ce que je veux.
Merci d'avance pour votre aide