Um das eigene Netzwerk zu sichern, gibt es viele Optionen von welchen man wählen kann. Aber eine Option ist für jede Firma und Privatbenutzer unverzichtbar: eine Firewall. Die Firewalls sind zurzeit überall. Man kennt das vor allem von Windows Firewall, aber dieser Artikel handelt sich nicht um eingebaute Firewalls, wie die Windows Firewall oder Uncomplicated Firewalls, sondern eine Software Firewall, welche auf Hardware installiert ist, wie OPNsense oder Pfsense. In diesem Artikel handelt es sich um eine OPNsense Bridge Firewall.
Was ist eine Firewall?
Einfach erklärt; Eine Firewall ist ein Gerät oder eine Anwendung, die Paket-Header analysiert und Richtlinien basierend nach Protokolltyp, Quelladresse, Zieladresse, Quellport und / oder Zielport filtert. Pakete, die nicht der Richtlinie entsprechen, werden abgelehnt.
Was ist OPNsense?
OPNsense ist eine freie(open source) Firewall-Distribution basierend auf FreeBSD. OPNsense wurde in 2015 als Fork (Abspaltung) von Pfsense gestartet. Pfsense hat dabei 2004 auch als Fork von m0n0wall begonnen. Neben Firewall sind auch DHCP-Server, DNS-Server, VPN usw. vorhanden. Sie können es sowohl auf einem physischem Server als auch auf einer virtullen Maschine installieren.
🌉Was ist eine Bridge?
Zuerst müssen wir wissen, was eine Bridge ist, um die Bridge Firewall ein bisschen näher kennenzulernen. Die Bridge wird auch “einfache Switch” genannt. Mit der Bridge werden zwei Kollisionsdomänen getrennt.
Eine Bridge lernt die MAC-Adressen, die im lokalen Netz verwendet werden, und merkt sich, über welchen Anschluss (Interface, Port) sie den zugehörigen Rechner erreicht. Erhält die Bridge ein Paket, dessen Ziel-MAC-Adresse sie kennt, leitet sie das Paket nur an die passende Netzwerkkarte weiter. Damit wird überflüssige Übertragungen vermieden. Wenn die Bridge die Ziel-MAC-Adresse jedoch nicht kennt, sendet sie das Paket über jeden Anschluss. Da die Bridge auf Layer 2 funktioniert, braucht sie dabei keine IP Adresse.
Kurz gesagt; früher waren die Switchs zu teuer. Darum wurden die Bridges entwickelt, aber heutzutage werden sie fast nicht mehr benötigt.
Weitere Information über Switches: Unterschied zwischen Switch und Hub (Animiert)
👻Was ist eine Stealth-/Bridge Firewall?
Die Firewalls arbeiten (wenn sie nicht konfiguriert sind) auf der dritten (Netzwerk) bis siebten (Applikation) OSI-Schicht. Aber bei einer Bridge Firewall handelt es sich um gezieltes Forwarding von Netzwerkpaketen auf der zweiten (Data-Link) OSI-Schicht. Wenn Sie ihre Firewall zu einer Bridge Firewall ändern, wird Ihre Firewall wie eine Bridge die MAC-Adressen filtern. Für eine Firewall braucht man mindestens zwei Netzwerkkarten, aber für eine Bridge Firewall brauchen wir mindestens drei Netzwerkkarten. Eine wird als WAN(Wide Network Area), die andere als DMZ(Demilitarisierte Zone) genutzt. Von WAN & DMZ wird eine virtuelle Netzwerkbridge erstellt. Zusätzlich benötigt man ein LAN(Local Network Area) um die Firewall zu steuern.
OPNsense – Bridge Firewall ins Netzwerk integrieren
Wie ich oben erklärt habe, haben die Bridges keine IP Adressen. Wie funktioniert sie dann wie eine Firewall? Mit einer Bridge können Sie nur zwei Kollisionsdomänen trennen, also dient sie immer noch in einer Broadcastdomäne. Das heisst, die Bridge Firewall filtert Netzwerkpakete, welche in der selben Broadcastdomäne sind. Es mag ein bisschen kompliziert klingen, aber unten habe ich einen Netzwerkplan dafür.
In der Broadcastdomäne gibt es einen WAN-Router, der auch als DHCP-Server dient. Client 1, der sich im WAN befindet, bekommt seine IP-Konfiguration vom WAN-Router. Die Clients, die sich in der DMZ befinden, erhalten ihre IP-Konfigurationen ebenfalls vom WAN-Router. Sie können also in OPNsense DHCP-Relay aktivieren, somit bekommen die Clients, die in der DMZ sind, ihre IP-Konfiguration von OPNsense(Bridge Firewall). Dafür müssen Sie eine IP zu Firewall zuweisen. Das ist jedoch nicht empfehlenswert. Von igb0 und
igb1 habe ich eine neue (virtuelle) Netzwerkkarte
bridge0
erstellt. (Unten werde ich das noch näher erläutern).
Wie Sie sehen haben die Netzwerkkarte keine IP Adresse, weil wir sie nicht benötigen (weil es eine Bridge ist). Ich hab das Netzwerk, in dem die Clients sind, DMZ genannt, weil dessen Clients und die WAN-Clients sich im gleichem Netz befinden. Das sichere Netz ist eigentlich das Admin-Netz, darum ist das Netz, in dem sich die Administratoren befinden, das LAN.
OPNsense auf PCEngine Apu2 Installieren
Ich verwende als Hardware, einen PCEngine Apu2. In diesem Gerät gibt es 3 Netzwerkkarte. Auf dem PCEngine habe ich OPNsense Firewall installiert. Eine Anleitung dazu ist bereits auf der offiziellen Homepage (“Install OPNsense“)vorhanden, weshalb ich diesen Schritt überspringe. Wenn Sie auch eine PCEngine besitzen, habe ich die Anforderungen hier erklärt: Router Konfigurieren – PCEngine Apu2
OPNsense in Bridge Firewall umwandeln
Sie können die Umwandlung auf der offiziellen Seite von OPNsense(“Transparent Filtering Bridge“) finden. Ich zeige Ihnen auch meine Screenshots unten.
Achtung!
Während der Konfiguration werden Sie aufgefordert, Ihre Änderungen mehrmals zu übernehmen(Apply), dies kann jedoch Auswirkungen auf die aktuelle Verbindung haben. Also nichts anwenden, bis es fertig ist! Sie müssen Ihre Änderungen für jeden Schritt speichern.
Um ausgehende NAT zu deaktivieren, gehen Sie zu Firewall -> NAT -> Outbound: Deaktivieren Sie die Generierung ausgehender NAT-Regeln
Aktivieren Sie die filtering bridge, indem Sie net.link.bridge.pfil_bridge vom Standardwert auf 1 in System -> Einstellungen -> Systemeinstellungen ändern
Und deaktivieren Sie die Filterung auf Member-Interfaces, indem Sie net.link.bridge.pfil_member von Standard auf 0 in System -> Settings -> System Tuneables ändern
Erstellen Sie eine DMZ(OPT1)- und WAN Bridge. Dazu gehen Sie zu Schnittstellen -> Andere Typen -> Bridge: Hinzufügen, Wählen Sie DMZ und WAN. (Als Standard ist der Name der dritten Netzwerkkarte OPT1)
Gehen Sie zu Schnittstellen -> Zuweisen -> Verfügbare Netzwerk-Ports, wählen Sie die Bridge aus der Liste und drücken Sie +.
Für die WAN-Schnittstelle müssen wir das Blockieren privater Netzwerke und gefälschter IP-Adressen deaktivieren.
Gehen Sie zu Schnittstellen -> WAN und deaktivieren Sie die Option Blockiere private Netzwerke und blockiere Netzwerke.
Um den DHCP Server im LAN zu deaktivieren, gehen Sie zu Dienste -> DHCP Server -> LAN und deaktivieren Sie enable. Weil die andere Netzwerkkarte keine IP Adresse haben, hat nur LAN den DHCP Server. Ich habe den DHCP Server deaktiviert, weil ich im LAN der einzige Administrator bin.
Fügen Sie die Zulassungsregeln für den gesamten Datenverkehr auf alle drei Schnittstellen hinzu (WAN / BRIDGE / DMZ).
Dieser Schritt soll sicherstellen, dass wir eine vollständige transparente Brücke haben, ohne dass eine Filterung stattfindet. Sie können die richtigen Regeln festlegen, wenn Sie die ordnungsgemässe Funktion der Bridge bestätigt haben.
Gehen Sie zu Firewall -> Regeln und füge eine Regel pro Schnittstelle hinzu, um jeglichen Datenverkehr zuzulassen.
Entfernen Sie nun die IP-Adresse, die für DMZ und WAN verwendet werden, indem Sie den Schnittstellentyp in none ändern. Gehen Sie zu Schnittstellen -> DMZ & Schnittstellen -> WAN dazu.
Sie fügen nun eine IP-Adresse zu der Schnittstelle hinzu, die Sie zum Verwalten der Bridge verwenden möchten. Gehen Sie zu Interfaces -> LAN aktiviere die Schnittstelle und füllen Sie die ip/netmask (192.168.1.254/24) aus. Schlussendlich sind folgende Netzwerkkarten vorhanden:
Verbinden Sie nun einen PC mit dem Admin Socket (LAN). In meinem Netzwerkdiagramm wäre es igb2
. Geben Sie eine IP für Ihren Admin-PC im selben Subnetz wie die LAN-Schnittstelle ein. Versuchen Sie, ping 192.168.1.254
LAN-Interface. Wenn Sie einen Fehler erhalten, versuchen Sie den Grund gemäss dem OSI-Modell Schicht herauszufinden. Vergessen Sie nicht, Ping (ICMP) ist auf der dritten Ebene. Sie werden von ICMP verschiedene Fehler bekommen. Jeder Fehler bedeutet etwas anderes.
Destination Host Unreachable: Der Host, den Sie anpingen möchten, ist nicht ausgeschaltet oder im Netzwerk.
Request Timed Out: Der Ping-Befehl ist abgelaufen, weil der Host-Computer keine Antwort erhalten hat. Wenn Sie in einem grossen Netzwerk arbeiten, können Sie die Wartezeit mit ping -w
erhöhen, dies ist jedoch für kleine Netzwerke nicht erforderlich.
Unknown Host: Die IP-Adresse oder der Hostname ist nicht im Netzwerk vorhanden oder der Zielhostname kann nicht aufgelöst werden. Überprüfen Sie den Namen und die Verfügbarkeit von DNS-Servern, die Sie jetzt nicht benötigen.
No route the host: Gateway-Tabelle ist leer. Um ein Gateway hinzuzufügen, sehen Sie sich den folgenden Artikel an: Router Konfigurieren – Linux(serielles Kabel-SSH) LAN🛡WAN.
Nachdem Sie das Problem gelöst haben, öffnen Sie einen Browser und geben Sie die IP-Adresse der Schnittstelle “192.168.1.254” ein. Dann können Sie die Bridge-Firewall steuern.
Das wäre alles, was Sie für ein Bridge Firewall machen müssen. Wie können Sie es kontrollieren. Schliessen Sie Ihre gewünschten Ports und probieren Sie vom WAN das DMZ zu erreichen. Zum Beispiel, wenn ich Port 53(DNS)
auf igb1
zu mache, dann können die Clients, die in der DMZ sind, keine Namen auflösen.
Im nächstem Artikel werde ich auf der Bridge Firewall Suricata – IPS(Intrusion Prevention System) und IDS(Intrusion Detection System) aufbauen und die Logs mit Elasticstack auf einem Syslogserver überwachen.
Hallo Aziz,
ich bin noch dabei, den Use-Case der Bridge Firewall zu verstehen.
Ist es richtig, dass dieses Setup dann sinnvoll ist, wenn ich die von meinem ISP bereitgestellten Public IPs den verschiedenen Servern in der DMZ zuweise?
Und ist dann eine Kommunikation anderer Netzwerke wie z.B. LAN über diesen Internetzugang überhaupt noch möglich?
Hoi Thomas
Was du mit “zuweisen” meinst, bin ich nicht sicher. DMZ ist in deinem Broadcast-Domain. Die Clients von DMZ haben private IP-Adressen. Du musst lediglich den Firewall so konfigurieren, dass die Anfragen von Public-IP zu deinem gewünschten Client weitergeleitet wird (Port-Forwarding). LAN musst du (nur für Administrator-Zugang) versteckt haben, darum eine Kommunikation zwischen LAN und andere Netzwerke nicht möglich.
Hallo Aziz,
ich werde meine Ausgangssituation genauer beschreiben, vielleicht wird es dadurch verständlicher.
Mein ISP (Vodaphone Internet Kabel) bietet mir (genau) 1 Static Public IP an.
Diese wird von einer Fritz!Box an einem bestimmten eth-Port durchgeleitet, d.h. die Fritz!Box funktioniert an diesem Port ausschließlich als Modem.
Für den normalen Internetzugang über dieselbe Fritz!Box (Router für LAN und WLAN) habe ich praktisch eine zweite Public IP; diese kann sich aber nach Router-Neustart ändern.
Wenn ich jetzt eine Transparent Firewall auf meinem dedizierten Firewall-Device einrichte, dann erhält dieses Device meine Static Public IP. Zusätzlich wird ein Port Forward eingerichtet für die Clients, die im DMZ Netzwerk angeschlossen sind.
Weil ich nur 1 Static Public IP habe wird zusätzlich ein Forward Proxy benötigt, falls in der DMZ diverse Dienste laufen (Mail-Server, Cloud). Der Forward Proxy leitet dann die Anfragen für mail.meinedomain.com, cloud.meinedomain.com, etc.) an den entsprechenden Client weiter.
HIerzu meine Frage:
Wie funktioniert der Forward Proxy, wenn keine IP-Adressen in DMZ verwendet werden?
Oder ist bei der Einschränkung von 1 Static Public IP die Transparent Firewall die falsche Lösung?
Hoi Thomas, für eine Bridge Firewall brauchst du mindestens drei Netzwerkkarten
Wie viel Netzwerkarte hat dein FritzBox? Eine Public-IP ist genug für mehrere Dienste. Die zweite dynamische IP-Addresse kannst du ignorieren, weil du ja eine statische hast.
in DMZ werden zu den Clients schon eine IP-Addresse zugewiesen. = https://azizozbek.ch/wp-content/uploads/2018/07/pcengine-apu-bridge-firewall.png
Mit einer IP-Addresse zu realisieren ist korrekt, aber das Gerät ist auch wichtig.
Hallo Aziz,
wie ich bereits geschrieben habe wird die Static IP von einer Fritz!Box an einem bestimmten eth-Port durchgeleitet, d.h. die Fritz!Box funktioniert an diesem Port ausschließlich als Modem.
An diesem Port schließe ich ein Device (gateprotect GPO 150) mit 4 Ethernet-Ports an.
Die Frage der notwendigen Devices ist geklärt.
Eine andere Frage ist allerdings noch unklar:
Welchen Vorteil habe ich von einer transparenten Firewall im Vergleich zu einer “regulären” Firewall?
Ein transparentes Firewall hat keine IP-Adresse. Somit ist es im Netzwerk nicht auffindbar (stealth). Meistens suchen die Hacker zuerst das Firewall vom Netz raus, um die Schwäche vom Firewall zu identifizieren. Beim Stealth-Firewall ist es eben nicht möglich.
Hallo Aziz,
Danke für den Hilfreichen Beitrag!
Ich hätte da noch eine andere Frage:
Ich musste feststellen das meine WAN IP die mir in der Opnsense angezeigt wir eine andere ist als die Tatsächliche Öffentliche IP. Somit kann ich zwar alles nutzen. Jedoch funktionier DynDNS nicht.
Hi Anton, ich befasse mich seit Jahren nicht mehr mit Netzwerk/System (mittlerweile Entwicklung).
Ich könnte folgende Tipps geben:
– Stelle sicher, dass der WAN-Port die IP-Adresse von deinem Service-Provider holt und nicht eine statische IP hat.
– Betreffend DynDNS stelle sicher, dass folgende Bedingungen erfüllt sind:
https://docs.opnsense.org/manual/dynamic_dns.html
Hallo Aziz,
nach deiner Anleitung alles eingerichtet, läuft fehlerfrei, Traffic am DMZ vorhanden und darüber direkter Internet-Zugang möglich. Ich kann über den Admin/LAN Zugang die FW konfigurieren, allerdings lassen sich keine Upgrades oder Plugins installieren, da kein Zugang zum Internet besteht. Hast du einen Tipp? Wie spielst du Upgrades in deinem Szenario ein?
VG Marco