Internet

Abfangen von HTTPS-Verkehr mithilfe des Squid-Proxy-Dienstes in pfSense

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 17 September 2024
Anonim
Abfangen von HTTPS-Verkehr mithilfe des Squid-Proxy-Dienstes in pfSense - Internet
Abfangen von HTTPS-Verkehr mithilfe des Squid-Proxy-Dienstes in pfSense - Internet

Inhalt

Sam arbeitet als Netzwerkanalyst für eine algorithmische Handelsfirma. Er erhielt seinen Bachelor-Abschluss in Informationstechnologie von UMKC.

Eine kurze Einführung in Squid

Tintenfisch ist einer der meisten geworden beliebte Pakete für pfSense-Firewalls, und es ist nicht schwer zu verstehen, warum.

Squid-Proxyserver können die Netzwerkleistung verbessern, indem sie einen lokalen Cache mit Webseiten, Bildern und anderen Dateien verwalten, auf die häufig zugegriffen wird. Darüber hinaus kann Squid den Datenverkehr überwachen und ein Protokoll darüber führen, welche Webseiten Benutzer in Ihrem Netzwerk anzeigen.

Um die Vorteile von Squid voll nutzen zu können, empfehle ich, sich die Zeit zu nehmen, um das Abfangen von HTTPS ordnungsgemäß zu aktivieren.

In diesem Handbuch wird davon ausgegangen, dass bereits eine pfSense-Firewall ausgeführt wird. Wenn Sie noch keine haben, können Sie leicht installiere pfSense auf einem alten Computer haben Sie wahrscheinlich schon zur Hand.


Warum Sie die HTTPS-Überwachung in Squid aktivieren sollten

Standardmäßig können Squid-Proxyserver den verschlüsselten HTTPS-Verkehr nicht überwachen.Squid stellt einfach eine TCP-Verbindung zum Zielserver her und antwortet dem Client mit einer HTTP 200-Antwort, um anzuzeigen, dass die Verbindung hergestellt wurde.

Einmal dies verschlüsselter Tunnel wurde eingerichtet, Squid leitet die Pakete zwischen dem Client und dem Server weiter, hat jedoch keine Sichtbarkeit für den Datenverkehr mehr, da dieser durch SSL-Verschlüsselung geschützt ist.

In den letzten Jahren haben viele beliebte Websites, darunter Google, YouTube, Reddit und Facebook, standardmäßig die HTTPS-Verschlüsselung aktiviert. Dies bedeutet, dass Squid-Proxys ohne Konfiguration der HTTPS-Überwachung nur eingeschränkte Filter-, Überwachungs- und Protokollierungsfunktionen haben.

Glücklicherweise unterstützt Squid die Man-in-the-Middle-SSL-Filterung, mit der Sie den Datenverkehr über den Proxyserver effektiver überwachen können.

Schritt 1: Installieren Sie das Squid3-Paket

Installieren Sie zunächst das Squid3-Paket mit dem pfSense-Paketmanager (System Pakete).


Nachdem Sie Squid3 aus der Paketliste gefunden haben, klicken Sie auf die Plus-Schaltfläche auf der rechten Seite des Pakets, um die Paketinstallation zu starten.

Der Paketmanager lädt das Squid3 PBI automatisch herunter und installiert es.

Schritt 2: Konfigurieren Sie die allgemeinen Einstellungen für Squid

Nach der Installation des Squid-Pakets müssen die allgemeinen Einstellungen konfiguriert werden. Die Einstellungsseite finden Sie in Services Squid Proxy Server.

Konfigurieren Sie die folgenden Optionen:

  1. Aktivieren Sie Squid Proxy - Geprüft
  2. Einstellungen / Daten beibehalten - Geprüft
  3. Proxy-Schnittstelle (n) - Wählen Sie LAN und Loopback

Die restlichen Einstellungen im Bereich "Allgemeine Einstellungen" können auf den Standardeinstellungen belassen werden.


Schritt 3: Konfigurieren Sie die Einstellungen für transparente Proxys

Direkt unter den allgemeinen Einstellungen finden Sie die transparenten Proxy-Einstellungen. In den meisten Fällen möchten Sie wahrscheinlich den transparenten Proxy-Modus aktivieren. Wenn dieser Modus aktiviert ist, leitet die Firewall den gesamten eingehenden Webverkehr automatisch an den Squid-Proxyserver um.

Wenn der transparente Modus aktiviert ist, muss der Webbrowser des Clients nicht für die Verwendung des Proxys konfiguriert werden. In den meisten Fällen bemerkt der Client nicht einmal, dass sein Datenverkehr durch den Proxy geleitet wird.

