Webproxy Urlfilter für http und https

Started by felsenstadt, April 23, 2019, 06:51:09 PM

Previous topic - Next topic
Hallo,
ich hab bereits opnsense am laufen. Nun meine Frage, gibt es die Möglichkeit den Urlfilter für http und https einzusetzen? Es wird immer davon geredet, dass der Proxy am Client hinterlegt werden muss, kann dies nicht automatisch erfolgen?
Danke euch

April 23, 2019, 08:43:33 PM #1 Last Edit: April 23, 2019, 08:45:49 PM by micneu
du kannst den proxy als transparenten-proxy konfiogurieren
so das der traffic immer über den proxy geht
das haben hier glaube ich auch schon einige umgesetzt, musst mal danach suchen
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

Quote from: felsenstadt on April 23, 2019, 06:51:09 PMEs wird immer davon geredet, dass der Proxy am Client hinterlegt werden muss, kann dies nicht automatisch erfolgen?

Entweder transparenten Proxy konfigurieren oder den Proxy über WPAD (DNS o. DHCP) den Clients automatisch zuweisen. Gerade in Verbindung mit HTTPS ist letzteres besser.
Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz (24 cores)
256 GB RAM, 300GB RAID1, 3x4 10G Chelsio T540-CO-SR

Quote from: hbc on April 23, 2019, 09:45:12 PM
Quote from: felsenstadt on April 23, 2019, 06:51:09 PMEs wird immer davon geredet, dass der Proxy am Client hinterlegt werden muss, kann dies nicht automatisch erfolgen?

Entweder transparenten Proxy konfigurieren oder den Proxy über WPAD (DNS o. DHCP) den Clients automatisch zuweisen. Gerade in Verbindung mit HTTPS ist letzteres besser.

Hast du Erfahrung mit wpad? Bei macOS, iPhone und Android bin ich da vorsichtig, bzw. hab mich noch nicht getraut :)

Quote from: mimugmail on April 24, 2019, 07:26:12 AM
Hast du Erfahrung mit wpad? Bei macOS, iPhone und Android bin ich da vorsichtig, bzw. hab mich noch nicht getraut :)
Moin,
zumindest bei iPad, iPhone funktioniert wpad recht problemlos. Man muss halt die URL zur wpad-Datei hinterlegen. Wir haben das seinerzeit per MDM vorkonfiguriert an die Apple-Devices übertragen.

Gruß
Dirk

QuoteHast du Erfahrung mit wpad? Bei macOS, iPhone und Android bin ich da vorsichtig, bzw. hab mich noch nicht getraut :)

Arbeite hier nur mit wpad. Funktioniert prima. Zumindest auf Geräten mit 'nichtmobilem' Betriebssystem, sprich Windows, MacOS. Die meisten Browser unterstützen es und selbst der Windows-Update-Client.
Bei iPhone kann ich es jetzt gar nicht sagen, aber Android funktioniert leider nur mit transparenten Proxy. Da kann man zwar ab 4.4. eine proxy.pac URL statisch hinterlegen, dann wird auch automatisch erin Proxy für das Netz konfiguriert, aber gerade das Autodiscovery macht es bei WPAD ja so charmant. Weil man zwischen Netzen wechseln kann ohne was eintragen zu müssen.

Am besten eben die Kombi aus WPAD und transp. Proxy. Damit deckst Du alles ab und kriegst jeden Zugriff über den Proxy gebügelt, aber da die Geräte mit WPAD sich des Proxies bewußt sind, treten hier dann auch weniger Fehler auf, da die Anfragen gleich Proxykonform gestellt werden.

Und spätestens bei IPv6 und der Same-Scope Policy muß man mit transp. Proxy und opnSense schon tricksen bzw. manuell in Konfiguration eingreifen, da der Squid

  • in opnSense nicht auf IPv6 Adressen des Interfaces lauscht. Nur IPv4 und CARP Aliase
  • der Redirect nicht nach ::1, sondern die IPv6 Adresse der Schnittstelle erfolgen muß.
  • mit der Intercept-Option auf der IPv6-Adresse versehen werden muß
Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz (24 cores)
256 GB RAM, 300GB RAID1, 3x4 10G Chelsio T540-CO-SR

