Proxy non-transparent et filtrage : Squid + SquidGuard
De wikiGite
Sommaire
Installation et configuration
Dans system => Package installer les paquets :
- Squid
- SquidGuard
La configuration de Squid se fait dans Services => Proxy Server
Sur l'onglet General dans la configuration de Squid:
- S'assurer que proxy interface pointe sur la bonne carte
- Cocher la case Allow users on interface
- Sauver la configuration
Ici Squid devrait fonctionner, en mode non-transparent. Configurer un poste client avec les infos du proxy pour vérifier.
mettre en cache les mises à jours
- sur l'onglet general Ajouter ceci dans la partie Custom Options :
# Mises à jour des Os;
# En cache pendant 90 jours ;
refresh_pattern -i .*apple\.com/.*\.(pkg|dmg) 129600 100% 129600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*microsoft\.com/.*\.(cab|exe|dll|msi|msp|psf) 129600 100% 129600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*windowsupdate\.com/.*\.(cab|exe|dll|msi|msp|psf) 129600 100% 129600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*(ubuntu|canonical)\.com/.*\.(tar|bz|bz2|gpg|gz|zip|deb) 129600 100% 129600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
# Mises à jour Adobe et Pinnacle ;
# En cache pendant 90 jours;
refresh_pattern -i .*(adobe|macromedia)\.com/.*\.(exe|msi) 129600 100% 129600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
#refresh_pattern -i .*pinnaclesys\.com/.*\.(cab|exe|msi|rar|zip) 129600 100% 129600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
#Dokument, Videos, Audio;
# Cache 7 jours;
refresh_pattern -i /.*\.(jpg|bmp|tif|gif|png|tiff|jpeg|raw|pict|psd) 10080 100% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i /.*\.(doc|docx|xls|xlsx|ppt|pptx|pdf|dot|txt) 10080 100% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i /.*\.(iso|wmv|mov|rm|avi|wav|mp3|mp4|mpeg|mpg|divx|xvid|swf|flv|x-flv) 10080 100% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
# mises à jours des AntiVirus ;
# Cache 1 jour;
refresh_pattern -i .*symantecliveupdate\.com/.*\.(zip|exe) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*avast\.com/.*\.(vpu|vpaa) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
# refresh_pattern -i .*kaspersky\.com/.*\.(.*) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
# refresh_pattern -i .*kaspersky-labs\.com/.*\.(.*) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*update\.nai\.com/.*\.(.*) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*avg\.com/.*\.(bin) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*spywareblaster\.net/.*\.(dtb) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
refresh_pattern -i .*avira-update\.com/.*\.(gz) 1440 100% 1440 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private;
#pas de limite de taille; If range_offset_limit ist set to -1 the quick abort options will NOT work.;
range_offset_limit 0;
- Sur l'onglet Cache mgmt :
Changer l'espace disque alloué pour stoker le cache sur Hard Disk Cache size par une valeur plus grande. Définir en fonction de l'espace disque disponible. Mettre minimum 3000 (3Go) pour mettre en cache les mises à jour.
Changer la taille maximum par fichier sur Maximum object size. Mettre minimum 512000 (512 Mo)
- Sur l'onglet Traffic mgmt :
Finish transfer if more than x % finished 90
Vider le cache
Voici la procédure pour supprimer tous le cache de squid manuellement. Une tache cron redémare squid toutes les 5 minutes. Il faut donc réaliser ces étapes rapidement.
- Arrêter Squid :
/usr/local/etc/rc.d/squid.sh stop
- Vider le cache de Squid :
echo "" > /var/squid/cache/swap.state
- Supprimer tous les répertoires sous /var/squid/cache/ :
rm -Rf /var/squid/cache/0*
- Redémarrer Squid :
/usr/local/etc/rc.d/squid.sh start
Lightsquid
Installer lightsquid pour visualiser des statistiques sur l'utilisation du réseau dans system => package. Dans la configuration générale de squid, vérifier que la valeur de squid Log store directory pointe bien sur /var/squid/log sans S.
La visualisation se fait dans Services => Proxy Reports
Listes personnalisées
En plus des listes de catégories disponibles sur internet, on créer notre propre catégorie. Pour se faire, dans la page de configuration du filtre proxy, sous l'onglet "Target Categories" et "Add Item" (à droite de la liste).
Vous pouvez ensuite entrer des noms de domaine ou URLs de sites dans les champs correspondants.
Une fois enregistrée, cette catégorie apparaîtra avec les autres sous l'onglet "Common ACLs".
Deux cas de figures :
Bloquer des sites :
Il suffit, comme pour les autres de régler le menu déroulant à droite de la liste sur "Deny"
Autoriser des sites : Par défaut les site bloqués (Deny) sont prioritaires sur les sites autorisés (Allow). Pour passer au dessus, régler sur "Whitelist"
Sources
http://forum.pfsense.org/index.php?topic=46791.0;prev_next=prev : bug squid télécharge en continue les mises a jours http://doc.pfsense.org/index.php/Setup_Squid_as_a_Transparent_Proxy : doc officielle