Konfigurieren Sie die folgenden Einstellungen, um den transparenten Proxy zu aktivieren:

  1. Transparenter HTTP-Proxy - Geprüft
  2. Transparente Proxy-Schnittstelle (n) - LAN

Die restlichen Einstellungen in diesem Abschnitt können auf den Standardeinstellungen belassen werden, es sei denn, Sie möchten bestimmte Adressen so konfigurieren, dass der Proxy umgangen wird.

Scrollen Sie zum Ende der Seite und Klicken Sie auf Speichern, um die Einstellungen zu übernehmen.

Wenn Sie den transparenten Modus nicht aktivieren möchten, müssen Sie die Webbrowser-Einstellungen für jeden Client konfigurieren, den Sie speziell für den Proxyserver verwenden möchten.

Zu diesem Zeitpunkt haben Sie einen einfachen Squid-Proxy konfiguriert, der im transparenten Modus ausgeführt wird. Bevor Sie fortfahren, empfehle ich, die Webbrowser-Funktionalität von einem Client-Computer aus zu testen, um sicherzustellen, dass alles normal funktioniert.

Beheben und beheben Sie alle Probleme mit der grundlegenden Proxy-Funktionalität, bevor Sie mit dem Aktivieren des SSL-Abfangens fortfahren.

Schritt 4: Konfigurieren Sie eine Zertifizierungsstelle

Eine Zertifizierungsstelle muss in pfSense konfiguriert sein, bevor das Abfangen von HTTPS in Squid aktiviert werden kann. Die Zertifizierungsstelle wird verwendet, um im laufenden Betrieb neue Client-SSL-Zertifikate zum automatischen Ver- und Entschlüsseln des Webverkehrs zu generieren.

  1. Greifen Sie auf den Zertifizierungsmanager im zu System Cert Manager Speisekarte.
  2. Klicken Sie auf das Pluszeichen, um Erstellen Sie eine neue Zertifizierungsstelle.

Konfigurieren Sie die folgenden Einstellungen für die neue Zertifizierungsstelle.

  1. Beschreibender Name - Wählen Sie einen Namen für Ihre Zertifizierungsstelle. Beachten Sie, dass dies auf dem für die Clients sichtbaren Client-Zertifikat angezeigt wird.
  2. Methode - Wählen Sie im Dropdown-Menü die Option "Interne Zertifizierungsstelle erstellen".
  3. Schlüssellänge - Ich empfehle 2048 für maximale Kompatibilität, aber Sie können 4096 Bit für maximale Sicherheit verwenden.
  4. Digest-Algorithmus - Verwenden Sie SHA256 oder höher. Wie bei der vorherigen Einstellung müssen Sie die Sicherheit mit der Gerätekompatibilität in Einklang bringen.
  5. Lebensdauer - Stellen Sie dies auf 3650 Tage (10 Jahre) ein.
  6. Distinguished Name - Füllen Sie alle Felder im Abschnitt aus (Land, Bundesland usw.). Diese werden alle in den Zertifikaten angezeigt, die von den Kunden gesehen werden.

Klicken Sie auf die Schaltfläche Speichern um die Erstellung der Zertifizierungsstelle abzuschließen.

Schritt 5: Exportieren Sie das CA-Zertifikat

Nach dem Erstellen der neuen Zertifizierungsstelle muss das Zertifizierungsstellenzertifikat exportiert werden. Dieses Zertifikat muss auf jedem Clientcomputer installiert werden, der den Proxyserver verwendet.

Klicken Sie auf der Seite CA-Manager auf CA-Zertifikat exportieren Schaltfläche zum Herunterladen des Zertifikats. Dadurch wird eine Kopie des CA-Zertifikats im CRT-Dateiformat heruntergeladen.

Schritt 6: Installieren Sie das CA-Zertifikat auf den Clientcomputern

Damit die Webbrowser auf Clientcomputern keine Zertifikatfehler anzeigen, muss das CA-Zertifikat der pfSense-CA auf allen Clientcomputern installiert sein, die den Proxyserver verwenden.

Das Überspringen dieses Schritts führt dazu, dass Clients Browser-Sicherheitsfehler erhalten und verschiedene HTTPS-Verbindungsprobleme verursachen können.

Das Zertifikat muss in der Vertrauenswürdiger Stammzertifizierungsstellenspeicher um Browserfehler zu vermeiden.

Wenn Sie nur eine kleine Anzahl von Computern in Ihrem Netzwerk haben, ist es wahrscheinlich am einfachsten, das Zertifikat manuell auf jedem Computer zu importieren.

Bei größeren Netzwerken sollten Sie die Einrichtung von Microsoft Active Directory-Zertifikatdiensten in Betracht ziehen. AD-integrierte Zertifizierungsstellen können automatisch ein Stammzertifikat an Hosts senden, die Mitglieder der Domäne sind.

