Configurer SSL Bump sur Squid 5

La procédure détail comment mettre en place le SSL bump sur squid 5. Le travail se fait sur Ubuntu 20.04. Cela permet de déchiffrer à la volée les requêtes en https afin de permettre leur analyse. Cela est utile dans le cadre professionnel afin de permettre l’analyse anti virus à la volée.

On démarre la procédure en téléchargeant les sources de squid et en préparant la compilation avec les options qui vont bien. Les trois options à ne pas oublier sont : –enable-ssl –with-openssl –enable-ssl-crtd

git clone https://github.com/squid-cache/squid.git && \
cd squid && git branch -r && git checkout v5 && ./bootstrap.sh && mkdir build && cd build && \
../configure --prefix=/opt/squid --with-default-user=proxy --enable-ssl --with-openssl --enable-ssl-crtd --disable-inlined \
--disable-optimizations --enable-arp-acl --disable-wccp --disable-wccp2 --disable-htcp \
--enable-delay-pools --enable-linux-netfilter --disable-translation --disable-auto-locale \
--with-logdir=/opt/squid/log/squid --with-pidfile=/opt/squid/run/squid.pid

La préparation à la compilation est terminée, on peut lancer la compilation, ca peut prendre un peut de temps en fonction de la config de la machine

sudo make && sudo make install

Quand c’est terminé on peut lister les éléments

ls -la /opt/squid

On enchaine avec la création d’un certificat auto signé, vous pouvez remplacer cette partie par un certificat d’entreprise signé par une PKI, dans l’ordre je détail les commandes.
– Déplacement vers le dossier source
– creation d’un certificat et de la clé
– convertion du certificat au format der pour l’import dans la navigateur, a importer dans le magasin de certificat racine sur le pc/telephone

cd /opt/squid
openssl req -new -newkey rsa:2048 -days 999 -nodes -x509 -keyout bump.key -out bump.crt
openssl x509 -in bump.crt -outform DER -out bump.der

On doit se trouver dans cette configuration

/opt/squid/bump.crt
/opt/squid/bump.key
/opt/squid/bump.der

On genere le fichier de paramtre pour algorithme Diffie-Hellman

openssl dhparam -outform PEM -out /opt/squid/bump_dhparam.pem 2048

On change les droits sur le fichier en fonction de l’utilisateur système qui fait tourner squid, généralement « proxy »

chown proxy:proxy /opt/squid/bump*
chmod 400 /opt/squid/bump*

On genere la bdd ssl

mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/opt/squid/libexec/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
chown -R proxy:proxy /var/lib/squid

On peut éditer la configuration dans le fichier de conf de squid

nano /opt/squid/etc/squid.conf

#en debut de fichier ajouter
acl intermediate_fetching transaction_initiator certificate-fetching
http_access allow intermediate_fetching

#en fin de fichier ajouter
cache_effective_user proxy
cache_effective_group proxy
sslcrtd_program /opt/squid/libexec/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
#replacer la directive http_port, je précise que il n'y a pas de retour chariot sur le cipher= tout doit être sur une même ligne
http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/opt/squid/bump.crt tls-key=/opt/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/opt/squid/bump_dhparam.pem

On remet les droits à l’user proxy afin de démarrer le service

chown -R proxy:proxy /opt/squid/

On peut maintenant créer le service squid pour un démarrage auto avec systemd

nano /etc/systemd/system/squid.service
[Unit]
Description=Squid Web Proxy Server
Documentation=man:squid(8)
After=network.target network-online.target nss-lookup.target

[Service]
Type=notify
PIDFile=/var/run/squid.pid
ExecStartPre=/opt/squid/sbin/squid --foreground -z
ExecStart=/opt/squid/sbin/squid --foreground -sYC
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
NotifyAccess=all

[Install]
WantedBy=multi-user.target

C’est terminé on peut démarrer le service et importer le certificat dans le magasin root des clients

Je complète avec quelques Commandes usuels
Pour reconfiguration squid apres conf update

/opt/squid/sbin/squid -k reconfigure

Emplacement du fichier de configuration de squid

/opt/squid/etc/squid.conf

Emplacement des fichiers de log de squid

/opt/squid/log/squid/access.log
/opt/squid/log/squid/cache.log

2 réflexions au sujet de « Configurer SSL Bump sur Squid 5 »

  1. tu pourrait quelle fichier il faut importer comme certificat stp

    /opt/squid/bump.crt
    /opt/squid/bump.key
    /opt/squid/bump.der
    /opt/squid/bump_dhparam.pem

    c’est le quelle des 4 fichier qui faux copier /usr/share/ca-certificates/

    merci d’avance

Laisser un commentaire