Hallo, danke für die schnelle Reaktion.
Gibt es für das erstellen und einbinden der Wpad eine Anleitung; Und verstehe ich das richtig, die Wpad kann per DHCP an den jeweiligen Client automatisch verteilt werden ohne das am Browser etwas eingetragen werden muss?

Moin,
ja die wpad-url kannst Du per DHCP verteilen. Muss halt in den dhcp Optionen eingerichtet werden (Option 252).
Und ja, aktuelle Clients kommen mit der wpad-Option klar. Außnahme ist m.W. nach Android und ios. Bei ios kann man zumindest in den WLAN-Einstellungen der jeweiligen Verbindung die url zur wpad-datei angeben.
Bei Android muss man leider manuell den Proxy hinterlegen.

Beispiele für eine wpad-datei findet man reichlich (GIDF). Einfach eines der Beispiele entsprechend den eigenen Anforderungen anpassen.

Gruß
Dirk

Quote from: felsenstadt on April 25, 2019, 08:03:52 AM
Hallo, danke für die schnelle Reaktion.
Gibt es für das erstellen und einbinden der Wpad eine Anleitung; Und verstehe ich das richtig, die Wpad kann per DHCP an den jeweiligen Client automatisch verteilt werden ohne das am Browser etwas eingetragen werden muss?

Die WPAD-Datei kannst Du über OPNsense direkt erstellen lassen. Services: Web Proxy: Administration: Proxy Auto-Config. Mit 19.1.5 wird auch die Reihenfolge der Proxies beibehalten.

Da die WPAD zumindest in der DNS-discoverten Variante per HTTP erwartet wird, habe ich eine Anleitung geschrieben, wie dies auch klappt, wenn man HTTPS oder einen alternativen Port für die WebGUI seiner opnSense nutzt.

https://forum.opnsense.org/index.php?topic=12026.0
Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz (24 cores)
256 GB RAM, 300GB RAID1, 3x4 10G Chelsio T540-CO-SR

Hallo,
ich hab nun die Doku von Opnsene nochmals gelesen. Hier steht das man im bei einem Transparent Proxy mit einer NAT-Regelung den Datenstrom über Http oder Https direkt über den Proxy leiten kann. Hierzu wäre nur notwendig, dass jeweils am Client ein Zertifikat installiert wird; somit könnte auch dann die Seitefilterung genutzt werden. Wie seht Ihr den Ansatz? Schönen Abend noch

Hab ich im Einsatz - erweist sich als praktisch, aber ist in manchen Ländern nicht legal / nur unter Auflagen möglich (Hinweis Betriebvereinbarung).

Wenn du nur Hosts filtern willst, brauchst du (noch) kein CA-Zertifikat. Das wird nur bei kompletten URLs und Inhalten (z.B. AV) benötigt.

Hallo Fabian,
danke für deine Antwort. Aber wie soll das ohne CA-Zertifkat funktioniert. Ich möchte nur erreichen, dass an den Client sowenig wie möglich (ab besten gar nichts) eingestellt werden muss?

Quote from: felsenstadt on May 15, 2019, 07:45:38 PM
Hallo Fabian,
danke für deine Antwort. Aber wie soll das ohne CA-Zertifkat funktioniert. Ich möchte nur erreichen, dass an den Client sowenig wie möglich (ab besten gar nichts) eingestellt werden muss?
Du musst einstellen, das nur SNI geprüft werden soll. Dann kann der unverschlüsselt übertragene Hostname gegen Blacklists geprüft werden. Inhalte auf Viren prüfen geht folglich so nicht.
Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz (24 cores)
256 GB RAM, 300GB RAID1, 3x4 10G Chelsio T540-CO-SR

Guten Abend Fabian,
ich habs gerade getestet leider funktioniert es nicht so. Gibt es keine einfacher Lösung? Wäre das mit der WPAD Datei nicht der einfachere Weg?

Wir halt nicht immer unterstützt. Wenn der Proxy transparent läuft, wird keine Konfiguration auf den Endgeräten benötigt. PAC ist eher was für größere Netzwerke, bei denen die Admins mehrere Proxies hinterlegen und auf Basis von Regeln ein Proxy ausgewählt wird.