Importieren des Zertifikats unter Windows 7

Um das Zertifikat auf einen Computer unter Windows 7 zu importieren, doppelklicken Sie auf die CRT-Datei, um das Dialogfeld Zertifikat zu öffnen.

  1. Drücke den Zertifikat installieren Schaltfläche zum Starten des Importassistenten.
  2. Weiter klicken auf der ersten Seite des Zertifikatimport-Assistenten.
  3. Wählen Sie die Option Legen Sie alle Zertifikate in den folgenden Speicher.
  4. Klicken Sie auf die Schaltfläche Durchsuchen und wählen Sie Vertrauenswürdige Stammzertifizierungsstellen aus.
  5. Weiter klicken, Klicken Sie dann auf Fertig stellen auf der Importbestätigungsseite.
  6. Wenn Sie dazu aufgefordert werden, Klicken Sie auf Ja, um die Sicherheitswarnung zu bestätigen.

Sie sollten eine Meldung sehen, die angibt, dass der Zertifikatimport erfolgreich abgeschlossen wurde.

Dialogfeld "Windows 7-Zertifikateigenschaften"

Importieren des Zertifikats unter Mac OS X.

Führen Sie die folgenden Schritte aus, um das Zertifikat unter Mac OS X manuell zu importieren.

  1. Öffnen Sie die Anwendung Keychain Access - Verwenden Sie die Spotlight-Suche, um diese App leicht zu finden.
  2. Klicken Sie auf das Schlosssymbol um die Schlüsselkette für Änderungen zu entsperren.
  3. Öffnen Sie das Menü Datei und Wählen Sie Elemente importieren.
  4. Wählen Sie das CA-Zertifikat aus aus pfSense exportiert. (Zu diesem Zeitpunkt sollte das Zertifikat im Schlüsselbund mit der Meldung "Dieses Stammzertifikat ist nicht vertrauenswürdig" angezeigt werden.)
  5. Doppelklicken Sie auf das Zertifikat und erweitern Sie den Vertrauensbereich des Dialogfelds. In der ersten Dropdown-Box mit dem Namen "Bei Verwendung dieses Zertifikats" Wählen Sie immer vertrauen.
  6. Schließen Sie die Dialogfelder und beenden Sie die Anwendung für den Schlüsselbundzugriff.

Importierte ein CA-Zertifikat in Mac OS X.

Schritt 7: Aktivieren Sie SSL Man in der mittleren Filterung

Nachdem Sie das Zertifikat auf die Clientcomputer geladen haben, können Sie die SSL-Filterung in Squid aktivieren. Rufen Sie die Seite mit den Tintenfischeinstellungen auf (Services Squid Proxy Server) und konfigurieren Sie die folgenden Einstellungen.

  1. HTTPS / SSL-Interception - Geprüft
  2. SSL Intercept Interface (s) - Wählen Sie LAN
  3. CA. - Wählen Sie die in Schritt 4 erstellte Zertifizierungsstelle aus

Klicken Sie unten auf der Seite auf Speichern, um die Einstellungen zu übernehmen.

Schritt 8: Testen der SSL-Überwachung

Die beste Vorgehensweise nach dem Aktivieren des SSL-Abfangens besteht darin, zu bestätigen, dass es wie beabsichtigt funktioniert. Führen Sie die folgenden Schritte aus, um sicherzustellen, dass HTTPS-Verbindungen vom Proxy entschlüsselt werden.

  1. Besuchen Sie eine Website, die HTTPS verwendet. wie Reddit von einem Client-Computer hinter dem Proxy.
  2. Zeigen Sie die Zertifikatinformationen an präsentiert vom Webbrowser. In Chrome können Sie dazu auf das Schlosssymbol in der Adressleiste klicken.
  3. Vergewissern Sie sich, dass die Informationen des Zertifikatsausstellers mit den Informationen übereinstimmen, die Sie beim Erstellen der Zertifizierungsstelle in Schritt 4 eingegeben haben.

Bekannte Probleme in Squid 3.4

Der pfSense-Paketmanager enthält derzeit Squid Version 3.4, bei der ein bekanntes Problem auftritt, bei dem SHA1-Zertifikate anstelle von SHA256 falsch generiert werden.

Da SHA1 ein schwacher Algorithmus ist, zeigen viele Browser Fehler an, wenn sie auf Zertifikate stoßen, die mit diesem Algorithmus signiert wurden.

Um dies zu beheben, empfehle ich ein manuelles Upgrade auf Squid Version 3.5.3, bei dem dieses Problem nicht auftritt.

Upgrade auf Squid 3.5.3

