Wie richtet man einen Caching-Proxy auf OPNsense ein?
OPNsense bietet einen voll funktionsfähigen Caching-Proxy-Dienst mit umfangreichen Zugriffskontrolllisten, kategoriebasiertem Webfiltering und der Möglichkeit, im transparenten Modus zu arbeiten. Es unterstützt HTTP-, HTTPS- und FTP-Dienste. Außerdem kann der Proxy-Server in Verbindung mit dem Traffic-Shaper verwendet werden, um die Benutzererfahrung zu verbessern. Durch das Caching und die Wiederverwendung häufig besuchter Websites verbessert es die Reaktionszeiten und erhöht die Effizienz der Bandbreitennutzung. Die ICAP-Schnittstelle ermöglicht die Integration mit den meisten professionellen Antivirenlösungen.
Zusätzlich zu seinen Caching-Proxy-Funktionen bietet OPNsense auch Next-Generation-Firewall-Funktionen wie Webkontrolle und Anwendungssteuerung. Dies wird durch ein externes Tool namens Zenarmor bereitgestellt.
Das Zenarmor NGFW-Plugin für OPNsense ist eines der beliebtesten OPNsense-Plugins und ermöglicht es Ihnen, Ihre Firewall in Sekundenschnelle auf eine Next Generation Firewall aufzurüsten. NG Firewalls ermöglichen es Ihnen, modernen Cyberangriffen entgegenzuwirken, die jeden Tag raffinierter werden.
Einige der Funktionen sind Layer-7-Anwendungs-/Benutzer-erkennendes Blockieren, granulare Filterrichtlinien, kommerzielles Webfiltering mit cloud-basierter KI-gestützter Bedrohungsintelligenz, Kindersicherungen sowie die besten Netzwerk-Analysen und -Berichte der Branche.
Die Zenarmor Free Edition ist für alle OPNsense Benutzer kostenlos verfügbar.
In diesem Tutorial werden wir die folgenden Themen kurz erklären:
-
Was sind die Funktionen des Caching-Proxys auf OPNsense?
-
Wie konfiguriert man benutzerdefinierte Fehlerseiten im OPNsense-Caching-Proxy?
-
Wie richtet man einen einfachen Caching-Proxy auf OPNsense ein?
-
Wie aktiviert man die Webfilterung im OPNsense-Proxy?
-
Wie aktiviert man den transparenten HTTP- und SSL-Modus im OPNsense-Proxy?
-
Wie importiert man ein internes CA-Zertifikat in Windows 10 als vertrauenswürdige Stamm-CA?
Achten Sie darauf, dass der Caching-Proxy-Dienst stark auf die CPU-Auslastung und das Schreiben in den Festplattenspeicher angewiesen ist. Daher wird empfohlen, eine SSD für den Caching-Proxy-Dienst zu verwenden.
Was sind die Funktionen des Caching-Proxy auf OPNsense?
Die Hauptmerkmale des OPNsense-Caching-Proxy-Dienstes sind unten aufgeführt:
-
Authentifizierer: Der Proxy kann als transparenter Proxy eingerichtet werden, indem die folgenden Authentifizierungsmethoden verwendet werden:
infoSie können die Authentifizierungsoptionen des OPNsense-Caching-Proxys konfigurieren, indem Sie zu
Web Proxy
>Administration
>Forward Proxy
>Authentication Settings
navigieren.Abbildung 1. Zugriff auf die Authentifizierungseinstellungen im OPNsense-Webproxy
-
Zugangskontrolle: Es unterstützt Zugriffskontrolllisten, indem die folgenden Kriterien verwendet werden:
- Subnetze
- Ports
- MIME-Typen
- Gesperrte IPs
- Whitelists
- Blacklists
- Browser/User-Agents
- Unterstützung für Blacklists
infoSie können die Access Control Lists des OPNsense-Caching-Proxys konfigurieren, indem Sie zu
Web Proxy
>Administration
>Forward Proxy
>Access Control Lists
navigieren.Abbildung 2. Zugriff auf die Zugriffskontrollliste im OPNsense-Webproxy
-
Transparenter Modus: Der transparente Modus ermöglicht es, dass alle Anfragen ohne jegliche Client-Konfiguration an den Proxy weitergeleitet werden. Der transparente Modus funktioniert gut mit ungesichertem HTTP-Verkehr. Aber bei gesicherten (SSL) HTTPS-Verbindungen wird der Proxy zu einem Man-in-the-Middle, weil der Client mit dem Proxy "spricht" und der Proxy die Netzwerkpakete mit seinem Master-Schlüssel verschlüsselt, dem der Client vertrauen muss.
warnungDie Verwendung eines transparenten HTTPS-Proxys kann riskant sein und ist möglicherweise für einige Webanwendungen, wie z.B. E-Commerce, nicht erlaubt.
-
Webfilter: OPNsense umfasst eine kategoriespezifische Webfilterunterstützung mit den folgenden Funktionen:
- Daten von einer entfernten URL abrufen
- Den integrierten Scheduler verwenden, um auf dem neuesten Stand zu bleiben
- Kompatibilität mit den am häufigsten verwendeten Blacklists
- Flache Listen und kategoriebasierte komprimierte Listen werden unterstützt
- Kategoriebasierte Blacklists werden automatisch in Squid ACLs umgewandelt.
-
Verkehrsmanagement: Der Proxy kann in Verbindung mit dem Traffic Shaper verwendet werden, um dessen Shaping-Funktionen vollständig auszunutzen. Es bietet auch die folgenden Optionen:
- Maximale Dateigröße für Download/Upload
- Begrenzung der Gesamtdatenrate
- Begrenzung der Bandbreite pro Host
infoSie können die
Traffic Management
-Optionen des OPNsense-Caching-Proxys konfigurieren, indem Sie zuWeb Proxy
>Administration
>General Proxy Settings
>Traffic Management Settings
navigieren.Abbildung 3. Zugriff auf die Einstellungen des Verkehrsmanagements im OPNsense Web Proxy
-
WPAD / PAC: OPNsense bietet eine automatische Proxy-Konfiguration über WPAD / PAC für Fälle, in denen Sie den transparenten Modus nicht verwenden können.
warnung
Da WPAD über DNS erfordert, dass die Web-Benutzeroberfläche auf dem Standard-HTTP-Port (TCP/80) läuft, ist sie anfällig für MITM-Angriffe. Daher sollten Sie in solchen Fällen einen Proxy-Server verwenden oder die Konfiguration der Anwendung aus einem nicht vertrauenswürdigen Netzwerk vermeiden. :::
-
Benutzerdefinierte Fehlerseiten: Der Caching-Proxy-Dienst von OPNsense bietet anpassbare Fehlerseiten für Ihre Anforderungen.
-
Mehrere Schnittstellen: Der Proxy kann gleichzeitig auf mehreren Netzwerk-Schnittstellen laufen.
So konfigurieren Sie benutzerdefinierte Fehlerseiten im OPNsense-Caching-Proxy?
Sie können Ihre benutzerdefinierten Fehlerseiten im OPNsense-Caching-Proxy-Dienst ganz einfach konfigurieren, indem Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
→General Proxy Settings
in Ihrer OPNsense-Weboberfläche. -
Wählen Sie
Custom
für User error pages. Dann wird ein zusätzlicher Tab mit dem NamenError Pages
sichtbar.Abbildung 4. Einstellung der Benutzerfehlerseitenoption im OPNsense Web Proxy
-
Klicken Sie auf die Registerkarte
Error Pages
. -
Klicken Sie auf das
Download
-Symbol, um eine ZIP-Datei (proxy_template.zip
) mit allen verfügbaren Fehlerseiten und Stylesheets herunterzuladen.Abbildung 5. Herunterladen von Fehlerseiten im OPNsense Web Proxy
-
Ändern Sie die entsprechenden Dateien nach Belieben und zippen Sie sie.
Abbildung 6. Fehlerseiten-Dateilisten im OPNsense Web Proxy-Template
-
Klicken Sie auf das Ordnersymbol, um die neu erstellte Zip-Datei auszuwählen, z.B.
custom_template.zip
.Abbildung 7. Hochladen benutzerdefinierter Fehlerseiten im OPNsense Web Proxy
-
Klicken Sie auf die Hochladen-Schaltfläche.
-
Klicken Sie auf die Schaltfläche
Apply
. -
Klicken Sie auf den Tab
General Proxy Settings
. -
Klicken Sie auf die Schaltfläche
Apply
, um die Fehlerseiten-Vorlage zu aktivieren.
Die Reset-Taste mit einem X
-Symbol entfernt Ihre benutzerdefinierte Vorlage aus der Konfiguration, und die Download-Option stellt die Standard-OPNsense-Vorlage wieder her.
Um das Hintergrundbild zu ändern, können Sie die cs
-Datei in ein Verzeichnis hochladen und alle html
-Dateien weglassen.
Wie richtet man einen einfachen Caching-Proxy auf OPNsense ein?
Sie können einen einfachen Caching-Proxy-Dienst in Ihrem OPNsense ganz einfach einrichten, indem Sie die folgenden 10 Hauptschritte befolgen:
-
Proxy-Server aktivieren/deaktivieren
-
Proxy-Schnittstelle konfigurieren(s)
-
Konfigurieren Sie den Proxy-Hörport
-
Caching aktivieren/deaktivieren
-
Authentifizierungsmethode konfigurieren
-
FTP-Proxy aktivieren/deaktivieren
-
Zugriffssteuerungsliste definieren
-
Definieren Sie die Remote Access Control List
-
Definieren Sie Firewall-Regeln, um zu verhindern, dass Clients den Proxy-Server umgehen.
-
Konfigurieren Sie den Client-Proxy
Wir werden diese Schritte kurz unten erklären.
1. Proxy-Server aktivieren/deaktivieren
In der OPNsense-Firewall kommt der Proxy-Server mit angemessenen Standardeinstellungen für eine schnelle Einrichtung. Um den Proxy-Dienst in Ihrer OPNsense-Firewall zu aktivieren, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Überprüfen Sie die Option
Enable proxy
. -
Klicken Sie auf
Apply
, um den Proxy-Server zu aktivieren.
Der Proxy wird mit Benutzerauthentifizierung basierend auf der local user database
aktiviert und läuft standardmäßig auf Port 3128
der LAN
-Schnittstelle.
Abbildung 8. Proxy auf OPNsense aktivieren
Wie starte/neu starte/beende ich den Proxy-Server?
Sie können den Status des Proxy-Dienstes anzeigen, indem Sie zu Services
→ Web-Proxy
→ Administration
navigieren. Die Status- und Aktionsschaltflächen sind in der oberen rechten Ecke der Administrationsseite verfügbar.
Wenn der Proxy-Server läuft, wird die Status-Schaltfläche als grünes Rechteck mit einem weißen Pfeilsymbol nach rechts angezeigt.
Sie können auf die Schaltfläche Restart
klicken, um den Proxy-Server neu zu starten.
Sie können auf die Schaltfläche Stop
klicken, um den Proxy-Server zu stoppen.
Abbildung 9. Neustart/Stoppen des Proxy-Dienstes auf OPNsense
Wenn der Proxy-Server gestoppt ist, wird die Status-Schaltfläche als rotes Rechteck mit einem weißen Quadrat-Symbol angezeigt.
Sie können auf die Schaltfläche Start
klicken, um den Proxy-Server zu starten.
Abbildung 10. Starten eines gestoppten Proxy-Dienstes auf OPNsense
2. Konfigurieren Sie die Proxy-Schnittstelle(n) und allgemeine Weiterleitungseinstellungen
Wenn Sie die Schnittstellen (Subnetze) ändern müssen, an die der Proxy gebunden wird, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf die Seite
General Forward Settings
im TabForward Proxy
. -
Wählen Sie Schnittstellen im Feld Proxy-Schnittstellen aus. Sie können beliebig viele Schnittstellen hinzufügen oder eine entfernen.
-
Klicken Sie auf
Apply
, um die Einstellungen zu aktivieren.Abbildung 11. Auswahl der Proxy-Schnittstelle in OPNsense
-
Sie können die Option Enable Transparent HTTP proxy für den transparenten Proxy-Modus aktivieren. Wir werden diese Einstellung im folgenden Abschnitt aktivieren.
-
Sie können Enable SSL inspection auswählen, um HTTPS-Verkehr zu protokollieren und/oder damit der Proxy als Vermittler zwischen dem Internet und Ihren Clients fungiert. Bevor Sie diese Option aktivieren, sollten Sie die Sicherheitsimplikationen berücksichtigen. Sie benötigen NAT-Regeln, um Ihren Datenverkehr widerzuspiegeln, wenn Sie den transparenten HTTPS-Modus verwenden möchten. Wir werden diese Einstellung im letzten Abschnitt aktivieren.
-
Sie können die Option Log SNI information only* aktivieren, um nur angeforderte Domains und IP-Adressen zu protokollieren. Diese Option dekodiert oder filtert keinen SSL-Inhalt.
-
Sie können den SSL Proxy port ändern, auf den der SSL-Proxy-Dienst hören wird. Es ist standardmäßig 3129.
-
Sie können die Zertifizierungsstelle auswählen, die für die SSL inspection verwendet werden soll.
-
Sie können eine Liste von Sites eingeben, die nicht inspiziert werden dürfen, wie z.B. Bank- und E-Commerce-Sites, in das Feld SSL no bump sites. Um alle Subdomains zu akzeptieren, können Sie die Domain mit einem
.
voranstellen.
3. Konfigurieren Sie den Proxy-Hörport
Standardmäßig hört der Proxy auf Port 3128. Um den Proxy-Listening-Port zu ändern, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf die Seite
General Forward Settings
im TabForward Proxy
. -
Setzen Sie den Proxy Port auf einen geeigneten Wert Ihrer Wahl, zum Beispiel 8080.
-
Klicken Sie auf
Apply
, um die Einstellungen zu aktivieren.Abbildung 12. Ändern des Proxy-Listening-Ports in OPNsense
4. Caching aktivieren/deaktivieren
Um das Caching auf Ihrem Proxy-Server zu aktivieren, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf den Pfeil neben den
General Proxy Settings
, um das Dropdown-Menü anzuzeigen. -
Klicken Sie auf
Local Cache Settings
. -
Aktivieren Sie die Option
Enable local cache
. -
Sie können den advanced mode-Schalter oben aktivieren.
-
Sie können die
Memory Cache size in Megabytes
je nach Ihrem System erhöhen, zum Beispiel auf1024
. Es sind standardmäßig256 MB
. -
Sie können die
Cache size in Megabytes
je nach Bedarf erhöhen, zum Beispiel auf1024
. Es sind standardmäßig100 MB
. -
Sie können die
Maximum object size (MB)
auf dem Standardwert von 4MB belassen. -
Sie können
Maximum object size in memory (KB)
als Standard belassen. -
Sie können den
Memory cache mode
auf Standard belassen. Die folgenden Optionen sind ebenfalls verfügbar:
- always: Behalte die zuletzt abgerufenen Objekte (default)
- disk: Nur Festplattencache-Treffer werden im Speicher gespeichert, daher muss ein Objekt zuerst auf der Festplatte zwischengespeichert und dann ein zweites Mal aufgerufen werden, bevor es im Speicher zwischengespeichert wird.
- network: Nur Objekte, die aus dem Netzwerk abgerufen werden, werden im Speicher gespeichert.
-
Sie können die Option
Enable Linux Package Cache
aktivieren, um das Paket-Caching für Linux-Distributionen zu aktivieren, wenn Sie mehrere Server in Ihrem Netzwerk haben und keinen eigenen Paketspiegel hosten. Dies spart Internetbandbreite und erhöht den Festplattenspeicher. -
Sie können die Option
Enable Windows Update Cache
aktivieren oder deaktivieren, um den Cache von Windows-Updates zu aktivieren oder zu deaktivieren, wenn Sie keinen WSUS-Server haben. -
Klicken Sie auf
Apply
, um die Einstellungen zu aktivieren.Abbildung 13. Aktivierung des Caching-Proxy auf OPNsense
Da der Cache standardmäßig nicht erstellt wird, müssen Sie den Proxy-Dienst stoppen und neu starten, um sicherzustellen, dass der Cache ordnungsgemäß erstellt wird.
5. Authentifizierungsmethode konfigurieren
Um die Authentifizierungsmethode für Ihren Proxy-Dienst auf OPNsense zu ändern, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf den Pfeil neben dem
Forward Proxy
, um das Dropdown-Menü anzuzeigen. -
Klicken Sie auf
Authentication Settings
. -
Wählen Sie die gewünschten Authentifikatoren im Feld Authentication method aus. Wenn Sie keine Authentifizierung verwenden möchten, klicken Sie auf den Link
Clear All
.infoje nach den Authentifizierungsservern, die Sie in
System
→Access
→Server
konfiguriert haben, können Sie eine oder mehrere der folgenden Optionen wählen:- Lokale Benutzerdatenbank
- Radius
- LDAP
- Zeitbasiert Einmalpasswort
- Keine Authentifizierung (Feld leer lassen)
-
Sie können Enforce local group einstellen, um den Zugriff auf Benutzer in der ausgewählten (lokalen) Gruppe zu beschränken, wenn Sie möchten. Wir lassen es als Standard.
-
Sie können die Authentication Prompt nach Belieben ausfüllen. Es wird im Authentifizierungsanforderungsfenster angezeigt.
-
Setzen Sie Authentication TTL (hours) auf
8
. Dies gibt an, wie lange der Proxy-Server davon ausgeht, dass eine extern validierte Benutzername- und Passwortkombination gültig ist (in Stunden). (Time To Live). Wenn die TTL abläuft, wird der Benutzer aufgefordert, seine Anmeldeinformationen erneut einzugeben. Es ist standardmäßig auf2
eingestellt. -
Sie können die Authentication processes als Standard belassen. Die Gesamtzahl der Authentifizierungsprozesse, die gestartet werden.
-
Klicken Sie auf
Apply
, um die Einstellungen zu aktivieren.Abbildung 14. Einstellen der Authentifizierungsmethode für den Proxy auf OPNsense
6. FTP-Proxy aktivieren
Um den FTP-Proxy-Dienst auf OPNsense zu aktivieren, können Sie die folgenden Schritte befolgen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf den Pfeil neben dem
Forward Proxy
, um das Dropdown-Menü anzuzeigen. -
Klicken Sie auf
FTP Proxy Settings
. -
Wählen Sie eine oder mehrere Schnittstellen im Feld FTP proxy interfaces aus, wie z.B.
LAN
oderGUESTNET
. -
Sie können den Standard-FTP proxy port ändern, der Standardwert ist
2121
. -
Sie können Enable Transparent mode, um alle Anfragen an den Zielport 21 ohne zusätzliche Konfiguration an den Proxy-Server weiterzuleiten.
-
Klicken Sie auf
Apply
, um die Einstellungen zu aktivieren.Abbildung 15. Aktivierung des FTP-Proxy-Dienstes in OPNsense
Der FTP-Proxy funktioniert nur, wenn der Proxy-Server aktiviert ist. Darüber hinaus funktioniert der Proxy nur für unverschlüsselten FTP-Verkehr.
7. Definieren Sie die Zugriffssteuerungsliste
Um Zugriffssteuerlisten für Ihren Proxy-Dienst auf OPNsense zu definieren, können Sie die folgenden Schritte befolgen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf den Pfeil neben dem
Forward Proxy
, um das Dropdown-Menü anzuzeigen. -
Klicken Sie auf
advanced mode toggle button.
. -
Klicken Sie auf die Schaltfläche „Erweiterter Modus“.
-
Sie können Allowed Subnets festlegen, indem Sie die Subnetze eingeben, denen Sie den Zugriff auf den Proxy-Server erlauben möchten. Die Proxy-Schnittstellen sind standardmäßig erlaubt.
-
Sie können Unrestricted IP addresses hinzufügen. Für diese IP-Adressen werden keine Authentifizierung und keine Sperrung angewendet.
-
Sie können IP-Adressen, denen Sie den Zugriff auf den Proxy-Server verweigern möchten, in das Feld Banned host IP addresses eingeben.
-
Sie können Domains zur Whitelist hinzufügen, damit sie nicht vom Proxy-Server blockiert werden, wie zum Beispiel
unharmful.com
. -
Sie können Domains zur Blacklist hinzufügen, damit sie vom Proxy-Server blockiert werden, wie zum Beispiel
harmful.com
.Abbildung 16. Einstellung von ACLs für den Proxy-Dienst auf OPNsense-1
-
Sie können Block browser/user-agents einstellen, um bestimmte Browser zu blockieren. Zum Beispiel wird "Mozilla" "alle auf Mozilla basierenden Browser" blockieren und "(.)+Macintosh(.)+Firefox/36.0" wird die "Macintosh-Version von Firefox Revision 36.0" blockieren. Wir werden MS Internet Explorer von 6 bis 10 blockieren, da er kritische Sicherheitsanfälligkeiten aufweist.
-
Sie können Block specific MIME type reply einstellen, um HTTP-Antworten basierend auf dem MIME-Typ der Serverinhalte zu blockieren, wie z.B. Bild, Text, HTML, Flash, Musik, MPEG usw. Zum Beispiel wird die Eingabe von "video/Flv" den Flash-Video-Inhalt von Youtube blockieren, und "application/x-javascript" blockiert "javascript".
-
Sie können die Domain eingeben, die die Nutzung von Google GSuite im Feld Google GSuite restricted erlaubt ist. Alle Konten, die nicht zu dieser Domain gehören, werden daran gehindert, sie zu nutzen.
-
Sie verwenden YouTube-Beschränkungen, indem Sie das Feld YouTube Filter auf
Moderate
oderStrict
einstellen. -
Sie können Allowed destination TCP port hinzufügen.
-
Sie können Allowed SSL ports hinzufügen.
-
Klicken Sie auf
Apply
.Abbildung 17. Festlegen von ACLs für den Proxy-Dienst auf OPNsense-2
Sie können einen regulären Ausdruck, ein Komma oder die Eingabetaste verwenden, um ein neues Element zu erstellen. "mydomain.com" entspricht ".mydomain.com"; "https?://([a-zA-Z]+).mydomain." entspricht "http(s)://textONLY.mydomain."; ".gif$" entspricht ".gif" aber nicht ".giftest"; "[0-9]+.gif" entspricht "123.gif" aber nicht "test.gif"$" entspricht "123.gif", aber nicht "test.gif"
8. Definieren Sie die Remote Access Control List
Um die Remote-Zugriffskontrollliste auf Ihrem Proxy-Server zu definieren, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf die Registerkarte „Remote Access Control Lists“.
-
Klicken Sie auf die Schaltfläche
+
in der unteren rechten Ecke der Seite, um eine entfernte Blacklist hinzuzufügen.
Abbildung 18. Hinzufügen einer entfernten Blacklist für den Proxy-Dienst auf OPNsense
-
Aktivieren Sie die Option
enabled
. -
Geben Sie einen eindeutigen Filename zum Speichern der neuen Blacklist ein, wie zum Beispiel
StevenBlackListPorn
. -
Geben Sie eine URL ein, von der die Blacklist abgerufen werden soll, wie zum Beispiel
https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn-social/hosts
. -
Geben Sie eine Description ein, um zu erklären, warum diese Blacklist existiert, wie zum Beispiel
StevenBlackList for social, fake news, gambling, and porn sites
. -
Sie können die anderen Optionen als Standard belassen.
Abbildung 19. Bearbeiten der Remote-Blacklist für den Proxy-Dienst auf OPNsense
-
Klicken Sie auf
Save
, um die Einstellungen zu speichern. -
Klicken Sie auf
Download ACLs & Apply
, um die neu hinzugefügte Remote-Blacklist in Ihrem Proxy abzurufen und zu aktivieren.Abbildung 20. Herunterladen und Anwenden von Remote-ACLs für den Proxy-Dienst auf OPNsense
Nachdem Sie die entfernte Blacklist heruntergeladen haben, können Sie die entfernte ACL bearbeiten, indem Sie auf die Schaltfläche mit dem Stiftsymbol klicken. Und Sie können Kategorien auswählen, die Sie verwenden möchten. Sie werden für kategoriebasiertes Webfiltering verwendet.
9. Definieren Sie Firewall-Regeln, um zu verhindern, dass Clients den Proxy-Server umgehen
Eine Firewall-Regel muss hinzugefügt werden, um sicherzustellen, dass niemand den Proxy umgehen kann. Da alle Clients über den OPNsense-Proxy-Server, der auf Port 3128 läuft, auf das Internet zugreifen müssen, müssen alle HTTP(S)-Anfragen, die an die Ports 80/433 gesendet werden, blockiert werden. Sie können verhindern, dass Ihre Benutzer Ihren Proxy-Server umgehen, indem Sie die folgenden vier Hauptschritte befolgen:
-
Fügen Sie eine Firewall-Regel hinzu, um ausgehenden HTTP-Verkehr auf Port 80 zu blockieren.
-
Fügen Sie eine Firewall-Regel hinzu, um ausgehenden HTTPS-Verkehr auf Port 443 zu blockieren.
-
Verschieben Sie die neu erstellten Regeln an den Anfang der Firewall-Regellisten.
-
Aktivieren Sie die neuen Firewall-Regeln.
1. Fügen Sie eine Firewall-Regel hinzu, um ausgehenden HTTP-Verkehr auf Port 80 zu blockieren
Um eine Firewall-Regel hinzuzufügen, die verhindert, dass Clients Proxy-Server umgehen, indem ausgehender HTTP-Verkehr auf Port 80 blockiert wird, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Firewall
→Rules
in Ihrer OPNsense-Weboberfläche. -
Klicken Sie auf die Schnittstelle, an die Ihr Proxy gebunden ist, wie z.B.
LAN
. -
Klicken Sie auf die
+
-Schaltfläche, um eine Firewall-Regel hinzuzufügen. -
Setzen Sie Action auf
Block
. -
Stellen Sie sicher, dass die Interface auf die Schnittstelle eingestellt ist, an die Ihr Proxy gebunden ist, wie z.B.
LAN
. -
Setzen Sie Protocol auf
TCP/UDP
. -
Setzen Sie Source auf
LAN net
Abbildung 21. Hinzufügen einer Firewall-Regel, um ausgehenden HTTP-Verkehr auf Port 80 auf OPNsense-1 zu blockieren
-
Setzen Sie den Destination port range* auf
HTTP
. -
Sie können das Protokollieren aktivieren, indem Sie die Option
Log packets that are handled by this rule
im Protocol-Bereich aktivieren. -
Geben Sie
Block Proxy Bypass
für das Feld Category ein. -
Geben Sie
Block HTTP Bypass
für das Description-Feld ein. -
Sie können die anderen Einstellungen als Standard belassen.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.Abbildung 22. Hinzufügen einer Firewall-Regel zum Blockieren des ausgehenden HTTP-Verkehrs auf Port 80 auf OPNsense-2
2. Fügen Sie eine Firewall-Regel hinzu, um ausgehenden HTTPS-Verkehr auf Port 443 zu blockieren
Um eine Firewall-Regel hinzuzufügen, die verhindert, dass Clients Proxy-Server umgehen, indem ausgehender HTTPS-Verkehr auf Port 443 blockiert wird, können Sie die folgenden Schritte ausführen:
-
Klonen Sie die neu erstellte Firewall-Regel, um den ausgehenden HTTP-Verkehr im vorherigen Schritt durch Klicken auf die Klon-Schaltfläche zu blockieren. Dies wird Sie zur Bearbeitungsseite der Firewall-Regel weiterleiten.
-
Setzen Sie den Destination port range auf
HTTPS
. -
Ändern Sie das Feld Description in
Block HTTPS Bypass
. -
Sie können die anderen Einstellungen auf den Standardwerten belassen.
-
Klicken Sie auf die Schaltfläche
Save
am unteren Rand der Seite.
3. Verschieben Sie die neu erstellten Regeln an die Spitze der Firewall-Regellisten
Nachdem Sie die beiden Firewall-Regeln zum Blockieren des ausgehenden HTTP(S)-Verkehrs erstellt haben, werden Sie feststellen, dass diese Regeln am Ende der Firewall-Liste platziert sind. Sie müssen diese Firewall-Regeln an den Anfang der Liste verschieben, damit die HTTP(S)-Anfragen der Clients mit ihnen übereinstimmen und blockiert werden.
Abbildung 23. Verschieben von Firewall-Regeln, um zu verhindern, dass Clients den Proxy-Server in OPNsense umgehen*
4. Aktivieren Sie die neuen Firewall-Regeln
Um die neuen Firewall-Regeln zu aktivieren, müssen Sie auf die Schaltfläche Apply Changes
in der oberen rechten Ecke der Firewall-Regeln LAN-Schnittstellenseite klicken.
10. Konfigurieren Sie den Proxy in Ihrem Windows-Client oder Browser
Sie können die Proxy-Einstellungen in Ihrem Windows-Client ganz einfach konfigurieren, um den Webverkehr über Ihren Proxy-Server zu leiten, indem Sie die folgenden Schritte ausführen:
-
Öffnen Sie Network & Internet Settings, indem Sie mit der rechten Maustaste auf das Netzwerksymbol in der Taskleiste Ihres Windows 10-PCs klicken. Oder klicken Sie auf das Hamburger-Symbol in der oberen rechten Ecke Ihres Chrome-Browsers und navigieren Sie zu
Settings
→Advanced
→System
→Open your computer's proxy settings
.Abbildung 24. Zugriff auf die Proxy-Server-Einstellungen im Chrome-Browser
Abbildung 25. Zugriff auf die Proxy-Server-Einstellungen im Windows 10-Client
-
Klicken Sie auf Proxy.
-
Aktivieren Sie Use a proxy server im Bereich Manual proxy setup.
-
Geben Sie die IP-Adresse Ihres Proxy-Servers in das Feld Address ein, z. B.
10.10.10.1
. -
Geben Sie die Portnummer Ihres Proxy-Servers, die Sie im vorherigen Abschnitt festgelegt haben, in das Feld Port ein, z.B.
3128
. -
Klicken Sie auf
Save
, um die Einstellungen zu aktivieren.Abbildung 26. Einrichten eines Proxys im Windows 10-Client
Ihre Proxy-Server- und Client-Konfigurationen sind abgeschlossen. Jetzt können Sie Ihre Einstellungen testen.
Testen der Proxy-Konfiguration
Sie können Ihre Proxy-Konfiguration testen, indem Sie die folgenden Schritte ausführen:
-
Öffnen Sie Ihren Browser auf dem PC des Kunden. Dies wird ein Dialogfeld ähnlich Abbildung 27 für die Benutzerauthentifizierung anzeigen, wenn Sie die Authentifizierung in Ihren Proxy-Einstellungen aktiviert haben.
Abbildung 27. Proxy-Client-Authentifizierung auf einem Windows 10-PC
-
Versuchen Sie, über Ihren Browser eine Verbindung zu
http://wizhumpgyros.com/
herzustellen. Da die URL in der StevenBlack-Liste enthalten ist, die wir als Remote-ACL im Proxy-Server hinzugefügt haben, sollte sie blockiert sein.Abbildung 28. Der Zugriff auf die Remote-Blacklist-Seite wird auf dem OPNsense-Proxy blockiert
-
Navigieren Sie zu
Service
→Web-Proxy
→Access Log
. Sie solltenTCP_DENIED
-Nachrichten für den Zugriffsversuch aufwizhumpgyros.com
sehen.Abbildung 29. Anzeigen der Zugriffsprotokolle auf dem OPNsense-Proxy
Wie aktiviert man die Webfilterung auf dem OPNsense-Proxy?
OPNsense führt kategoriebasiertes Webfiltering durch, indem es den integrierten Proxy und eine der frei verfügbaren oder kommerziellen Blacklists nutzt. In diesem Abschnitt werden wir Shalla's Blacklists verwenden, eine Sammlung von URL-Listen, die in Kategorien organisiert sind und für die Verwendung mit URL-Filtern wie SquidGuard oder Dansguardian konzipiert wurden. Sie sind kostenlos für persönliche und kommerzielle Zwecke nutzbar.
Sie können auch die UT1 "Web-Kategorisierungsliste" von Fabrice Prigent von der Universität Toulouse verwenden. Es ist kostenlos unter der Creative Commons-Lizenz nutzbar.
Andere beliebte Webfilter-Listen finden Sie unter https://github.com/maravento/blackweb
.
Sie können die Webfilterung in Ihrem OPNsense-Proxy-Dienst ganz einfach aktivieren, indem Sie die folgenden zwei Hauptschritte befolgen:
-
Konfigurieren Sie die Remote-Zugriffskontrollliste
-
Konfigurieren Sie Webkategorien
Wir gehen davon aus, dass Sie bereits einen grundlegenden Caching-Proxy in Ihrem OPNsense konfiguriert haben, indem Sie den Anweisungen im vorherigen Abschnitt gefolgt sind.
1. Konfigurieren Sie die Remote-Zugriffskontrollliste
Um die Remote-Zugriffskontrollliste auf Ihrem Proxy-Server zu definieren, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf den Tab
Remote Access Control Lists
. -
Klicken Sie auf die
+
-Schaltfläche unten rechts auf der Seite, um eine entfernte schwarze Liste hinzuzufügen. -
Aktivieren Sie die Option
enabled
. -
Geben Sie einen eindeutigen Filename zum Speichern der neuen Blacklist ein, wie zum Beispiel
ShallaBlackList
. -
Geben Sie die URL ein, von der die Blacklist abgerufen werden soll, z. B.
http://www.shallalist.de/Downloads/shallalist.tar.gz
. -
Geben Sie eine Description ein, um zu erklären, warum diese Blacklist existiert, wie zum Beispiel
ShallaBlackList für kategoriebasiertes Webfiltering
. -
Sie können die anderen Optionen als Standard belassen.
Abbildung 30. Hinzufügen von Shallas Blacklist für kategoriespezifische Webfilterung im OPNsense-Proxy-Dienst
-
Klicken Sie auf
Save
, um die Einstellungen zu speichern. -
Klicken Sie auf
Download ACLs & Apply
, um die neu hinzugefügte Remote-Blacklist in Ihrem Proxy abzurufen und zu aktivieren.Abbildung 31. Herunterladen und Anwenden von Remote-ACLs für kategoriebasiertes Webfiltering im OPNsense-Proxy-Dienst
2. Webkategorien konfigurieren
Nachdem Sie die entfernte Blacklist heruntergeladen haben, können Sie die zu verwendenden Webkategorien auswählen, indem Sie die folgenden Schritte ausführen:
-
Klicken Sie auf die Schaltfläche "Bearbeiten" mit dem Stiftsymbol neben der neu hinzugefügten Blacklist auf der Seite "Remote Access Control Lists".
-
Standardmäßig sind alle Webkategorien im Feld categories zum Filtern ausgewählt. Deaktivieren Sie alle Kategorien, um den Benutzern den Zugriff nach Ihren Wünschen zu ermöglichen.
Abbildung 32. Auswählen von Webkategorien, die im OPNsense-Proxy blockiert werden sollen
-
Klicken Sie auf
Save
, um die neuen Einstellungen zu speichern. -
Klicken Sie erneut auf
Download ACLs
, um die Liste nur mit den ausgewählten Kategorien herunterzuladen und wiederherzustellen.
Testen der Webfilter-Konfiguration
Wir gehen davon aus, dass Sie im vorherigen Schritt die Kategorie adv
zum Blockieren ausgewählt haben. Sie können Ihre Proxy-Konfiguration testen, indem Sie die folgenden Schritte ausführen:
-
Öffnen Sie Ihren Browser auf dem PC Ihres Kunden.
-
Versuchen Sie, sich über Ihren Browser mit
trafficcenter.com
zu verbinden. Da die URL in der Stalla-Blacklist enthalten ist, die wir als Remote-ACL im Proxy-Server hinzugefügt haben, sollte sie blockiert werden.Abbildung 33. Zugriff auf die Kategorie Adv ist auf dem OPNsense-Proxy blockiert
-
Navigieren Sie zu
Service
→Web Proxy
→Access Log
. Sie solltenTCP_DENIED
-Meldungen für den Zugriffsversuch auftrafficcenter.com
sehen.Abbildung 34. Anzeigen der Zugriffsprotokolle auf dem OPNsense-Proxy
Wie aktiviert man den transparenten SSL-Modus auf dem OPNsense-Proxy?
Sie können Ihren OPNsense-Proxy-Server so konfigurieren, dass er im transparenten Modus läuft. Damit der Browser des Clients nicht für den Web-Proxy konfiguriert werden muss. Der gesamte Webverkehr wird automatisch über Network Address Translation an den Proxy weitergeleitet.
In diesem Abschnitt erklären wir, wie man die transparenten Proxy-Modi für HTTP und HTTPS (SSL-Bump) in der OPNsense-Firewall konfiguriert.
Die Verwendung eines transparenten HTTPS-Proxy kann gefährlich sein und von den von Ihnen genutzten Diensten, wie z.B. E-Commerce, eingeschränkt werden, da der transparente SSL/HTTPS-Proxy-Modus eine Methode namens Man-in-the-Middle ausnutzt. Wenn Sie sich Ihrer Fähigkeiten sicher sind, konfigurieren und verwenden Sie nur den transparenten Modus. Wenn sie falsch konfiguriert sind, können Ihre Sicherheitsmaßnahmen eher geschwächt als gestärkt werden.
Sie können den transparenten SSL-Modus in Ihrem OPNsense-Proxy-Dienst ganz einfach aktivieren, indem Sie die folgenden 5 Hauptschritte befolgen:
-
Erstellen Sie eine Zertifizierungsstelle für transparentes SSL
-
Authentifizierung für den Proxy-Server deaktivieren
-
Aktivieren Sie den transparenten HTTP- und SSL-Modus
-
Konfigurieren Sie No SSL Bump
-
Fügen Sie NAT-Firewall-Regeln für HTTP hinzu(S)
-
Proxy-Client konfigurieren
Wir gehen davon aus, dass Sie bereits einen grundlegenden Caching-Proxy in Ihrem OPNsense konfiguriert haben, indem Sie den Anweisungen im ersten Abschnitt gefolgt sind.
Wir werden die wichtigsten Schritte zur Aktivierung des transparenten SSL-Modus in Ihrem OPNsense-Proxy kurz erklären.
1. Erstellen Sie eine Zertifizierungsstelle für transparentes SSL
Bevor Sie den transparenten SSL-Modus auf Ihrem Proxy-Server aktivieren, müssen Sie eine interne Zertifizierungsstelle erstellen, falls Sie noch keine haben.
2. Deaktivieren Sie die Authentifizierung für den Proxy-Server
Im transparenten Modus ist eine Proxy-Authentifizierung nicht möglich. Da der Browser nicht weiß, dass ein Proxy verwendet wird, kann er nicht auf eine Proxy-Authentifizierungsanforderung reagieren. Um die Authentifizierungsmethode für Ihren Proxy-Dienst auf OPNsense zu ändern, können Sie die folgenden Schritte befolgen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf den Pfeil neben dem
Forward Proxy
, um das Dropdown-Menü anzuzeigen. -
Klicken Sie auf
Authentication Settings
. -
Klicken Sie auf den Link
Clear All
im Feld Authentication method, um keine Authentifizierungsmethode zu verwenden.
3. Aktivieren Sie den transparenten HTTP- und SSL-Modus
Sie können den transparenten HTTP-Modus ganz einfach aktivieren, indem Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf die Seite
General Forward Settings
im TabForward Proxy
. -
Aktivieren Sie die Option Enable Transparent HTTP proxy.
-
Aktivieren Sie die Option Enable SSL inspection.
-
Klicken Sie auf die Schaltfläche
Apply
, um die Einstellungen zu übernehmen.Abbildung 35. Aktivierung des transparenten HTTP- und SSL-Modus auf dem OPNsense-Proxy
4. Konfigurieren Sie No SSL Bump
Um sicherzustellen, dass bekannte Seiten nicht gebumped werden und ihre ursprüngliche Sicherheitsschicht behalten, sollten Sie sie in das Feld für SSL-No-Bump-Seiten einfügen, einschließlich aller Subdomains, indem Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf die Seite „Allgemeine Weiterleitungseinstellungen“ im Tab „Forward Proxy“.
-
Geben Sie die Domains in die SSL no bump sites ein und drücken Sie die Eingabetaste.
Um alle Subdomains einzuschließen, müssen Sie mit einem .
(Punkt) beginnen, wie z.B. .paypal.com
, .google.com
, .amazon.com
, .hsbc.com
.
Stellen Sie sicher, dass Sie alle Bankseiten und Seiten, für die Sie persönliche oder Anmeldeinformationen angeben, in dieses Feld einfügen.
5. Fügen Sie NAT-Firewall-Regeln für HTTP hinzu(S)
Sie können ganz einfach NAT-Firewall-Regeln für HTTP(S) hinzufügen, indem Sie die folgenden Schritte befolgen:
-
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf die Seite „Allgemeine Weiterleitungseinstellungen“ im Tab „Forward Proxy“.
-
Klicken Sie auf das (i)-Symbol links neben der Option Enable Transparent HTTP proxy .
-
Klicken Sie auf den Link add a new firewall rule. Dies wird Sie zur Einstellungsseite
Firewall
→NAT
→Port Forward
weiterleiten.Abbildung 36. NAT-Firewall-Regel für den transparenten HTTP-Modus auf OPNsense proxy-1
Abbildung 37. NAT-Firewall-Regel für den transparenten HTTP-Modus auf OPNsense proxy-2
-
Klicken Sie auf die Schaltfläche
Save
. -
Navigieren Sie zu
Services
→Web-Proxy
→Administration
. -
Klicken Sie auf die Seite „Allgemeine Weiterleitungseinstellungen“ im Tab „Forward Proxy“.
-
Klicken Sie auf das (i)-Symbol links neben der Option Enable SSL inspection.
-
Klicken Sie auf den Link add a new firewall rule. Dies wird Sie zur Einstellungsseite
Firewall
→NAT
→Port Forward
weiterleiten.Abbildung 38. NAT-Firewall-Regel für den transparenten SSL-Modus auf OPNsense-Proxy-1
Abbildung 39. NAT-Firewall-Regel für den transparenten SSL-Modus auf OPNsense-Proxy-2
-
Klicken Sie auf die Schaltfläche
Save
. -
Klicken Sie auf
Apply Changes
, um die Einstellungen zu aktivieren.Abbildung 40. NAT-Firewall-Regeln für den transparenten HTTP/SSL-Modus auf dem OPNsense-Proxy
6. Proxy-Client konfigurieren
Da Ihre interne CA vom Browser nicht vertraut wird, erhalten Sie eine Warnmeldung wie Ihre Verbindung ist nicht privat. Angreifer könnten versuchen, Ihre Informationen zu stehlen. NET::ERR_CERT_AUTHORITY_INVALID
für jede SSL-Seite, die Sie besuchen.
Abbildung 41. ERR_CERT_AUTHORITY_INVALID Warnmeldung
Um dieses Problem zu lösen, müssen Sie das CA-Zertifikat als vertrauenswürdiges Root-CA-Zertifikat in Ihrem Client-Betriebssystem hinzufügen. Sie können den Key
in einen Windows 10-PC importieren und ihn als vertrauenswürdiges Root-CA-Zertifikat festlegen, indem Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
System
→Trust
→Authorities
in Ihrer OPNsense-Weboberfläche. -
Klicken Sie auf das Download-Symbol, um das CA-Zertifikat zu exportieren.
Abbildung 42. Exportieren des CA-Zertifikats in der OPNsense-Benutzeroberfläche
-
Kopieren Sie das CA-Zertifikat auf den Client-PC, in unserem Beispiel ist es ein Windows 10-PC.
-
Sie können das CA-Zertifikat als vertrauenswürdiges Root-CA-Zertifikat importieren, indem Sie das MMC-Tool auf Ihrem Windows 10-PC verwenden. Geben Sie
mmc
in die Suchleiste ein und drücken Sie die Eingabetaste, um die Microsoft Management Console zu starten. -
Klicken Sie auf den Link im Menü
File
und wählen SieAdd/Remove Snap-in
.Abbildung 43. Snap-In hinzufügen/entfernen Microsoft Management Control
-
Klicken Sie nun unter Verfügbare Snap-Ins auf Zertifikate und dann auf Hinzufügen. Das Snap-In für Zertifikate ermöglicht es Ihnen, den Inhalt der Zertifikatspeicher für sich selbst, einen Dienst oder einen Computer zu durchsuchen.
-
Klicken Sie auf OK.
Abbildung 44. Hinzufügen von Zertifikaten-Snap-In Microsoft Management Control
-
Wählen Sie im nächsten Dialogfeld Computerkonto aus und klicken Sie dann auf Weiter.
Abbildung 45. Hinzufügen des Snap-Ins für Zertifikate zum Computer-Konto
-
Wählen Sie nun Lokaler Computer und klicken Sie auf Fertig.
Abbildung 46. Hinzufügen des Snap-Ins für Zertifikate für den lokalen Computer
-
Jetzt, zurück in MMC, im Konsolenbaum, doppelklicken Sie auf Zertifikate und klicken Sie dann mit der rechten Maustaste auf Vertrauenswürdige Stammzertifizierungsstellen. Unter Alle Aufgaben wählen Sie Importieren. Dies öffnet den Zertifikat-Import-Assistenten.
Abbildung 47. Importieren von Zertifikaten als vertrauenswürdige Stamm-CA
Abbildung 48. Zertifikatsimport-Assistent-1
-
Klicken Sie auf die Schaltfläche
Next
. -
Durchsuchen Sie die CA-Zertifikatsdatei zum Importieren und klicken Sie dann auf die Schaltfläche
Next
.Abbildung 49. Auswählen der Zertifikatdatei zum Importieren im Zertifikat-Import-Assistenten
-
Klicken Sie auf Weiter.
Abbildung 50. Auswahl des Zertifikatspeichers im Zertifikatsimport-Assistenten
-
Klicken Sie auf die Schaltfläche
Finish
, um den Zertifikat-Import abzuschließen. Nachdem der Importvorgang erfolgreich abgeschlossen wurde, erscheint ein Dialogfeld.Abbildung 51. Abschluss des Zertifikat-Import-Assistenten
Abbildung 52. CA-Zertifikat-Import wurde erfolgreich abgeschlossen.
-
Klicken Sie auf OK.
Abbildung 53. Interne OPNsense CA-Zertifikate als vertrauenswürdiges Root-CA-Zertifikat im Windows 10-Client importiert