Raspberry Pi 4 – Squid 4.6 mit SSL installieren
Um SSL in Squid 4.x nutzen zu können, müssen wir ein Debian Paket mit dem
Quelltext erstellen. Und das geht so:
Wir logen uns mit sudo -i als root ein und sparen dabei das Wort beim installieren.
Zuerst aktivieren wir die Source Quellen
von Debian 10 und machen ein Update.
sed -i 's/^#deb-src/deb-src/' /etc/apt/sources.list apt update
Wir installieren die erforderlichen Pakete um ein deb Paket erstellen zu können.
apt install devscripts build-essential fakeroot libssl1.0-dev debhelper apt install squid-cgi calamaris squid-langpack libdbi-perl ssl-cert \ libecap3-dev cdbs libcppunit-dev libcap2-dev libdb-dev libkrb5-dev \ comerr-dev libldap2-dev libnetfilter-conntrack-dev libpam0g-dev libsasl2-dev
Wir laden den Quellcode von squid herunter und erstellen eine deb Datei.
mkdir /tmp/squid cd /tmp/squid apt source squid
Die SSL Funktion von Squid schalten wir frei.
vi squid-4.6/debian/rules
nach DEB_CONFIGURE_EXTRA_FLAGS –mandir=/usr/share/man \ suchen und folgendes eintragen:
--mandir=/usr/share/man \ --with-openssl \ --enable-ssl \ --enable-ssl-crtd \
Das Debian Paket wird erstellt mit folgenden Befehl:
cd /tmp/squid/squid-4.6 dpkg-buildpackage -rfakeroot -b -uc -us
Die erstellten Packete installieren wir
und schützen sie vor einem ungewollten
Update mit apt-mark.
dpkg --install squid-common_4.6*.deb dpkg --install squid_4.6*.deb dpkg --install squidclient_4.6*.deb apt-mark hold squid squid-common squidclient
Wir erstellen unser eigenes SSL Certificate.
cd /etc/squid mkdir ssl_cert chown proxy:proxy /etc/squid/ssl_cert chmod 700 /etc/squid/ssl_cert cd ssl_cert openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout myCA.pem -out myCA.pem openssl x509 -in myCA.pem -outform DER -out myCA.der
myCA.pem in das System von Androiden unter
Sicherheit installieren. Unter Windows wird das Zertifikat in dem Browser installiert. Danach googeln wie das geht. ?
Wir editieren die squid.conf mit vi und suchen nach 3128 und ab da wird folgendes ergänzt:
vi /etc/squid/squid.conf http_port 3128 ssl-bump \ cert=/etc/squid/ssl_cert/myCA.pem \ generate-host-certificates=on sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 4MB acl step1 at_step SslBump1 ssl_bump peek step1 ssl_bump bump all
Die SSL Datenbank erstellen und Rechte setzen mit start von Squid.
/usr/lib/squid/security_file_certgen -c -s /var/lib/ssl_db -M 4MB chown proxy:proxy /var/lib/ssl_db chown proxy:proxy /var/log/squid/ systemctl restart squid
Mögliche Fehler:
dynamic_cert_mem_cache_size=4MB
Trägt man das ein, startet Squid nicht. Es ist sowieso ein default Wert.
Das wars. Viel Spaß mit Squid.