informatique:logiciels:squid
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
informatique:logiciels:squid [2020/09/18 15:29] – [Tips] rendre lisible les timestamp des logs pteu | informatique:logiciels:squid [2021/07/12 17:27] – [Tips] Lenteur au redémarrage pteu | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======Squid====== | + | ======Squid |
- | Squid est un proxy libre. Il permet de relayer des requêtes de différents protocoles dont HTTP ou HTTPS après filtrage, QoS ou autre. Par défaut Squid utilise sur le port 3128, il faut donc le spécifier dans les propriétés de connexion de votre navigateur. | + | {{ : |
- | Il faut maintenant permettre à votre IP d' | + | [[http:// |
+ | |||
+ | [[http://www.squidguard.org/ | ||
+ | |||
+ | =====Installation du couple Squid + Squidguard===== | ||
+ | |||
+ | Installation | ||
<code bash> | <code bash> | ||
- | # création d'une acl = définition des clients | + | aptitude install squidguard |
- | # syntaxe = 192.168.0.0/ | + | |
- | # ou par URL cible : dstdomain .hotmail.com | + | |
- | acl my_lan src 192.168.0.0/ | + | |
- | # attribution des droits à mon acl | + | |
- | http_access allow my_lan | + | |
- | [..] | + | |
- | # vérifier que les accès non autorisés explicitement sont interdits | + | |
- | http_access deny all | + | |
</ | </ | ||
+ | |||
+ | ====Config de Squid==== | ||
+ | |||
+ | Réduction du fichier de conf de Squid, un peu trop verbeux : | ||
+ | <code bash> | ||
+ | cd /etc/squid/ | ||
+ | mv squid.conf squid.conf.orig | ||
+ | grep -Ev ' | ||
+ | </ | ||
+ | |||
+ | Personnalisation du squid.conf : | ||
+ | <code bash> | ||
+ | # timestamp des logs avec la date " | ||
+ | logformat squid %tl.%03tu %6tr %>a %Ss/ | ||
+ | # permettre aux IPs e notre LAN de sortir ! | ||
+ | acl localnet src 192.168.0.0/ | ||
+ | http_access allow localnet | ||
+ | </ | ||
+ | |||
+ | Les connexions HTTPS utilisent la méthode connect et sont permises par les directives: | ||
+ | <code bash> | ||
+ | acl SSLPort 443 4443 8443 | ||
+ | acl CONNECT method CONNECT | ||
+ | http_access allow CONNECT SSLPort | ||
+ | </ | ||
+ | |||
+ | Ajout gestion du FTP (à ajuster selon la conf en place): | ||
+ | <code bash> | ||
+ | acl SSL_ports port 21 | ||
+ | acl ftp proto FTP | ||
+ | http_access allow ftp | ||
+ | </ | ||
+ | |||
+ | Tester la conf de Squid et relancer le service si OK : | ||
+ | <code bash> | ||
+ | squid -k parse | ||
+ | systemctl reload squid | ||
+ | </ | ||
+ | |||
+ | ====Ajout de Squidguard==== | ||
+ | |||
+ | Editer le fichier dsuid.conf : | ||
+ | <code bash> | ||
+ | # conf squidguard | ||
+ | url_rewrite_program / | ||
+ | url_rewrite_children 4 | ||
+ | </ | ||
+ | |||
+ | Copier le template de page d' | ||
+ | <code bash> | ||
+ | gunzip / | ||
+ | mv / | ||
+ | chown www-data: | ||
+ | chmod +x / | ||
+ | </ | ||
+ | |||
+ | Télécharger et installer des blacklistes : | ||
+ | <code bash> | ||
+ | cd / | ||
+ | wget ftp:// | ||
+ | tar xzf blacklists.tar.gz | ||
+ | chown -R proxy:proxy blacklists | ||
+ | cd blacklists | ||
+ | |||
+ | # vérifier le contenu de ce qu'on vient de télécharger : | ||
+ | ls -l | ||
+ | </ | ||
+ | |||
+ | Configurer les blacklistes " | ||
+ | <code bash> | ||
+ | dbhome / | ||
+ | logdir / | ||
+ | src localnet { | ||
+ | ip 192.168.0.0/ | ||
+ | } | ||
+ | dest porn { | ||
+ | urllist | ||
+ | domainlist | ||
+ | expressionlist | ||
+ | } | ||
+ | acl { | ||
+ | localnet { | ||
+ | pass !porn any | ||
+ | } | ||
+ | default { | ||
+ | pass local none | ||
+ | redirect http:// | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Compiler les blacklistes | ||
+ | <code bash> | ||
+ | su proxy | ||
+ | squidGuard -C all | ||
+ | |||
+ | # Vérification : | ||
+ | tail -f / | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====En vrac===== | ||
On peut aussi tuner les paramètres suivants (toujours dans le même fichier) : | On peut aussi tuner les paramètres suivants (toujours dans le même fichier) : | ||
Line 29: | Line 129: | ||
cache_dir ufs / | cache_dir ufs / | ||
</ | </ | ||
+ | |||
+ | ====Proxy transparent==== | ||
Pour créer un proxy transparent, | Pour créer un proxy transparent, | ||
Line 37: | Line 139: | ||
Cela redirige toutes les requêtes HTTP et HTTPS vers le proxy Squid de manière transparente. | Cela redirige toutes les requêtes HTTP et HTTPS vers le proxy Squid de manière transparente. | ||
- | Pour faire du filtrage avancé (avec des blacklistes notamment), il est conseiller de regarder du coté de [[http:// | ||
=====Tips===== | =====Tips===== | ||
Line 45: | Line 146: | ||
<code bash> | <code bash> | ||
cat access.log | perl -p -e ' | cat access.log | perl -p -e ' | ||
+ | |||
# ou avec le très bon viewer de logs ccze : | # ou avec le très bon viewer de logs ccze : | ||
cat access.log | ccze -CA | cat access.log | ccze -CA | ||
+ | |||
+ | # ou modifiant le logformat dans le fichier de conf de squid (/ | ||
+ | logformat squid %tl.%03tu %6tr %>a %Ss/ | ||
</ | </ | ||
+ | |||
+ | ====Lenteur au redémarrage==== | ||
+ | |||
+ | Squid est long à redémarrer car il attend que les sockets se ferment d' | ||
+ | <code bash squid.conf> | ||
+ | shutdown_lifetime 10 seconds | ||
+ | </ | ||
+ | ====Debug==== | ||
+ | |||
+ | Pour [[https:// | ||
+ | |||
+ | Pour débugguer les ACLs (section 28) : | ||
+ | <code bash squid.conf> | ||
+ | debug_options 28,9 | ||
+ | </ | ||
+ | Redémarrer le service pour activer l' | ||
+ | |||
=====Erreurs===== | =====Erreurs===== | ||
+ | |||
Il se peut qu'il ne se lance pas avec l' | Il se peut qu'il ne se lance pas avec l' | ||
- | + | <code bash> | |
- | FATAL: Could not determine fully qualified hostname. Please set ' | + | FATAL: Could not determine fully qualified hostname. Please set ' |
+ | </ | ||
A ce moment-là il faut compléter le fichier de configuration ''/ | A ce moment-là il faut compléter le fichier de configuration ''/ | ||
Line 57: | Line 181: | ||
visible_hostname < | visible_hostname < | ||
</ | </ | ||
+ | |||
+ | |||
+ | =====Ressources===== | ||
+ | |||
+ | * http:// |
informatique/logiciels/squid.txt · Last modified: 2021/09/24 08:10 by pteu