Outils pour utilisateurs

Outils du site


netadmin:proxy:squid:filtrage_https

Ceci est une ancienne révision du document !


Filtrer HTTPS via Squid

:TODO:

Installation et paramétrage d'un serveur mandataire HTTP/HTTPS avec Squid sur Debian 12 (bookworm).

Installer le service Squid

Sous Debian, attention de bien installer le paquet squid-openssl : c'est cette version de Squid qui supporte le bumping-ssl capable d'analyser le trafic HTTPS.

apt install -y squid-openssl

Pour supporter le bumping-SSL (ou interception TLS) Squid doit être compilé avec les options --with-openssl et --enable-ssl-crtd

La commande ci-dessous met en couleur les options de compilation lorsqu'elles sont trouvées :

squid -v | grep --color -E '(--with-openssl|--enable-ssl-crtd)'

Créer le Root CA

Pour que la magie puisse opérer, Squid doit agir comme autorité de certification racine (Root CA) et les clients devront l'accepter comme autorité de certification racine de confiance.

Le certificat racine et la clé privée sont des fichiers sensibles : attention à bien restreindre les droits d'accès.
cd /etc/squid
mkdir ssl_cert
chown root:proxy ssl_cert
chmod ug+rx,o-rwx ssl_cert
 
cd ssl_certs
# Génère le certificat CA valable 10 ans et la clé
openssl req -new -newkey rsa:4096 -sha256 -days 3650 -nodes -x509 \
  -extensions v3_ca -keyout Tethys_Proxy_CA.pem -out Tethys_Proxy_CA.pem

On peut maintenant créer les différentes versions du certificat racine à déployer sur les clients :

# Format DER (bianire) pour les machines Windows
openssl x509 -in Tethys_Proxy_CA.pem -outform DER -out /tmp/Tethys_Proxy_CA.der
 
# Format PEM (texte) pour les clients Linux 
openssl x509 -in Tethys_Proxy_CA.pem -outform PEM -out /tmp/Tethys_Proxy_CA.crt
 
chmod ugo+r-wx /tmp/Tethys_Proxy_CA.crt /tmp/Tethys_Proxy_CA.der

Configuration de Squid

On configure le service via le fichier /etc/squid/squid.conf. Ce fichier commente largement les options actives par défaut (plus de 9000 lignes).

Pour obtenir une vue synthétique des directives actives de ce fichier :

cd /etc/squid/
grep --invert-match -e '^$' -e '^#'  squid.conf
La configuration est répartie dans plusieurs fichiers. Pour tester la syntaxe de la configuration chargée par le service :
squid -k parse

Vérifier l'état du service et si nécessaire activer le service au démarrage :

systemclt status squid.service
 
systemctl enable squid.service --now

Si le pare-feu firewalld est actif, penser à autoriser le trafic entrant sur le port 3128

# Si le port par défaut n'est pas modifié
firewall-cmd --info-service=squid
 
firewall-cmd --permanent --zone=internal --add-service=squid
firewall-cmd --reload

Références

netadmin/proxy/squid/filtrage_https.1763416913.txt.gz · Dernière modification : 2025/11/17 22:01 de yoann