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.
Leider habe ich beim Erstellen der Pakete, also hier:
dpkg-buildpackage -rfakeroot -b -uc -us
folgende Fehlermeldung:
dpkg-checkbuilddeps: error: Unmet build dependencies: dh-apparmor libgnutls28-dev (>= 3.5) libsystemd-dev libxml2-dev nettle-dev libssl-dev
Ich habe mal ein komplett neues Raspi-OS (full) aufgesetzt. Dabei zieht sich das Skript die Version 4.13. Man muss also alle 4.6 durch 4.13 ersetzen.
Leider ohne Erfolg. Die Fehlermeldung bleibt dieselbe. Keine Ahnung, wie man das behebt…
Sorry, das ich mich erst jetzt melde. Die Meldung sagt, dass es Paketabhängigkeiten gibt, die bei dir nicht erfüllt sind.
Versuche das:
sudo apt install dh-apparmor libsystemd-dev libxml2-dev nettle-dev libssl-dev
Ich kann es leider nicht testen.