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
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
Quand c’est terminé on peut lister les éléments
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
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.key
/opt/squid/bump.der
On genere le fichier de paramtre pour algorithme Diffie-Hellman
On change les droits sur le fichier en fonction de l’utilisateur système qui fait tourner squid, généralement « proxy »
chmod 400 /opt/squid/bump*
On genere la bdd ssl
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
#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
On peut maintenant créer le service squid pour un démarrage auto avec systemd
[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
Emplacement du fichier de configuration de squid
Emplacement des fichiers de log de squid
/opt/squid/log/squid/cache.log
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
Bonjour, il vous faut ajouter le root au format CRT comme indiqué dans la DOC : https://manpages.ubuntu.com/manpages/xenial/man8/update-ca-certificates.8.html