|
|
| Zeile 1: |
Zeile 1: |
| =Content Scan=
| | *[[Squid-Kit-TLS-CA Debian]] |
| *Auf dem Client muss das CA Zertifikat des Proxy installiert sein. | | *[[Squid-Kit-TLS-CA Rocky]] |
| *Proxy generiert für jede Anfrage ein neues Zertifikat und schickt es dem Client.
| |
| *Client denkt er kommuniziert mit dem Original Server
| |
| *Virenscan ist möglich
| |
| *Webserver denkt die Anfrage kommt von einem normalen Client
| |
| *Prinzip der Man in the Middle Attacke
| |
| {{#drawio:proxy-4}}
| |
| =Installation von squid=
| |
| ;Wir brauchen eine angepasste Version von squid
| |
| ;Diese können wir selbst komplilieren oder das squid-openssl Paket von nutzen
| |
| *apt install squid-openssl
| |
| =Erstellen eines Selbstsignierten Zertifikates=
| |
| ;Verzeichnis anlegen
| |
| *mkdir /etc/squid/certs
| |
| *cd /etc/squid/certs
| |
| ;Generieren Sie ein lokales selbstsigniertes CA-Zertifikat und geheimen Schlüssel (in derselben Datei))
| |
| *openssl req -new -newkey rsa:4096 -sha256 -days 365 -nodes -x509 -keyout squid_proxyCA.pem -out squid_proxyCA.pem -subj "/CN=proxy-ca" | |
| *chown -R proxy:proxy squid_proxyCA.pem
| |
| *chmod 0400 squid_proxyCA.pem
| |
| ;Wir extrahieren das ca.crt aus dem Container
| |
| *openssl x509 -inform PEM -in squid_proxyCA.pem -out squid_proxyCA.crt
| |
| ;füge das squid_proxyCA-Zertifikat zum System hinzu, damit es standardmäßig vertrauenswürdig ist
| |
| *cp squid_proxyCA.crt /usr/local/share/ca-certificates
| |
| *update-ca-certificates
| |
| | |
| =Zertifikat auf den Clients installieren=
| |
| !!!'''Wichtig Wichtig Wichtig'''!!!
| |
| *squid_proxyCA.crt auf die Clients kopieren.
| |
| ;Firefox
| |
| *Burgermenu
| |
| **Einstellungen
| |
| ***Nach Zertifikaten suchen
| |
| ****Zertifikate anzeigen
| |
| *****Zertifizierungsstellen importieren
| |
| ;füge das squid_proxyCA-Zertifikat zum System hinzu, damit es standardmäßig vertrauenswürdig ist
| |
| | |
| *sudo cp squid_proxyCA.crt /usr/local/share/ca-certificates
| |
| *sudo update-ca-certificates
| |
| | |
| =Zertifikats Cache anlegen=
| |
| ;security_file_certgen — SSL certificate generator for Squid.
| |
| *Das Generieren und Signieren von SSL-Zertifikaten nimmt Zeit in Anspruch.
| |
| *Squid kann diesen Helfer als externen Prozess verwenden, um die Arbeit zu erledigen.
| |
| *Die Kommunikation erfolgt über TCP-Sockets, die an die Loopback-Schnittstelle gebunden sind.
| |
| *Dieser Helfer kann einen Festplattencache mit Zertifikaten verwenden, um die Antwortzeiten bei wiederholten Anforderungen zu verbessern.
| |
| *Es kann auch ohne Cache arbeiten und generiert bei jeder Anfrage neue Zertifikate.
| |
| | |
| | |
| | |
| */usr/lib/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 4MB
| |
| *chown -R proxy:proxy /var/spool/squid
| |
| | |
| =Einfügen in der squid.conf=
| |
| ;unter die http_access rules
| |
| #nativer Zugriff
| |
| http_port 3128 ssl-bump cert=/etc/squid/certs/squid_proxyCA.pem generate-host-certificates=on options=NO_SSLv3,NO_TLSv1,NO_TLSv1_1
| |
| ssl_bump bump all
| |
| | |
| =Restart von Squid=
| |
| *systemctl restart squid
| |
| =Misc=
| |
| ;Hier ist ein Befehl, um die am häufigsten zwischengespeicherten Domänen anzuzeigen.
| |
| *awk 'BEGIN {FS="[ ]+"}; {print $7}' < /var/log/squid/access.log | awk 'BEGIN {FS="/"}; {print $3}' | sort | uniq -c |sort -k1,1nr -k2,2 | head
| |