Die Upgrade-Anweisungen unterscheiden sich geringfügig, je nachdem, ob Sie die 32-Bit- oder die 64-Bit-Version von pfSense ausführen.

Um festzustellen, welche Version Sie haben, öffnen Sie das pfSense-Dashboard und Überprüfen Sie den Versionsabschnitt des Systeminformations-Dashboard-Widgets. Wenn Sie AMD64 sehen, befolgen Sie die 64-Bit-Anweisungen. Wenn Sie i386 sehen, verwenden Sie die 32-Bit-Anweisungen.

Die Befehle können über ein ausgeführt werden SSH-Terminaloder das webbasierte Terminal (Diagnose Eingabeaufforderung)

64-Bit (AMD64) -Anweisungen

  1. Laden Sie die PBI herunter, indem Sie den folgenden Befehl ausführen: Holen Sie sich https://files.pfsense.org/packages/10/All/squid-3.5.3-amd64.pbi
  2. Installieren Sie das Paket, indem Sie Folgendes ausführen: pbi_add --no-checksig -f squid-3.5.3-amd64.pbi
  3. Führen Sie die folgenden Befehle aus, um die richtige Verzeichnisstruktur zu erstellen

cd / usr / pbi / squid-amd64 /

rm -rf / usr / pbi / squid-amd64 / etc.

ln -s / usr / pbi / squid-amd64 / local / etc.

ln -s / usr / pbi / squid-amd64 / local / lib. ln -s / usr / pbi / squid-amd64 / local / libexec. ln -s / usr / pbi / squid-amd64 / local / share. ln -s / usr / pbi / squid-amd64 / bin sbin

Starten Sie pfSense neu, nachdem Sie die obigen Befehle ausgeführt haben (Diagnose Neustart).

32-Bit (i386) -Anweisungen

  1. Laden Sie die PBI herunter, indem Sie den folgenden Befehl ausführen: Holen Sie sich https://files.pfsense.org/packages/10/All/squid-3.5.3-i386.pbi
  2. Installieren Sie das Paket, indem Sie Folgendes ausführen: pbi_add --no-checksig -f squid-3.5.3-i386.pbi
  3. Führen Sie die folgenden Befehle aus, um die richtige Verzeichnisstruktur zu erstellen

cd / usr / pbi / squid-i386 /

rm -rf / usr / pbi / squid-i386 / etc.

ln -s / usr / pbi / squid-i386 / local / etc.

ln -s / usr / pbi / squid-i386 / local / lib. ln -s / usr / pbi / squid-i386 / local / libexec. ln -s / usr / pbi / squid-i386 / local / share. ln -s / usr / pbi / squid-i386 / bin sbin

Starten Sie pfSense neu, nachdem Sie die obigen Befehle ausgeführt haben (Diagnose Neustart).

Überprüfen der Installation von Squid 3.5.3

Starten Sie nach dem Neustart von pfSense eine neue SSH-Sitzung (oder verwenden Sie das Webterminal), um zu überprüfen, ob das aktualisierte Paket korrekt installiert wurde.

Wenn Sie den folgenden Befehl ausführen, sollte Version 3.5.3 in der Ausgabe aufgeführt sein.

/ usr / local / sbin / squid -v

Fertigstellung

Herzlichen Glückwunsch, wenn Sie alle oben genannten Schritte ausgeführt haben, haben Sie Squid erfolgreich so konfiguriert, dass verschlüsselter HTTPS-Verkehr abgefangen wird. Sie sollten sofort feststellen, dass HTTPS-Anforderungen in den Squid-Zugriffsprotokollen protokolliert werden.

Um die gesammelten neuen Zugriffsprotokolle optimal nutzen zu können, empfehle ich die Installation eines Squid-Protokollanalysators wie z Lichtquid.

Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.

Publikationen

Neue Publikationen.

Drahtloses Netzwerk vs kabelgebundenes Netzwerk: Vor- und Nachteile
Computers

Drahtloses Netzwerk vs kabelgebundenes Netzwerk: Vor- und Nachteile

Paul i t ein ehemaliger Lehrer für digitale Medienwi en chaften mit einer Leiden chaft für Video und Audio. Er lebt und arbeitet al freiberuflicher chrift teller in Florida, U A.Zunehmend be...
So erreichen Sie eine DIRECTV-Satellitenschüssel für ein besseres Signal
Computers

So erreichen Sie eine DIRECTV-Satellitenschüssel für ein besseres Signal

Lacey i t eine techni che Redakteurin im Bereich Tiefbau, die gerne Heimwerkerprojekte betreibt.Wenn ie nur ein geringe oder gar kein atelliten ignal empfangen, mü en ie möglicherwei e Ihre ...