Squid

De Wiki doc


Squid est un serveur mandataire permettant de relayer les requêtes HTTP, HTTPS, FTP et Gopher. Il est généralement utilisé comme point de sortie unique pour les requêtes WEB des clients d'un réseau local vers le WAN. Son but principale est de permettre un filtrage des accès ainsi qu'une journalisation du trafic en plus d'offrir un service cache.

INFORMATION

Documentation réalisée avec Debian Bullseye (11) et Squid 4.13-10.

Installation

apt install --no-install-recommends squid

Configuration

La configuration proposée dans ce document permet d'offrir un service de mandataire à des clients situés dans un LAN restreint par pare-feux. Ces derniers sont obligés de passer par le mandataire pour accéder au WEB. Seul quelques domaines sont autorisés.

<syntaxhighlight lang="bash"> cat < '_EOF_' > /etc/squid/squid.conf

  1. Nom de domaine de Squid. N'a aucune utilité mais enlève un message dans le journal

visible_hostname squid.ycharbi.fr

  1. Liste de réseaux. Ce seront les réseaux autorisés à utilisé les services de Squid

acl rzo_locaux src 192.168.1.0/24 acl rzo_locaux src 192.168.5.0/24 acl rzo_locaux src 192.168.8.0/24

  1. Liste de ports. Ce seront les ports autorisés

acl liste_ports port 80 # http acl liste_ports port 21 # ftp acl liste_ports port 443 # https acl liste_ports port 70 # gopher acl liste_ports port 210 # wais acl liste_ports port 1025-65535 # ports non enregistrés acl liste_ports port 280 # http-mgmt acl liste_ports port 488 # gss-http acl liste_ports port 591 # filemaker acl liste_ports port 777 # multiling http acl liste_ports port 8096 # jellyfin

  1. N'autoriser que les informations des listes précédentes

http_access deny !rzo_locaux http_access deny !liste_ports

  1. Liste d'accès contenant les domaines pouvant être utilisés par Jellyfin

acl liste_blanche_jellyfin dstdomain .ycharbi.fr www.omdbapi.com api.themoviedb.org

  1. Autorisation de la liste de domaines de Jellyfin

http_access allow liste_blanche_jellyfin

  1. Interdiction de tous les autres domaines

http_access deny all

  1. Port d'écoute de Squid

http_port 3128

  1. Emplacement du cache

coredump_dir /var/spool/squid _EOF_ </syntaxhighlight>

Redémarrage du service

systemctl restart squid.service

Les journaux d'accès sont visibles de la façon suivante

tail -f /var/log/squid/access.log

Source de la section