Iptables mit Squid Transparenter Proxy
Zur Navigation springen
Zur Suche springen
Transparenter proxy
- Wenn man den http_port auf intercept für https auf https stellt kann er normal Anfragten nicht beantworten.
- Wenn man beides will sollte man die Interception auf einen anderen zusätlichen Port legen.
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
- chown -R proxy:proxy squid_proxyCA.pem
- chmod 0400 squid_proxyCA.pem
- füge das squid_proxyCA-Zertifikat zum System hinzu, damit es standardmäßig vertrauenswürdig ist
- openssl x509 -inform PEM -in squid_proxyCA.pem -out squid_proxyCA.crt
- 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
- Zertifikate anzeigen
- Nach Zertifikaten suchen
- Einstellungen
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
Squid Eintrag
- cat /etc/squid/squid.conf
http_port 8889
- Wichtig Wichtig https_port nicht http_port
#intercept https https_port 8888 ssl-bump intercept cert=/etc/squid/certs/squid_proxyCA.pem generate-host-certificates=on options=NO_SSLv3,NO_TLSv1,NO_TLSv1_1,SINGLE_DH_USE,SINGLE_ECDH_USE ssl_bump bump all
Iptables Kommando
- iptables -t nat -A PREROUTING -j REDIRECT -i $LANDEV -p tcp --dport 80 --to 8889
- iptables -t nat -A PREROUTING -j REDIRECT -i $LANDEV -p tcp --dport 443 --to 8888
- iptables -A INPUT -p tcp --dport 8888 -s $LAN -m state --state NEW -j ACCEPT
- iptables -A INPUT -p tcp --dport 8889 -s $LAN -m state --state NEW -j ACCEPT