Squid-Kit-TLS-CA: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
−
=Content Scan=
+
=Maschine Klonen=
−
*Auf dem Client muss das CA Zertifikat des Proxy installiert sein.
+
{| class="wikitable" style="background-color: #f2f2f2;"
−
*Proxy generiert für jede Anfrage ein neues Zertifikat und schickt es dem Client.
+
! Parameter !! Wert !! Erläuterung
−
*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 mit SSL-Unterstützung.
 
−
 
 
−
{| class="wikitable"
 
−
! Distribution !! Befehl
 
−
|-
 
−
| Debian / Ubuntu || <code>apt install squid-openssl</code>
 
−
|-
 
−
| Rocky Linux || <code>dnf install squid</code> (SSL bereits enthalten)
 
−
|}
 
−
 
 
−
=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"
 
−
 
 
−
;Benutzer und Rechte setzen
 
−
 
 
−
{| class="wikitable"
 
−
! Distribution !! Proxy-Benutzer
 
−
|-
 
−
| Debian / Ubuntu || <code>proxy</code>
 
−
|-
 
−
| Rocky Linux || <code>squid</code>
 
−
|}
 
−
 
 
−
chown -R proxy:proxy squid_proxyCA.pem      # Debian/Ubuntu
 
−
chown -R squid:squid squid_proxyCA.pem      # Rocky Linux
 
−
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
 
−
 
 
−
;CA-Zertifikat systemweit als vertrauenswürdig eintragen
 
−
 
 
−
{| class="wikitable"
 
−
! Distribution !! Zielverzeichnis !! Befehl
 
 
|-
 
|-
−
| Debian / Ubuntu || <code>/usr/local/share/ca-certificates/</code> || <code>update-ca-certificates</code>
+
| '''Netzwerk (NIC)''' || DMZ || Internes Netzwerk
 
|-
 
|-
−
| Rocky Linux || <code>/etc/pki/ca-trust/source/anchors/</code> || <code>update-ca-trust</code>
+
| '''IP''' || 10.88.2XX.4 || Statische IP
−
|}
 
−
 
 
−
# Debian/Ubuntu
 
−
cp squid_proxyCA.crt /usr/local/share/ca-certificates
 
−
update-ca-certificates
 
−
 
−
# Rocky Linux
 
−
cp squid_proxyCA.crt /etc/pki/ca-trust/source/anchors/
 
−
update-ca-trust
 
−
 
 
−
=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
 
−
 
 
−
;Systemweit auf dem Client (Linux)
 
−
 
 
−
{| class="wikitable"
 
−
! Distribution !! Zielverzeichnis !! Befehl
 
 
|-
 
|-
−
| Debian / Ubuntu || <code>/usr/local/share/ca-certificates/</code> || <code>update-ca-certificates</code>
+
| '''CIDR''' || 24 || Classless Inter-Domain Routing Präfixlänge
 
|-
 
|-
−
| Rocky Linux || <code>/etc/pki/ca-trust/source/anchors/</code> || <code>update-ca-trust</code>
+
| '''GW''' || 10.88.2XX.1 || GATEWAY
−
|}
 
−
 
 
−
=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.
 
−
 
 
−
{| class="wikitable"
 
−
! Distribution !! Befehl
 
 
|-
 
|-
−
| Debian / Ubuntu || <code>/usr/lib/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 4MB</code>
+
| '''NS''' || 10.88.2XX.21 || Resolver
 
|-
 
|-
−
| Rocky Linux || <code>/usr/lib64/squid/security_file_certgen -c -s /var/cache/squid/ssl_db -M 4MB</code>
+
| '''FQDN''' || proxy.it2XX.int || Fully Qualified Domain Name
−
|}
 
−
 
 
−
# Debian/Ubuntu
 
−
chown -R proxy:proxy /var/spool/squid
 
−
 
−
# Rocky Linux
 
−
chown -R squid:squid /var/cache/squid
 
−
 
 
−
'''Hinweis Rocky Linux:''' SELinux-Kontext setzen:
 
−
<pre>
 
−
restorecon -Rv /var/cache/squid/ssl_db
 
−
chcon -t squid_conf_t /etc/squid/certs/squid_proxyCA.pem
 
−
</pre>
 
−
 
 
−
=Einfügen in der squid.conf=
 
−
;unter die http_access rules
 
−
 
 
−
{| class="wikitable"
 
−
! Distribution !! ssl_db Pfad
 
 
|-
 
|-
−
| Debian / Ubuntu || <code>/var/spool/squid/ssl_db</code>
+
| '''SHORT''' || proxy || Short Name
 
|-
 
|-
−
| Rocky Linux || <code>/var/cache/squid/ssl_db</code>
+
| '''DOM''' || it2XX.int|| Domain Name
 
|}
 
|}
  
−
http_port 3128 ssl-bump cert=/etc/squid/certs/squid_proxyCA.pem generate-host-certificates=on options=NO_SSLv3,NO_TLSv1,NO_TLSv1_1
+
=Umsetzung=
−
ssl_bump bump all
+
*[[Squid-Kit-TLS-CA Debian]]
−
 
+
*[[Squid-Kit-TLS-CA Rocky]]
−
=Restart von Squid=
+
*[[Squid-Kit-TLS-CA als Intermediate]]
−
*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
 

Aktuelle Version vom 10. Juni 2026, 11:18 Uhr

Maschine Klonen

Parameter Wert Erläuterung
Netzwerk (NIC) DMZ Internes Netzwerk
IP 10.88.2XX.4 Statische IP
CIDR 24 Classless Inter-Domain Routing Präfixlänge
GW 10.88.2XX.1 GATEWAY
NS 10.88.2XX.21 Resolver
FQDN proxy.it2XX.int Fully Qualified Domain Name
SHORT proxy Short Name
DOM it2XX.int Domain Name

Umsetzung