Votre question

Problème avec proxy squid

Tags :
  • Proxy
  • Internet
Dernière réponse : dans Internet
18 Septembre 2007 12:04:38

Bonjour,

Je vous écris car j'ai vraiment besoin d'aide et je vous remercie d'ailleurs d'avance pour toute aide que vous pourrez m'apporter.

Voici mon problème : j'ai installé et configuré un proxy avec squid sur un ubuntu en version server, mais quand j'essaie de tester à travers un navigateur web d'un autre PC en spécifiant l'adresse de mon proxy et que je relance le navigateur web, je tombe sur une page me demandant de me logger sur Webmin, plus exactement :
"Login to Webmin
You must enter a username and password to login to the Webmin server on
www.google.fr."
Avec google.fr le site testé ici.

Déjà, ça ne devrait pas afficher une fenêtre d'authentification car ça doit juste bloquer les sites dans mes blacklists et en plus quand j'essaie de me connecter à cette interface avec les identifiants de webmin (qui sont les seuls identifiants que j'ai créé sur tout le proxy), ça ne fonctionne pas et ça me remet la même fenêtre de connection...

Quelqu'un pourrait m'aider ? Je suis prêt à détailler toute ma config ou autre si besoin, mais j'ai vraiment besoin de quelqu'un pour me guider.

En vous remerciant d'avance !

Autres pages sur : probleme proxy squid

18 Septembre 2007 22:39:37

si c'est un proxy transparent (sans rien configurer dans le navigateur du client), il faut faire une règle dans le parefeu
  1. iptables -t nat -A PREROUTING -s TON_LAN/TON_MASQUE -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128

ça dit que tout trafic arrivant sur ton proxy, à destination du port 80 doit passer par le port 3128 (port par défaut de squid) avant de ressortir
ceci n'est valable que si ton réseau est de ce type :
client----proxy/routeur---site_cible

sinon, il ne faut pas oublier de configurer dans les propriétés internet de ton navigateur les paramètres du proxy (ip et port)

dans tous les cas, il faut que lorsque tu tape une adresse dans ton navigateur, la requête soit envoyée à ton proxy
20 Septembre 2007 10:29:18

oui mais c'est déjà le cas justement, je notifie bien l'adresse ip et le port dans mon navigateur web, la preuve c'est qu'il affiche cette interface d'identification de webmin qui est l'interface graphique de squid
Contenus similaires
20 Septembre 2007 20:51:02

par défaut webmin écoute sur le port 10000
si tu as changé ce port, remets le par défaut
et retest

que le proxy ne marche c'est une chose
que tu tombe sur l'interface de webmin ce n'est pas normal

envoi aussi le résultat d'un netstat -luntp
5 Octobre 2007 11:53:09

Désolé pour le temps de réponse...

En tout cas le port est bien 10000.

Sinon pour netstat voici le résultat :

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:548 0.0.0.0:* LISTEN 3744/afpd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 3765/smbd
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 3862/perl
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 3765/smbd
udp 0 0 192.168.0.52:137 0.0.0.0:* 3763/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 3763/nmbd
udp 0 0 192.168.0.52:138 0.0.0.0:* 3763/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 3763/nmbd
udp 0 0 0.0.0.0:10000 0.0.0.0:* 3862/perl
udp 0 0 0.0.0.0:68 0.0.0.0:* 3684/dhclient3
5 Octobre 2007 19:06:25

je ne vois pas de squid lancé ici
6 Octobre 2007 10:23:55

et pour ce qui concerne les ports 10000 dans la liste ce n'est pas squid ?
Sinon que faut-il faire? Au boot de Linux il se lance dans la liste pourtant.
6 Octobre 2007 18:19:52

par défaut :
webmin écoute sur le port 10000
squid écoute sur le port 3128

et il n'y a aucun rapport entre webmin et squid

si tu es sur qu'il se lance, vérifie qu'il ne crash pas, si c'est le cas, regarde dans les log pour connaitre l'erreur
8 Octobre 2007 12:16:00

J'ai un peu cherché, j'ai trouvé que mon port de squid était le 8080 mais il n'est toujours pas dans la liste que j'ai passé ci-dessus.
Par contre j'ai retesté avec ce port et ça ne balance plus sur l'interface webmin mais ça met "Server introuvable - Impossible d'afficher la page".

Je suis allé dans /var/log/squid et j'ai trouvé un fichier cache.log accessible en cliquant ici
8 Octobre 2007 21:53:51

FATAL: The redirector helpers are crashing too rapidly, need help!

erreur dans ta config, squid plante
11 Octobre 2007 14:01:18

Bonjour,

Je reviens vers vous car j'ai trouvé l'erreur qui venait du chemin vers les blacklists pour squidGuard qui n'était pas exactement le bon.

Maintenant squid fonctionne, les ports sont bien bloqués et débloqués comme je veux.

Cependant, j'ai un autre problème maintenant, j'ai accès à tous les sites même ceux dans les blacklists de squidGuard...
Je n'ai cependant pas d'erreur dans les fichiers de log.

Quelqu'un peut m'aider?
11 Octobre 2007 19:46:53

vérifie tes ACL
l'ordre est important
12 Octobre 2007 10:07:06

Non en fait ca venait du fait que je n'avais pas mis de page de redirection dans squidGuard.conf...

Maintenant ça marche, il ne me reste qu'à mettre le proxy en place sur le réseau pour que tous les PC passent automatiquement par le proxy. Mais je ne sais pas trop comment m'y prendre.

Quelqu'un saurait ?
12 Octobre 2007 20:22:58

si tu veux une authentification, il faut configurer les postes 1 par 1 ou forcer ton routeur (s'il le peux, dans les routeurs grand public, c'est rare) à rediriger les requêtes sur le port 80 vers ton proxy
si tu ne veux pas d'authentification, défini simplement comme adresse de passerelle par défaut l'adresse de ton proxy (et autorise le routage dessus sur tout ce qui n'est pas http)

vu ce que tu es entrain de faire, je ne peux que te recommander de jeter un coup d'oeil sur ipcop+urlfilter
c'est une distrib parfaite pour faire routeur+firewall+proxy+vpn
13 Octobre 2007 15:00:06

Le truc c'est que c'est dans une entreprise et le routeur est un zyxel (je pourrais dire plus précisément le modèle en début de semaine prochaine si il faut).
Ce que je voudrais c'est effectivement que le proxy serve de passerelle entre le réseau et Internet pour que les ports et les sites blacklistés soient bloqués automatiquement. Pour les sites, ça sera plus simple que de passer sur tous les postes car il y en a 60 environ et ont des navigateurs différents suivant ce que préfèrent les utilisateurs.

Pour ce que tu m'as passé comme distrib c'est bien aussi mais étant donné que j'ai installé squid et squidGuard sur une machine pour en faire un proxy, ça devrait ne me servir à rien d'installer ipcop et urlfilter vu qu'ils font la même chose que ce que je viens d'installer.

Sinon toute aide ou documentation sur le fait de mettre en place une passerelle sur le réseau comme tu disais me serait utile :) 
13 Octobre 2007 15:16:21

vite fait ça donne ça :
une machine avec 2 cartes réseau ou plus (ou peut le faire avec 1 mais c'est moins bien

lan--->--proxy--->--internet

ou encore

[Réseau administratif]
(A)
|
|
(B)
[proxy](C)-----(D)[réseau libre service]
(E)
|
|
(F)
[internet]

Je vais prendre ce 2nd exemple

tu définie dans ton serveur dhcp (ou sur les postes si tu n'as pas de dhcp) que la passerelle par défaut est B ou C (selon la population)
en B et en C, tu mets la règle suivante dans le parefeu du proxy
-tout ce qui arrive ici à destination du net sur le port 80 doit être renvoyé à squid via son port 3128
-tout le reste (qui est autorisé) est directement transmis à F

et dans le parefeu de F
-seul ce qui sort à destination du port 80 venant de E est autorisé

si tu ne peux pas configurer ton zyxel, ce n'est pas grave si ton réseau resemble à ceux de mon schéma (du point de vue câblage ou vlan)
15 Octobre 2007 10:04:55

Ok moi ça serait plutôt le 1er schéma lan--->--proxy--->--internet même si c'est un peu la même chose qu'avec le 2eme.

Pour configurer le serveur DHCP pour que la passerelle par défaut soit le proxy ok, par contre pour la règle dans le parefeu du proxy, il n'y a pas que le port 80 qu'il doit gérer, c'est tous les ports car j'ai mis dans squid quels ports autoriser et pour le port 80 blacklister certains sites.
Si tu pouvais m'expliquer aussi ce que tu veux dire par configurer le parefeu de F qui est internet. Et aussi là je pense que ça devrait être tous les ports à destination du proxy qui doivent être pris en compte.
15 Octobre 2007 21:26:46

squid est un proxy HTTP (et éventuellement https moyennant un peu de tuning), pas la peine de lui faire filtrer le reste (sauf les sites HTTP(s) utilisant autre chose que le port 80(443), ce qui est rare), il ne sait pas faire

donc en reprenant ce schéma :
lan--->--(A)proxy(B)--->--(C)routeur(D)--->--internet

A
on redirige tout le trafic HTTP arrivant du réseau interne vers squid :
  1. iptables -t nat -A PREROUTING -s TON_LAN/LE_MASQUE -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128

et comme ton squid est en position de routeur ici, il faut activer le routage :
  1. echo 1 > /proc/sys/net/ipv4/ip_forward

et l'autoriser (pour ce qui n'est pas HTTP :
  1. iptables -A FORWARD -s TON_LAN/LE_MASQUE -p tcp -m tcp --dport ! 80 -j ACCEPT


ne pas oublier non plus les règles de base (RELATED, ESTABLISHED, le loopback... enfin le classique, surtout pour le retour)

B
on accepte le retour des connexions :
  1. iptables -A FORWARD -i B -o A -m state --state ESTABLISHED,RELATED -j ACCEPT


C
on dégage tout ce qui est web ne venant pas du proxy (attention si tu as des serveurs à ne pas filtrer) :
  1. iptables -A FORWARD -i C -s IP_DU_PROXY_EN_B -j ACCEPT


D
seuls les retour sont acceptés (sauf si hébergement interne) :
  1. iptables -A FORWARD -i D -m state --state ESTABLISHED,RELATED -j ACCEPT


n'oubli pas non plus d'autoriser les services tels que DNS, SMTP... enfin tout ce que tu autorise sur ton réseau

pour le reste, tu peux mettre DROP partout (iptables -P INPUT/OUTPUT/FORWARD DROP)


ATTENTION, j'ai tapé ça sans tester, c'est une approximation des règles à avoir pour obtenir le résultat suivant :

depuis le LAN, tout ce qui sort vers du HTTP port 80 passe par squid, le reste n'est pas filtré

ça devrait marcher si tu fais attention à ne pas oublier les règles de retour

je te conseille de tester avant (j'ai peutêtre zappé des trucs)
16 Octobre 2007 09:19:16

En fait tu veux me dire que en mettant juste le port 80 dans ta configuration du proxy, il va prendre en compte toute la configuration de squid en comprenant les ports que j'ai bloqués et acceptés, en plus des sites blacklistés ?

Si c'est bien ça, j'ai déjà fait le tour de tout ce qui utilisait des ports sur le réseau pour répondre à ta remarque :

maith a dit :
n'oubli pas non plus d'autoriser les services tels que DNS, SMTP... enfin tout ce que tu autorise sur ton réseau


Sinon si c'est pas ça je comprends plus :pt1cable: 

Enfin, concernant tes configurations :

  1. iptables -A FORWARD -i B -o A -m state --state ESTABLISHED,RELATED -j ACCEPT


  1. iptables -A FORWARD -i C -s IP_DU_PROXY_EN_B -j ACCEPT


  1. iptables -A FORWARD -i D -m state --state ESTABLISHED,RELATED -j ACCEPT


Les lettres A, B, C et D qui sont chacune dans un des codes sont à changer par une adresse IP?
16 Octobre 2007 20:32:08

ripmaster@idn a dit :
En fait tu veux me dire que en mettant juste le port 80 dans ta configuration du proxy, il va prendre en compte toute la configuration de squid en comprenant les ports que j'ai bloqués et acceptés, en plus des sites blacklistés ?

ce que je veux dire, c'est qu'il faut rediriger ce qui arrive sur le 80 et ne pas rediriger, mais autoriser simplement ce qui arrive sur les autres ports autorisés (donc ne fais pas passer le 53udp par squid, mais laisse le juste traverser le serveur qui fait proxy, idem pour le reste des ports autorisés sur ton réseau)


ripmaster@idn a dit :
Les lettres A, B, C et D qui sont chacune dans un des codes sont à changer par une adresse IP?

non, par le nom de la carte réseau qui porte l'ip (eth0, eth1...)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS