Http bloquée par le proxy
-
Je suis en train d'essayer de mettre en place un hotspot public ouvert dans un espace d'exposition. Firewall et Proxy sont sur la même machine parce qu'il y aura peu de connectés en même temps. En plus c'est un réseau uniquement dédié à ça. Le réseau de l'entreprise est ailleurs.
J'ai installé Pfsense, installé le firewall : jusque là tout allait bien. J'ai installé ensuite squid et squidguard avec la blacklist de toulouse et là plus moyen d'accéder au web. A force de chercher j'ai compris d'une part que ce n'était pas un problème de firewall puisque si je désactive squid la navigation redevient possible. Ce n'est pas non plus la blacklist puisque si je l'enlève rien ne change.
Par contre on peut naviguer sur les pages en https même si c'est extrêmement lent.
Je suis allée voir dans les fichiers et voici la config proxy :# Do not edit manually ! http_port 192.168.1.1:3128 http_port 127.0.0.1:3128 transparent icp_port 0 pid_filename /var/run/squid.pid cache_effective_user proxy cache_effective_group proxy error_directory /usr/local/etc/squid/errors/French icon_directory /usr/local/etc/squid/icons visible_hostname localhost cache_mgr admin@localhost access_log /var/squid/logs/access.log cache_log /var/squid/logs/cache.log cache_store_log none logfile_rotate 365 shutdown_lifetime 3 seconds # Allow local network(s) on interface(s) acl localnet src 192.168.1.0/255.255.255.0 uri_whitespace strip cache_mem 2000 MB maximum_object_size_in_memory 200 KB memory_replacement_policy heap GDSF cache_replacement_policy heap LFUDA cache_dir ufs /var/squid/cache 3000 16 256 minimum_object_size 0 KB maximum_object_size 4 KB offline_mode off cache_swap_low 90 cache_swap_high 95 # No redirector configured # Setup some default acls acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/255.255.255.255 acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 3128 1025-65535 acl sslports port 443 563 80 acl manager proto cache_object acl purge method PURGE acl connect method CONNECT acl dynamic urlpath_regex cgi-bin ? cache deny dynamic http_access allow manager localhost # Allow external cache managers acl ext_manager_1 src 127.0.0.1 http_access allow manager ext_manager_1 acl ext_manager_2 src 192.168.1.1 http_access allow manager ext_manager_2 http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !safeports http_access deny CONNECT !sslports # Always allow localhost connections http_access allow localhost request_body_max_size 0 KB reply_body_max_size 0 deny all delay_pools 1 delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_initial_bucket_level 100 delay_access 1 allow all # Custom options redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf redirector_bypass off url_rewrite_children 5 # Setup allowed acls # Allow local network(s) on interface(s) http_access allow localnet # Default block all to be sure http_access deny all
J'ai ajouté à la main le port 80 dans ssl ports, ce qui n'est peut être pas bien et qui en plus n'a rien changé. je faisais des tests.
La dernière ligne pose problème. Mais quoi qu'il arrive, pourquoi je n'arrive pas à paramétrer tout ça avec l'interface web de pfsense?
Si vous aviez une solution, ce serait pas de refus. Même directement dans le fichier de conf, finalement c'est sûrement plus simple à partir de là.
Merci d'avance -
Une chose toute bête. Transparent ou pas votre proxy ? ET la configuration du navigateur avec le proxy ? Pas le temps pour l'instant de lire le détail de votre fichier de conf.
-
Proxy transparent.
Le navigateur n'a pas de configuration particulière vu qu'il faut que les visiteurs puissent se connecter sans réglage particulier, automatiquement. -
Un proxy transparent ne permet pas … https !
Donc il faut une règle spécifique pour https ! (Et c'est laxiste)Evidemment, il faut tester "à la main" avec un proxy explicite. (ccnet l'indique)
Ensuite on passe à "pas de proxy".Squid doit autoriser le réseau interne :
acl localnet src 192.168.1.0/255.255.255.0
http_access allow localnet
Il faut donc supposer que c'est bien votre réseau interne (LAN) !
Et il faut espérer que le WAN est différent ! -
Effectivement ça doit être :
http_access allow localnet
mais je continue à me demander ce qui est censé générer cette ligne dans l'interface web. Je ne vois pas.
Par contre j'ai essayé de modifier un truc ou deux dans le fichier de conf que j'ai mis dans le premier message qui est stocké ici :
usr/local/etc/squid/squid.conf
mais si je le modifie et que je l'enregistre il revient à sa version précédente dès que je reviens après avoir validé.
Comment peut-on modifier ce fichier? Je ne comprends pas du toutSinon oui c'est bien sur le LAN et le WAN est différent.
-
Les lignes sont bien dedans !
Je suppose que la case "Allow users" (ou quelque chose comme ça) en haut de l'écran créé les 2 lignes.
Sinon, le fichier est généré par l'interface web et c'est prévu pour …Attention à une réflexion assez sous évaluée :
Dans le cadre d'un portail, un cache peut permettre de voir "un peu" ce qu'un autre a cherché sur internet.
Donc le cache est plutôt à ne pas utiliser ... -
Bon, je tourne en rond ???
L'accès http_access allow localnet est déjà autorisé, j'avais pas trop vu donc ce n'est pas ça.
Proxy transparent + Allow user on interface cochée = http ne fpnctionne pas mais https si
Si je décoche Allow user on interface : tout passe même les sites porno alors qu'il y a une blacklist : on dirait que le proxy ne fonctionne plus.
Si je renseigne le proxy dans le navigateur à la main = plus de web du tout ni http ni https.
Ça m'est complètement incompréhensible. :-
Quelqu'un a t'il déjà été confronté à ça. J'ai dû oublier de cocher quelque chose, je ne sais pas. -
Si je décoche Allow user on interface : tout passe même les sites porno alors qu'il y a une blacklist : on dirait que le proxy ne fonctionne plus.
Le proxy et le filtrage d'url sont deux choses différentes. Méfiez vous des conclusions hâtives. Il faut regarder les logs.
-
Bon, après une semaine à faire autre chose, je me repenche sur mon problème de proxy.
Alors je résume :
1. Avec le firewall configuré, le proxy transparent en place, la blacklist et la case "allow users on interface" cochée : le https fonctionne mais très lentement mais rien en http. Rien de significatif dans les logs, je ne sais pas ce que Suid et SquidGuard sont censés y stocker. Les logs du firewall stockent des informations par contre. Le problème étant apparu après l'installation du proxy, ce n'est pas le firewall qui semble bloquer.
2. Si je décoche "allow users on interface", tout passe sans problème : http, https, et porno. Pas de log sur les sites bloqués forcément et rien de très particulier dans les logs du proxy.
3. Je décoche proxy transparent et configure le proxy manuellement avec l'@ ip du pfsense et le port 3128 et là tout est bloqué : pas de http, pas de https, plus d'accès à l'interface web de pfsense.Je remets le fichier de configuration
# Do not edit manually ! http_port 192.168.1.1:3128 http_port 127.0.0.1:3128 transparent icp_port 0 pid_filename /var/run/squid.pid cache_effective_user proxy cache_effective_group proxy error_directory /usr/local/etc/squid/errors/French icon_directory /usr/local/etc/squid/icons visible_hostname localhost cache_mgr admin@localhost access_log /var/squid/logs/access.log cache_log /var/squid/logs/cache.log cache_store_log none logfile_rotate 365 shutdown_lifetime 3 seconds # Allow local network(s) on interface(s) acl localnet src 192.168.1.0/255.255.255.0 uri_whitespace strip cache_mem 1500 MB maximum_object_size_in_memory 200 KB memory_replacement_policy heap GDSF cache_replacement_policy heap LFUDA cache_dir ufs /var/squid/cache 3000 16 256 minimum_object_size 0 KB maximum_object_size 4 KB offline_mode off cache_swap_low 90 cache_swap_high 95 # No redirector configured # Setup some default acls acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/255.255.255.255 acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 3128 1025-65535 acl sslports port 443 563 acl manager proto cache_object acl purge method PURGE acl connect method CONNECT acl dynamic urlpath_regex cgi-bin ? cache deny dynamic http_access allow manager localhost # Allow external cache managers acl ext_manager_1 src 127.0.0.1 http_access allow manager ext_manager_1 acl ext_manager_2 src 192.168.1.1 http_access allow manager ext_manager_2 http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !safeports http_access deny CONNECT !sslports # Always allow localhost connections http_access allow localhost request_body_max_size 0 KB reply_body_max_size 0 deny all delay_pools 1 delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_initial_bucket_level 100 delay_access 1 allow all # Custom options redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf redirector_bypass off url_rewrite_children 5 # Setup allowed acls # Allow local network(s) on interface(s) http_access allow localnet # Default block all to be sure http_access deny all
J'ai essayé plein de trucs et impossible de trouver ce qui cloche. J'ai pourtant parcouru les forums, en vain!
-
Est-ce que cela pose problème si le Pfsense est aussi serveur DHCP, DNS et passerelle? Je ne suis pas sûre d'avoir compris mais en parcourant le forum en anglais j'ai cru voir que ça posait un problème que Pfsense soit à la fois proxy transparent et passerelle.
Qu'en est-il?
:'( -
Si ça peut intéresser quelqu'un j'ai eu la réponse à mon problème sur le forum anglophone.
Hi,
I struggled for many days with the same issue. Here is how I succeeded.Make sure it is a new install.
DO NOT INSTALL SQUID.
Install squidguard. Squidguard seems to install squid components again and breaks squid.
Now install squid3
Configure squid, enable captive portal patch and save
Configure squidguard, save and apply
Go back to squid and save again.
Go to Status>Services and start squid then squidguard if not started.
Configure captive portal.
Other solutions are offered on-line but none of them were successful for me. Every time I installed squid first squid failed.
Even removing the packages and re-installing in this order does not work as well.
I have been able to duplicate this process numerous times. I hope it works for youJe traduis grossièrement : faire une installation à partir de rien
Ne pas commencer par installer squid mais squidguard parce que squidguard modifie des fichiers de squid et casse le packet squid.
Installer squid (3 ou l'autre : moi j'ai installé la version précédente)
Configurer squid et sauvegarder
Configurer squidguard, sauvegarder et appliquer
Retourner à squid et sauvegarder de nouveau
Aller à status>services et démarrer squid et squidguard s'ils ne le sont pas.
Configurer le portail captif
Configure captive portal.Et effectivement je suis repartie de zéro et ça a résolu tous mes problèmes. ;D