Zum Hauptinhalt springen

pfSense® Software Firewall-Regeln Leitfaden

Veröffentlicht am:
.
10 Minuten Lesezeit
.
Für die Englische Version

pfSense® Software ist eine Open-Source-, benutzerfreundliche und einfach zusammenbaubare Firewall- und Routing-Plattform, die auf dem FreeBSD-Betriebssystem basiert. Es wird zunehmend verwendet, insbesondere in Heimnetzwerken und kleinen Unternehmen. Weil es sicher, zuverlässig, benutzerfreundlich ist und über eine Web-Benutzeroberfläche verwaltet wird, und weil es eine der besten Open-Source-Firewalls ist.

In diesem Leitfaden werden wir die Grundlagen der Paketfilterkonfiguration für die pfSense-Softwarefirewall kurz erläutern und zeigen, wie man Paketfilterfirewall-Regeln erstellt, indem wir die folgenden Themen erklären:

  • Was sind die Grundlagen der pfSense-Firewall-Regel?
    • Was ist die Größe der Status-Tabelle?
  • Wie funktionieren die Firewall-Regeln von pfSense?
    • Was sind Schnittstellengruppen?
    • Was ist die Regelverarbeitungsreihenfolge?
    • Was sind die automatisch hinzugefügten Firewall-Regeln?
  • Was sind die Konfigurationsoptionen für Firewall-Regeln auf pfSense?
    • Was sind die erweiterten Optionen für Firewall-Regeln?
  • Was sind Floating-Regeln?
    • Was sind Vorsichtsmaßnahmen/Hinweise für Floating Rules?
    • Was sind die möglichen Anwendungen von Floating Rules?
    • Was ist die Verarbeitungsreihenfolge für Floating Rules?
    • Was ist die Übereinstimmungsaktion bei schwebenden Regeln?
  • Was sind die besten Praktiken für pfSense-Firewall-Regeln?


Was sind die Grundlagen der pfSense-Firewall-Regel?

Dieser Abschnitt konzentriert sich auf grundlegende Firewall-Ideen und legt die Grundlage dafür, wie man Firewall-Regeln mit der pfSense®-Software implementiert. Regel und Regelwerk sind zwei Wörter, die in diesem Kapitel häufig vorkommen:

  • Regel: Einzelnes Element auf dem Firewall > Rules Bildschirm der pfSense-Software-Weboberfläche. Eine Regel sagt der Firewall, wie sie den Netzwerkverkehr abgleichen oder verarbeiten soll.

  • Regelsatz: Bezieht sich auf eine Gesamtheit von Vorschriften. Entweder die gesamte Sammlung von Firewall-Regeln oder eine Menge von Regeln in einem bestimmten Kontext, wie zum Beispiel die Regeln auf einem Schnittstellen-Tab. Das vollständige Regelset für eine Firewall ist die Summe aller benutzerkonfigurierten und automatisch eingefügten Regeln.

Die Regeln auf den Interface-Tabs werden nach dem Prinzip der ersten Übereinstimmung berücksichtigt. Dies bedeutet, dass die Firewall beim Lesen des Regelsets für eine Schnittstelle von oben nach unten die erste Regel verwendet, die übereinstimmt. Sobald die Auswertung diese Übereinstimmung erreicht, führt die Firewall die von dieser Regel vorgesehene Aktion aus. Behalten Sie dies immer im Hinterkopf, wenn Sie neue Vorschriften entwickeln, insbesondere solche, die den Datenverkehr einschränken. Die liberalsten Regeln sollten am Ende der Liste stehen, sodass Einschränkungen und Ausnahmen darüber platziert werden können.

tipp

Der Floating-Tab ist die einzige Ausnahme von dieser Regelverarbeitungslogik.

Was ist die Größe der Status-Tabelle?

Die Statusdatenbank der Firewall ist in ihrer Größe begrenzt, um Speichermüdung zu vermeiden. Jeder Zustand verbraucht etwa 1 KB Speicher. Die Standardgröße der Status-Tabelle in pfSense wird auf etwa 10% des verfügbaren RAM der Firewall festgelegt. Für eine Firewall mit 1 GB RAM kann die Zustandstabelle standardmäßig etwa 100.000 Einträge enthalten.

Typischerweise besteht jede Benutzerverbindung aus zwei Zuständen: einem, der entsteht, wenn die Verbindung die Firewall betritt, und einem anderen, wenn sie die Firewall verlässt. Daher kann die Firewall bei einer Zustandsdatenbankgröße von 1.000.000 etwa 500.000 aktive Benutzersitzungen unterstützen, die die Firewall durchlaufen, bevor neue Verbindungen abgelehnt werden. Dieses Limit kann nach Bedarf verlängert werden, solange es die RAM-Kapazität der Firewall nicht überschreitet.

Sie können die Größe der Zustands-Tabelle erhöhen, indem Sie die folgenden Schritte ausführen::

  1. Navigieren Sie zu System > Advanced > Firewall & NAT im pfSense-Benutzeroberfläche.

  2. Geben Sie die gewünschte Zahl für Firewall Maximum States ein oder lassen Sie das Feld leer für den standardmäßig berechneten Wert.

  3. Klicken Sie auf Save.

Festlegen der maximalen Statusgröße der Firewall auf pfSense

Abbildung 1. Einstellung der maximalen Statusgröße der Firewall auf pfSense

Die Firewall verfolgt die Nutzungshistorie der Zustandstabelle. Um das historische Status-Tabelle-Diagramm zu sehen, können Sie die folgenden Schritte ausführen::

  1. Gehen Sie zu Status > Monitoring im pfSense-Benutzerinterface.

  2. Klicken Sie auf die Schaltfläche Einstellungen mit dem Schraubenschlüssel-Symbol, um die Diagrammoptionen zu erweitern.

  3. Setzen Sie die Kategorie für die Left Axis auf System

  4. Setzen Sie das Diagramm für die Left Axis auf Zustände

  5. Klicken Sie auf fa-refresh) Update Graph-Schaltfläche, um die Grafiken zu aktualisieren.

Anzeigen der historischen Status-Tabelle auf pfSense

Abbildung 2. Anzeigen der historischen Status-Tabelle auf pfSense

Wie funktionieren die pfSense-Firewall-Regeln?

Mit der pfSense®-Software werden Regeln auf den Schnittstellen-Tabs Schnittstelle für Schnittstelle angewendet, immer in eingehender Richtung. Dies deutet darauf hin, dass die Regeln der LAN-Schnittstelle verwendet werden, um den von Hosts, die mit dem LAN verbunden sind, gestarteten Datenverkehr zu filtern. Der aus dem Internet stammende Datenverkehr wird mithilfe der WAN-Schnittstellenregeln gefiltert. Da alle Regeln in der pfSense-Software standardmäßig zustandsbehaftet sind, wird bei Erfüllung einer Erlaubensregel ein Zustandstabelleintrag erstellt. Dieser Eintrag in der Zustands-Tabelle erlaubt sofort den gesamten Antwortverkehr.

Schwebende Regeln (Floating Rules) sind die Ausnahme von dieser Regel, da sie auf jeder Schnittstelle sowohl im eingehenden als auch im ausgehenden oder in beiden Richtungen arbeiten können. Outbound-Regeln sind niemals notwendig, da die eingehende Richtung jeder Schnittstelle immer gefiltert wird. In einigen Situationen, wie bei einer Firewall mit mehreren internen Schnittstellen, kann ihre Verfügbarkeit die Anzahl der benötigten Firewall-Regeln drastisch verringern. Wenden Sie die Ausgangsregeln für den Internetverkehr als nach außen gerichtete Regeln auf der WAN-Schnittstelle an, um eine Duplizierung auf jeder internen Schnittstelle zu vermeiden. Die Verwendung von eingehenden und ausgehenden Filterregeln macht die Einrichtung komplizierter und anfälliger für Benutzerfehler, kann aber für einige Anwendungen nützlich sein.

Was sind Schnittstellengruppen?

Schnittstellengruppen sind eine Möglichkeit, Regeln gleichzeitig auf mehrere Schnittstellen anzuwenden. Dies vereinfacht die Regelkonfiguration, wenn identische Regeln auf mehreren Schnittstellen benötigt werden. Wie Schnittstellenregeln werden auch Schnittstellengruppenregeln nur in der eingehenden Richtung behandelt. Die OpenVPN-, L2TP- und PPPoE-VPN-Tabs sind einzigartige Schnittstellengruppen, die im Hintergrund automatisch erstellt werden.

Eine Gruppe kann für eine Sammlung von Schnittstellen verwendet werden, wie zum Beispiel alle LAN- oder DMZ-Schnittstellen, oder für eine Sammlung von VLANs.

Was ist die Regelverarbeitungsreihenfolge?

Es gibt drei Haupttypen von Schnittstellenregeln auf der pfSense-Software-Firewall:

  • Standard-Schnittstellenregeln

  • Schwimmende Regeln, und

  • Schnittstellengruppenregeln (including VPN tab rules).

Die Verarbeitungsreihenfolge der pfSense-Schnittstellen-Firewall-Regeln ist entscheidend und funktioniert wie folgt:

  1. Schwebende Regeln

  2. Schnittstellengruppenregeln

  3. Schnittstellenregeln

Behalten Sie dies beim Entwerfen von Regeln im Hinterkopf, da dies die tatsächliche Reihenfolge der Regeln im Regelset ist. Wenn eine Schnittstellengruppe eine Regel zur Einschränkung des Datenverkehrs hat, kann diese Regel beispielsweise nicht durch eine Regel des Schnittstellentabs überschrieben werden, da der Datenverkehr bereits durch die Gruppenregel bearbeitet wurde, die zuerst im Regelset übereingestimmt hat.

Dennoch, da die Regeln ausgeführt werden, bis ein Treffer gefunden wird, kann ein Paket, das nicht durch die Gruppenregeln übereinstimmt, möglicherweise dennoch durch eine Schnittstellenregel übereinstimmen.

Dies ist auch entscheidend, wenn es um OpenVPN-Schnittstellenzuweisungen geht. Wenn eine "alle erlauben"-Regel auf dem OpenVPN-Tab existiert, wird sie mit den Gruppenregeln verglichen. Dies deutet darauf hin, dass die Regeln des Schnittstellen-Tabs nicht angewendet werden. Dies könnte problematisch sein, wenn OpenVPN-Regeln reply-to benötigen, um zu überprüfen, dass bestimmter Datenverkehr über das VPN ausgeht.

Was sind die automatisch hinzugefügten Firewall-Regeln?

Die pfSense-Software wendet aus einer Reihe von Gründen automatisch interne Firewall-Regeln an. Dieser Abschnitt behandelt den Zweck der automatisch eingeführten Regeln.

Sie können die automatisch hinzugefügten Firewall-Regeln auf der WAN-Schnittstelle anzeigen, indem Sie zu Firewall > Rules > WAN navigieren.

Automatisch hinzugefügte Firewall-Regeln auf der WAN-Schnittstelle

Abbildung 3. Automatisch hinzugefügte Firewall-Regeln auf der WAN-Schnittstelle

Sie können die automatisch hinzugefügten Firewall-Regeln auf der LAN-Schnittstelle anzeigen, indem Sie zu Firewall > Rules > LAN navigieren.

Automatisch hinzugefügte Firewall-Regeln auf der LAN-Schnittstelle

Abbildung 4. Automatisch hinzugefügte Firewall-Regeln auf der LAN-Schnittstelle

Was ist die Anti-Lockout-Regel?

Standardmäßig implementiert pfSense eine Anti-Lockout-Regel, um zu verhindern, dass ein Administrator von der Weboberfläche ausgesperrt wird. Dies ist anpassbar mit der Anti-Lockout-Option auf der Seite System > Advanced > Admin Access. Diese Regel ermöglicht automatisch den Datenverkehr von jeder Quelle innerhalb des Netzwerks zu jedem Firewall-Management-Protokoll, das auf die LAN-IP-Adresse hört. Die Anti-Lockout-Regel umfasst die folgenden Ports:

  • TCP-Port 443 für die WebGUI

  • TCP-Port 80 für die GUI-Weiterleitung

  • TCP-Port 22, wenn SSH aktiviert ist.

  • Der konfigurierte Port ist derjenige, der durch die Anti-Lockout-Regel erlaubt ist, wenn der WebGUI-Port geändert wurde.

Die Anti-Lockout-Regel ist in Abbildung 2. Automatisch hinzugefügte Firewall-Regeln auf der LAN-Schnittstelle zu sehen.

Es wird empfohlen, diese Regel zu deaktivieren und die LAN-Regeln so einzurichten, dass nur ein Alias vertrauenswürdiger Hosts auf die administrativen Schnittstellen der Firewall zugreifen kann. Die beste Strategie besteht darin, den Zugriff vom LAN auf ein separates administratives Verwaltungsnetzwerk zu beschränken.

Wie definiert man eine Firewall-Regel zur Einschränkung des Zugriffs vom LAN auf die Firewall?

Sie können Firewall-Regeln erstellen, um den Zugriff auf Ihre pfSense-Firewall einzuschränken, indem Sie die folgenden Schritte befolgen:

  1. Aliase definieren

  2. Zugriff auf DNS vom LAN erlauben

  3. Administrativen Zugriff erlauben

  4. Firewall-Zugriff blockieren

  5. Deaktivierung der Anti-Sperrregel

1. Aliase definieren

Sie können einen Alias für sowohl SSH- als auch HTTPS-Ports definieren, die für die Verwaltung verwendet werden, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu Firewall > Aliases > Ports im pfSense-Benutzeroberfläche.

  2. Klicken Sie auf die Schaltfläche +Add, um ein Alias hinzuzufügen.

    Ports Aliases auf pfSense

    Abbildung 5. Port-Alias auf pfSense

  3. Geben Sie einen Name ein, wie zum Beispiel AdministrativePorts.

  4. Geben Sie eine Description ein, wie z.B. Ports used for FW Management.

  5. Geben Sie 443 und HTTPS in die Felder Port und Description ein.

  6. Klicken Sie auf die Schaltfläche +Add Port, um ein neues Port-Alias hinzuzufügen.

  7. Sie können 80 und HTTP in die Felder Port und Description eingeben.

  8. Klicken Sie auf die Schaltfläche +Add Port, um einen neuen Port-Alias hinzuzufügen.

  9. Geben Sie 22 und SSH in die Felder Port und Description ein.

  10. Klicken Sie auf die Schaltfläche Save, um die Einstellungen zu speichern.

    Hinzufügen von administrativen Port-Aliasen auf pfSense

    Abbildung 6. Hinzufügen von administrativen Port-Aliasen auf pfSense

  11. Klicken Sie auf Apply Changes, um die Änderungen zu aktivieren.

    Änderungen für Port-Aliasnamen auf pfSense anwenden

    Abbildung 7. Anwenden von Änderungen für Port-Alias auf pfSense

  12. Klicken Sie auf die Registerkarte IP.

  13. Klicken Sie auf die Schaltfläche +Add, um IP-Aliasnamen für Administratoren hinzuzufügen.

  14. Geben Sie einen Name ein, wie z.B. AdminPC.

  15. Geben Sie eine Description ein, wie z.B. Host für die Remote-FW-Verwaltung.

  16. Geben Sie eine IP-Adresse ein, wie 10.1.1.11, und eine Beschreibung, wie Remote Admin IP. Sie können beliebig viele Hosts eingeben. Hosts müssen entweder über ihre IP-Adresse oder ihren vollständig qualifizierten Domainnamen identifiziert werden. (FQDN). Periodisch werden FQDN-Hostnamen erneut aufgelöst und aktualisiert. Wenn eine DNS-Abfrage mehrere IP-Adressen zurückgibt, werden alle verwendet. Sie können auch einen IP-Bereich wie 192.168.1.1-192.168.1.10 oder ein kleines Subnetz wie 192.168.1.16/28 verwenden, um eine Liste einzelner IP-Adressen zu erhalten.

    Hinzufügen von administrativen IP-Aliasen auf pfSense

    Abbildung 8. Hinzufügen von administrativen IP-Aliasen auf pfSense

  17. Klicken Sie auf Save, um die Einstellungen zu speichern.

    Änderungen für IP-Alias-Adressen auf pfSens anwenden

    Abbildung 9. Änderungen für IP-Alias auf pfSense anwenden

  18. Klicken Sie auf Apply Changes, um die Änderungen zu aktivieren.

2. Zugriff auf DNS vom LAN erlauben

Sie können DNS-Abfragen an die LAN-IP-Adresse zulassen, was erforderlich ist, wenn der DNS-Resolver oder der DNS-Forwarder aktiviert ist, indem Sie die folgenden Schritte ausführen:

OptionWert
ActionPass
InterfaceLAN
ProtocolTCP/UDP
SourceLAN net
Source Portany
DestinationLAN address
Destination PortDNS (53)
DescriptionAllow DNS

Hinzufügen einer Firewall-Regel zur Erlaubung von DNS

Abbildung 10. Hinzufügen einer Firewall-Regel zur Erlaubung von DNS

  1. Navigieren Sie zu Firewall > Rules > LAN.

  2. Klicken Sie auf die Add-Schaltfläche mit dem Aufwärtspfeil-Symbol, um eine Regel zu definieren, die den internen DNS-Server erlaubt.(s)

  3. Wählen Sie Pass für die erlaubte Regel.

  4. Wählen Sie die Interface als LAN.

  5. Wählen Sie TCP/UDP für das Protocol.

  6. Wählen Sie die Quelle als LAN net. Dies erfasst den gesamten Datenverkehr auf der LAN-Schnittstelle, der an das angegebene Ziel gerichtet ist.

  7. Wählen Sie die destination als LAN address.

  8. Wählen Sie den vordefinierten Port-Alias DNS für den Destination Port Range.

  9. Aktivieren Sie die Option Log packets that are handled by this rule, um das Protokollieren zu aktivieren.

    Zusätzliche Optionen für Firewall-Regel zum Zulassen von DNS festlegen

    Abbildung 11. Zusätzliche Optionen für die Firewall-Regel zum Zulassen von DNS festlegen

  10. Setzen Sie Allow DNS für Description.

  11. Klicken Sie auf Save.

  12. Klicken Sie auf Apply Changes, um die Regel zu aktivieren.

3. Administrativen Zugriff erlauben

Sie können den administrativen Zugriff von bestimmten Admin-IP-Adressen/Netzwerken zulassen, indem Sie die folgenden Schritte ausführen:

OptionWert
AktionZulassen
SchnittstelleLAN
ProtokollTCP
QuelleAdminPC
Quellportbeliebig
ZielLAN-Adresse
ZielportAdministrativePorts
BeschreibungAdministrativen Zugriff zulassen
  1. Navigieren Sie zu Firewall > Rules > LAN.

  2. Klicken Sie auf die Add-Schaltfläche mit dem Aufwärtspfeil-Symbol, um eine Regel zu definieren, die den internen DNS-Server erlaubt.(s)

  3. Wählen Sie Pass für die erlaubte Regel.

  4. Wählen Sie die Interface als LAN.

  5. Wählen Sie TCP für das Protocol.

  6. Wählen Sie die Quelle als Single host/alias und AdminPC.

  7. Wählen Sie das destination als LAN address.

  8. Wählen Sie other für das From-Feld und dann den vordefinierten Port-Alias AdministrativePorts für das Destination Port Range.

    Hinzufügen einer Firewall-Regel zur Ermöglichung des Admin-Zugriffs

    Abbildung 12. Hinzufügen einer Firewall-Regel zur Erlaubung des Admin-Zugriffs

  9. Aktivieren Sie die Option Log packets that are handled by this rule, um das Protokollieren zu aktivieren.

    Zusätzliche Optionen für Firewall-Regel zum Erlauben des administrativen Zugriffs festlegen

    Abbildung 13. Zusätzliche Optionen für die Firewall-Regel zum Zulassen des administrativen Zugriffs festlegen

  10. Setzen Sie Allow Administrative Access für Description.

  11. Klicken Sie auf Save.

  12. Klicken Sie auf Apply Changes, um die Regel zu aktivieren.

4. Firewall-Zugriff blockieren

Sie können unprivilegierten Firewall-Zugriff vom LAN aus blockieren, indem Sie die folgenden Schritte ausführen:

OptionWert
AktionBlockieren
SchnittstelleLAN
Protokollbeliebig
QuelleLAN-Netz
Quellportbeliebig
ZielLAN-Adresse
Zielportbeliebig
BeschreibungFirewall-Zugriff blockieren
  1. Navigieren Sie zu Firewall > Rules > LAN.

  2. Klicken Sie auf die Add-Schaltfläche mit dem Pfeil-nach-unten-Symbol, um eine Regel zum Zulassen des internen DNS-Servers zu definieren.(s)

  3. Wählen Sie Block für die erlaubte Regel.

  4. Wählen Sie die Inrerface als LAN.

  5. Wählen Sie Any für das Protocol.

  6. Wählen Sie die Quelle als LAN-Netz.

  7. Wählen Sie das destination als LAN-Adresse.

    Hinzufügen einer Firewall-Regel zum Blockieren des Firewall-Zugriffs

    Abbildung 14. Hinzufügen einer Firewall-Regel zum Blockieren des Firewall-Zugriffs

  8. Aktivieren Sie die Option „Protokolliere Pakete, die von dieser Regel verarbeitet werden“, um das Protokollieren zu aktivieren.

    Zusätzliche Optionen für Firewall-Regel zum Blockieren des Firewall-Zugriffs festlegen

    Abbildung 15. Zusätzliche Optionen für Firewall-Regel zum Blockieren des Firewall-Zugriffs festlegen

  9. Setzen Sie Block Firewall Access für Description.

  10. Klicken Sie auf Save.

  11. Klicken Sie auf Apply Changes, um die Regel zu aktivieren.

  12. Ziehen Sie die neu definierte Regel Block Firewall Access unter die Regel Allow DNS. Ihre Firewall-Regeln sollten wie unten angegeben angeordnet sein.

    Neuordnung der Firewall-Regeln

    Abbildung 16. Neuordnung der Firewall-Regeln

  13. Klicken Sie auf Save.

  14. Klicken Sie auf Apply Changes, um die Einstellungen zu aktivieren.

5. Deaktivierung der Anti-Lockout-Regel

Nachdem Sie die Firewall-Regeln konfiguriert haben, können Sie die Anti-Lockout-Regel der WebGUI deaktivieren, indem Sie die folgenden Schritte ausführen:

  1. Gehen Sie zu System > Advanced > Admin Access oder klicken Sie auf die Settings-Schaltfläche neben der Anti-Sperrregel auf Firewall > Rules > LAN-Seite.

  2. Aktivieren Sie die Option Disable webConfigurator anti-lockout rule im webConfigurator-Bereich. Das Deaktivieren dieser Option ermöglicht den Zugriff auf den webConfigurator über die LAN-Schnittstelle unabhängig von der benutzerdefinierten Firewall-Regelkonfiguration. Aktivieren Sie dieses Kontrollkästchen, um diese automatisch eingefügte Regel zu deaktivieren, damit der Zugriff auf den WebConfigurator durch die benutzerdefinierten Firewall-Regeln gesteuert wird. Diese Konfiguration wird auch über die Option "IP-Adresse der Schnittstelle(n) festlegen" im Konsolenmenü zurückgesetzt.

    Deaktivierung der Anti-Lockout-Regel für den WebConfigurator

    Abbildung 17. Deaktivierung der Anti-Lockout-Regel des webConfigurators

  3. Klicken Sie am Ende der Seite auf Save.

tipp

Wenn die Administrationsoberfläche nach Deaktivierung der Anti-Lockout-Regel nicht zugänglich ist, wurden die Firewall-Regeln falsch angegeben. Aktivieren Sie die Anti-Lockout-Regel erneut, indem Sie die Option "LAN-IP-Adresse zurücksetzen" im Menü "IP-Adresse der Schnittstelle(n) festlegen" der Konsole auswählen. Ändern Sie es auf seine aktuelle IP-Adresse, und die Regel wird sofort wieder aktiviert.

Was sind Anti-Spoofing-Regeln?

Die Antispoof-Funktionalität von pf wird von pfSense verwendet, um gefälschte Kommunikationen zu verhindern. Dies bietet die durch RFC 3704 definierte Unicast Reverse Path Forwarding (uRPF)-Funktionalität. Jedes Paket wird mit der Routing-Datenbank der Firewall verglichen, und wenn ein Verbindungsversuch von einer IP-Adresse auf einer Schnittstelle stammt, von der die Firewall weiß, dass das Zielnetzwerk nicht existiert, wird das Paket verworfen. Ein WAN-gebundenes Paket, das aus einem internen Netzwerk stammt, wird beispielsweise verworfen. Alles, was im internen Netzwerk mit einer externen Quell-IP-Adresse gestartet wird, wird verworfen.

Was ist die Regel für blockierte private Netzwerke?

Die RFC 1918-Subnetze werden automatisch blockiert, wenn die Option Block private networks auf der WAN-Schnittstelle aktiviert ist. Aktivieren Sie diese Option, es sei denn, es wird privater IP-Bereich im WAN verwendet. Nur der Verkehr, der von der WAN-Seite stammt, ist betroffen. Lokale Clients können weiterhin Hosts in privaten Netzwerken hinter der Firewall erreichen. Diese Option ist für alle Schnittstellentypen zugänglich, wird jedoch oft für WAN-Schnittstellen reserviert. Eine ähnliche Regel kann manuell erstellt werden, um private Netzwerke auf Schnittstellen zu blockieren, indem ein Alias definiert wird, der die RFC 1918-Subnetze enthält, und eine Firewall-Regel an oberster Stelle der Schnittstellenregeln platziert wird, um den Verkehr mit einer Quelle, die dem Alias entspricht, zu verbieten.

Was ist die Regel zur Verhinderung von Bogon-Netzwerken?

Bogon-Netzwerke sind solche, die im Internet niemals sichtbar sein sollten, einschließlich IP-Adressräume, die reserviert oder nicht zugewiesen sind. Das Vorhandensein von Verkehr aus diesen Netzwerken deutet entweder auf gefälschten Verkehr oder die Übernahme eines inaktiven Subnetzes zu böswilligen Zwecken hin. Bogon-Listen sollen ungültigen Internetverkehr (z.B. auf WANs) filtern, der die Firewall erreicht, wenn die Quelle nicht anders überprüft oder verifiziert werden kann, wie im Fall öffentlicher Dienste. Wenn die Regeln einer Schnittstelle nur bestimmte entfernte Quellen zulassen, hat die Bogon-Blockierung keinen Wert. Die pfSense-Software unterstützt zwei dynamisch aktualisierte Bogon-Listen, eine für IPv4-Bogon-Netzwerke und eine andere für IPv6-Bogon-Netzwerke.

tipp

Für lokale/private Schnittstellen wie ein LAN ist das Blockieren von gefälschten Netzwerken nicht angemessen. Das Filtern von gefälschten Netzwerken auf lokalen Schnittstellen könnte nachteilig sein, da es die Kommunikation blockiert, die für die Funktionalität des lokalen Netzwerks erforderlich ist, insbesondere bei IPv6. Wenn lokale Schnittstellen angemessene Einschränkungen haben, die nur bestimmte lokale Quellen zulassen, dann ist das Blockieren von gefälschten Netzwerken nicht notwendig.

Die pfSense-Firewall ruft zu Beginn jedes Monats eine aktualisierte Liste von Bogons von den Netgate-Servern ab. Bevor das Update abgeschlossen ist, wird das Skript um 3:00 Uhr Ortszeit ausgeführt und schläft für eine zufällige Zeitspanne von bis zu 12 Stunden. Ein monatliches Update ist ausreichend, da neue IP-Adresszuweisungen Monate vor ihrer Zuweisung von der Bogons-Liste gelöscht werden. Sie können die Aktualisierungsfrequenz für Bogon-Netzwerke unter System > Advanced auf der Seite Firewall & NAT ändern, um die Liste regelmäßiger zu aktualisieren.

Ändern der Aktualisierungsfrequenz für Bogon-Netzwerke

Abbildung 18. Ändern der Aktualisierungsfrequenz für Bogon-Netzwerke

warnung

Die IPv6-Bogons-Liste ist ziemlich groß und könnte nicht geladen werden, wenn nicht genügend Speicher vorhanden ist oder wenn die maximale Anzahl der Tabelleneinträge nicht ausreicht, um sie aufzunehmen.

Was ist eine IPsec-Regel?

Wenn eine Site-to-Site-IPsec-Verbindung aktiviert wird, fügt die Firewall automatisch Regeln ein, die es dem Tunnel ermöglichen, sich zu verbinden und den Datenverkehr zu leiten.

Aufgrund der Natur des Policy-Routings wird jeglicher Verkehr, der einer Regel entspricht, die ein Gateway angibt, direkt ins Internet gesendet, ohne IPsec-Verarbeitung. Regeln werden automatisch eingeführt, um das Policy-Routing für den Verkehr zu entfernten VPN-Subnetzen zu negieren, jedoch erreichen sie nicht immer das gewünschte Ergebnis. Um die automatisierten Negationsregeln zu deaktivieren, fügen Sie eine Firewall-Regel an oberster Stelle der Regeln auf der internen Schnittstelle hinzu, um den Verkehr ohne angegebenes Gateway zum VPN zuzulassen.

Was sind die Konfigurationsoptionen für Firewall-Regeln auf pfSense?

Viele Einstellungen sind verfügbar, wenn Firewall-Regeln in der pfSense® Software-GUI unter Firewall > Rules definiert werden, um zu steuern, wie der Datenverkehr abgeglichen und reguliert wird. Jede der Firewall-Regeloptionen wird in diesem Abschnitt detailliert beschrieben:

  • Action: Diese Option definiert, ob die Regel den Datenverkehr zulässt, blockiert oder ablehnt.

    • Pass: Ein Paket, das dieser Regel entspricht, darf die Firewall durchqueren. Wenn die Zustandsverfolgung für die Regel aktiviert ist, wird ein Eintrag in der Zustandstabelle erstellt, der den zugehörigen Rückverkehr durchlässt.
    • Block: Ein Paket, das dieser Regel entspricht, wird abgelehnt. Eine Regel, die auf Blockieren konfiguriert ist, wird den Datenverkehr unsichtbar abweisen. Ein blockierter Client erhält keine Antwort und wartet daher, bis die Verbindung abläuft. Dies ist die Standardaktion der Verweigerungsregel in pfSense.
    • Reject: Ein Paket, das dieser Regel entspricht, wird gelöscht, und für unterstützte Protokolle wird eine Nachricht an den Absender zurückgesendet, die anzeigt, dass die Verbindung abgelehnt wurde. Abgelehnte TCP-Kommunikation wird mit einem TCP RST (Reset) beantwortet, während abgelehnter UDP-Verkehr mit einer ICMP-Unreachable-Nachricht beantwortet wird. Während reject eine praktikable Option für jede Firewall-Regel ist, können IP-Protokolle außer TCP und UDP nicht abgelehnt werden; andere IP-Protokolle werden stillschweigend verworfen, da es keinen Standard für die Ablehnung anderer Protokolle gibt.

    ::: tip Was ist der Unterschied zwischen pfSense Block und Reject?Obwohl es keinen wesentlichen Vorteil von block gegenüber reject gibt, ist die empfohlene Praxis für WAN-Regeln die Verwendung von block. Es gibt einen erheblichen Vorteil darin, aktiv zu vermeiden, Informationen an mögliche Angreifer weiterzugeben, und es ist auch eine schlechte Praxis, automatisch auf eine unnötige externe Anfrage zu reagieren.

    Die beste Praxis für Regeln auf internen Schnittstellen ist es, in den meisten Fällen reject zu verwenden. Wenn ein Host versucht, auf eine Ressource zuzugreifen, die von der Firewall nicht autorisiert ist, kann die Anwendung, die versucht, auf die Ressource zuzugreifen, unresponsive werden, bis die Verbindung abläuft oder die Client-Software aufhört, zu versuchen, auf den Dienst zuzugreifen. Mit reject wird die Verbindung sofort verweigert, wodurch Client-Hänger verhindert werden. Dies ist oft kaum mehr als eine Belästigung, aber es ist dennoch ratsam, reject zu verwenden, um Anwendungsprobleme zu verhindern, die durch stillschweigend im Netzwerk verlorene Daten verursacht werden. :::

  • Disabled:: Aktivieren Sie dieses Kontrollkästchen, um eine Regel zu deaktivieren, ohne sie aus der Regelnliste zu entfernen. Es bleibt weiterhin auf dem Bildschirm für Firewall-Regeln, aber die Regel wird ausgegraut, um ihren deaktivierten Zustand anzuzeigen.

  • Interface: Das Dropdown-Menü "Schnittstelle" bietet die Empfangsschnittstelle für den Datenverkehr, der durch diese Regel gesteuert wird. Beachten Sie, dass der Datenverkehr nur auf der Schnittstelle gefiltert wird, von der er stammt, durch Schnittstellen- und Gruppentabellenregeln. Das LAN-Regelsatz filtert den Verkehr, der vom LAN stammt und ins Internet oder zu einer anderen Schnittstelle der pfSense-Firewall geht.

  • Address Family: Gibt an, ob die Regel für IPv4, IPv6 oder sowohl IPv4- als auch IPv6-Verkehr gilt. Die Regeln werden nur auf Pakete zutreffen und Maßnahmen ergreifen, die dem angegebenen Protokoll entsprechen. Aliase, die beide Arten von IP-Adressen enthalten, können verwendet werden, und die Regel wird nur Adressen des entsprechenden Protokolls übereinstimmen.

  • Protocol: Das Protokoll, das durch diese Regel übereinstimmt. Diese Einstellungen sind größtenteils selbsterklärend. TCP/UDP ist sowohl mit TCP- als auch mit UDP-Kommunikation kompatibel. Die Angabe von ICMP wird ein Dropdown-Menü zur Auswahl des ICMP-Typs bereitstellen. Es gibt auch viele zusätzliche gängige Protokolle, die zugänglich sind.

    Firewall-Regel-Protokolloptionen auf pfsense

    Abbildung 19. Firewall-Regel-Protokolloptionen auf pfSense

    tipp

    Diese Option wird standardmäßig auf TCP gesetzt, wenn eine neue Regel erstellt wird, da TCP ein beliebter Standard ist und die erforderlichen Informationen für dieses Protokoll anzeigt. Um die Regel auf jedes Protokoll anwendbar zu machen, geben Sie in diesem Bereich "any" ein. Unbeabsichtigt eine TCP-Regel zu implementieren, die nicht-TCP-Verkehr wie Ping, DNS usw. daran hindert, durchzukommen, ist einer der häufigsten Fehler beim Hinzufügen neuer Regeln.

  • ICMP Subtypes: Dieses Dropdown-Menü enthält alle potenziellen ICMP-Typen, die übereinstimmen, wenn ICMP als Protokoll ausgewählt wird. Der empfohlene Ansatz für das Durchlassen von ICMP besteht darin, nur die benötigten Arten zuzulassen, wenn möglich. Das Senden einer Form von Echo Request, die einen ICMP-Ping ermöglicht, ist der typischste Anwendungsfall.

    Firewall-Regel ICMP-Subtypen-Optionen auf pfsense

    Abbildung 20. Firewall-Regel ICMP-Subtypen-Optionen auf pfSense

  • Source: Diese Spalte definiert die IP-Adresse, das Subnetz oder das Alias der Quell-IP-Pakete, die dieser Regel entsprechen. Das Dropdown-Menü für die Quelle hat die folgenden vordefinierten Optionen:

    • Any: Entspricht jeder Adresse.
    • Single host or Alias: Entspricht einer einzelnen IP-Adresse oder einem Hostnamen-Alias. Wenn aktiviert, kann ein Alias im Feld Quelladresse eingegeben werden.
    • Network: Passt einen Bereich von IP-Adressen unter Verwendung sowohl einer IP-Adresse als auch einer Subnetzmaske an.
    • PPPoE Clients: Wenn der PPPoE-Server aktiviert ist, wird dieses Makro den Datenverkehr aus dem Client-IP-Bereich für den PPPoE-Server erfassen.
    • L2TP Clients: Wenn der L2TP-Server aktiviert ist, wird dieses Makro den Datenverkehr aus dem IP-Bereich des Clients für den L2TP-Server erfassen.
    • Interface Net: Diese Liste enthält einen Eintrag für jede Schnittstelle auf der Firewall. Diese Makros beschreiben präzise das Subnetz für diese Schnittstelle, einschließlich aller IP-Alias-VIP-Subnetze, die vom deklarierten Subnetz der Schnittstelle abweichen.
    • Interface Address: Diese Liste enthält einen Eintrag für jede Schnittstelle der Firewall. Die auf der Schnittstelle definierte IP-Adresse wird durch diese Makros angegeben.

    Firewall-Regel-Quellenoptionen auf pfsense

    Abbildung 21. Firewall-Regel-Quellenoptionen auf pfSense

    Um den Quellport für Regeln, die mit TCP und/oder UDP übereinstimmen, anzugeben, klicken Sie auf die Schaltfläche Display Advanced. Der Quellport ist hinter der Schaltfläche Display Advanced verborgen, da TCP- und UDP-Verbindungen von einem zufälligen Port im ephemeral Port-Bereich abgeleitet werden und der Quellport im Allgemeinen auf beliebig (zwischen 1024 und 65535, der genaue verwendete Bereich variiert je nach Betriebssystem und Betriebssystemversion, die die Verbindung initiiert) eingestellt werden muss. Der Quellport und der Zielport sind praktisch nie identisch und sollten niemals so eingestellt werden, es sei denn, es ist bekannt, dass das verwendete Programm dieses ungewöhnliche Verhalten anwendet. Darüber hinaus ist es zulässig, einen Quellport als einen Bereich zwischen 1024 und 65535 zu beschreiben.

    Firewall-Regel Quellportbereichsoptionen auf pfsense

    Abbildung 22. Firewall-Regel Quellportbereichsoptionen auf pfSense

    Durch Auswahl der Option Invert Match wird die Regel für allen Verkehr außer dem angegebenen Quellwert ausgelöst.

    tipp

    Die Verwendung von Invert Match bei <interface> Net-Makros wie LAN-Netz kann zu unbeabsichtigtem Regelverhalten führen, wenn die Schnittstelle zusätzlich virtuelle IP-Adressen verwendet. Dies ist das Ergebnis des Abgleichs des Datenverkehrs mit dem Schnittstellennetzwerk ODER den VIPs. Mit einem Subnetz von 192.168.1.0/24, einer VIP von 10.0.0.1/32 und einer Regel mit einem negierten Schnittstellen-Makro wie pass on $LAN from any to ! $LAN_net, wird beispielsweise der Verkehr, der auf 192.168.1.100 zielt, passieren, da die Ziel-IP-Adresse nicht mit der VIP übereinstimmt.

    • Destination: Diese Spalte definiert die IP-Adresse, das Subnetz oder das Alias des Ziels, das dieser Regel entspricht. Weitere Informationen finden Sie in der Erklärung der Option Quelle unter Quelle. Es gibt nur ein zusätzliches Makro:

    • This Firewall (self): Entspricht jeder einzelnen IP-Adresse auf jeder einzelnen Firewall-Schnittstelle.

    Firewall-Regel-Zieloptionen auf pfsense

    Abbildung 23. Zieloptionen für Firewall-Regeln auf pfSense

    Der Zielport, der Portbereich oder das Alias wird hier für TCP- und/oder UDP-Regeln angegeben. Im Gegensatz zu source ist die Angabe eines Zielports oft unerlässlich, da sie sicherer ist als die Verwendung eines any-Ports und je nach Protokoll oft im Voraus bekannt ist. Wählen Sie (other), um manuell einen Portwert einzugeben oder einen Portalias zu verwenden. Die Dropdown-Listen bieten eine Vielzahl beliebter Portwerte an.

    tipp

    Geben Sie den unteren Portwert im Abschnitt From und den höheren Portwert im Abschnitt To ein, um einen kontinuierlichen Bereich von Ports zu definieren.

  • Log: Dieses Kontrollkästchen steuert, ob Pakete, die dieser Regel entsprechen, im Firewall-Protokoll aufgezeichnet werden.

  • Description: Fügen Sie hier eine Referenzbeschreibung ein. Dies ist optional und hat keinen Einfluss auf die Funktionsweise der Regel. Das ideale Verfahren besteht darin, eine Formulierung bereitzustellen, die die Absicht der Regel umreißt. Die maximale Zeichenzahl beträgt 52.

    Zusätzliche Optionen für Firewall-Regeln auf pfsense

    Abbildung 24. Zusätzliche Optionen für Firewall-Regeln auf pfSense

Was sind erweiterte Optionen bei Firewall-Regeln?

Dieser Teil der pfSense-Firewall-Regel enthält Optionen, die weniger wahrscheinlich verwendet werden oder deren Funktionalität für unerfahrene Benutzer unklar ist. Klicken Sie auf die Schaltfläche Display Advanced im Bereich Exstra Options einer Firewall-Regel, um alle erweiterten Einstellungen zu sehen. Wenn eine Option in diesem Abschnitt der Seite ausgewählt wurde, wird sie beim nächsten Laden der Regel angezeigt.

  • Source OS: Eine der markantesten Eigenschaften von pf und damit auch der pfSense-Software ist die Fähigkeit, Verbindungen basierend auf dem Ursprungsbetriebssystem zu filtern. pf bietet passives Betriebssystem-Fingerprinting ("p0f") für TCP-Regeln, wodurch Regeln je nach Betriebssystem, das die TCP-Verbindung initiiert hat, übereinstimmen können. Durch den Vergleich der Merkmale des TCP SYN-Pakets, das TCP-Verbindungen herstellt, mit einer Fingerabdruckdatei erkennt die p0f-Funktion von pf das verwendete Betriebssystem. Insbesondere bei Open-Source-Betriebssystemen wie BSDs und Linux ist es möglich, den Fingerabdruck eines Betriebssystems zu ändern, um ihn dem eines anderen Betriebssystems ähnlich zu machen. Dies ist nicht einfach, aber es ist machbar, wenn ein Netzwerk technisch kompetente Personen mit Administrator- oder Root-Zugriff auf die Systeme hat.

  • Diffserv Code Point: Differenzierte Dienste Code Point ist ein Mittel für Apps, um auszudrücken, wie sie möchten, dass ihr Datenverkehr von Routern behandelt wird, während er auf seinem Weg weitergeleitet wird. Am häufigsten wird dies aus Gründen der Dienstgüte oder Verkehrsformung verwendet. Der langfristige Begriff wird manchmal auf Diffserv Code Point oder DSCP vereinfacht und wird auch als TOS-Feld bezeichnet.

    Das Programm oder Gerät, das die Pakete generiert, wie Asterisk durch seine tos_sip- und tos_audio-Konfigurationseinstellungen, wird das DSCP-Feld in den Paketen setzen. Es liegt dann in der Verantwortung der Firewall und anderer Zwischenrouter, die Pakete zuzuordnen und zu warten oder anderweitig zu verarbeiten.Um diese Parameter in der Firewall abzugleichen, wählen Sie den Diffserv-Codepunkt aus dem Dropdown-Menü, der dem vom Ursprungsgerät festgelegten Wert entspricht. Es gibt eine Vielzahl von Möglichkeiten, jede mit einer unterschiedlichen Bedeutung basierend auf der Art des Verkehrs.

    DSCP hat den Nachteil, dass es davon ausgeht, dass Router das Feld unterstützen oder darauf reagieren, was möglicherweise nicht der Fall ist. Verschiedene Router können identische DSCP-Werte auf unerwartete oder inkompatible Weise interpretieren. Noch schlimmer ist, dass einige Router die DSCP-Informationen vollständig aus den Paketen entfernen würden, bevor sie weitergeleitet werden. Allerdings muss aufgrund der Art und Weise, wie pf den Verkehr abgleicht, der DSCP-Wert im ersten Paket einer Verbindung angegeben werden, die einen Zustand erzeugt, da Pakete nach der Erstellung eines Zustands nicht einzeln untersucht werden.

  • IP Options: Dieses Kontrollkästchen erlaubt es, Pakete mit angegebenen IP-Parametern passieren zu lassen. Standardmäßig filtert pf alle Pakete, die IP-Parameter enthalten, unter anderem, um OS-Fingerprinting zu verhindern. Aktivieren Sie dieses Kästchen, um die Kommunikation von IGMP und anderen Multicast-IP-Optionen zuzulassen.

  • Disable Reply-To: Standardmäßig fügt die Firewall das Schlüsselwort reply-to zu Regeln auf WAN-Schnittstellen hinzu, um sicherzustellen, dass der Verkehr, der in ein WAN eintritt, auch durch dasselbe WAN wieder austritt. Unter bestimmten Umständen, wie zum Beispiel wenn ein Teil des Datenverkehrs über eine separate Firewall/Router auf der WAN-Schnittstelle geleitet wird, ist dieses Verhalten inakzeptabel. In einigen Fällen wählen Sie diese Option, um reply-to nur für den Verkehr zu deaktivieren, der dieser Regel entspricht, anstatt global.

  • Tag and Tagged: Die Felder Tag und Tagged sind in Verbindung mit schwebenden Regeln hilfreich, da sie es der Firewall ermöglichen, ein Paket mit einem bestimmten String zu kennzeichnen, wenn es eine Schnittstelle betritt, und dann eine andere Aktion auf ein übereinstimmendes Paket auszuführen, indem sie eine schwebende Regel auf dem Weg nach draußen anwendet.

  • Maximum state entries this rule can create: Diese Option beschränkt die insgesamt zulässige maximale Anzahl von Verbindungen, die durch diese Regel erlaubt sind. Wenn weitere Verbindungen diese Regel erfüllen, nachdem ihr Verbindungs-Limit erreicht wurde, wird diese Regel nicht ausgewertet. Wenn eine spätere Regel zutrifft, wird die Aktion dieser Regel auf den Datenverkehr angewendet; andernfalls wird die Standardregel zur Ablehnung ausgeführt. Nachdem die Anzahl der Verbindungen, die durch diese Regel erlaubt sind, unter dieses Limit fällt, kann der Verkehr wieder dieser Regel entsprechen.

  • Maximum number of unique source hosts: Dieser Parameter bestimmt die maximale Anzahl gleichzeitiger Quell-IP-Adressen, die für diese Regel zulässig sind. Jede Quell-IP-Adresse ist eine unbegrenzte Anzahl von Verbindungen erlaubt, aber die Gesamtzahl der Quell-IP-Adressen ist auf diese Zahl begrenzt.

  • Maximum number of established connections per host: Diese Option funktioniert ähnlich wie die zuvor definierte Zählung, überprüft jedoch nur die Statuseinträge und nicht, ob eine erfolgreiche Verbindung hergestellt wurde.

  • Maximum new connections / per second: Diese Art der Ratenbegrenzung stellt sicher, dass eine hohe TCP-Verbindungsrate einen Server oder die Status-Tabelle der Firewall nicht überlastet. Grenzen können für eingehende Verbindungen zu einem Mailserver festgelegt werden, um die Belastung durch Spambots, die das System überlasten, zu verringern. Es kann auch bei ausgehenden Verkehrsregeln verwendet werden, um zu verhindern, dass eine Maschine die Zustands-Tabelle der Firewall überlastet oder eine übermäßige Anzahl schneller Verbindungen herstellt, beides typische Aktionen von Viren. Die Regel kann mit einer Verbindungsanzahl und der Anzahl der Sekunden für den Zeitraum festgelegt werden. Jede IP-Adresse, die die festgelegte Anzahl von Verbindungen während des angegebenen Zeitraums überschreitet, wird für eine Stunde von der Firewall gesperrt. Dies wird im Hintergrund von der virusprot-Tabelle erledigt, deren übliche Funktion der Virenschutz ist. Diese Option ist nur mit TCP-Verbindungen kompatibel.

  • State timeout in seconds: Dieses Feld wird verwendet, um einen Status-Timeout für den Datenverkehr festzulegen, der diesen Kriterien entspricht, und den Standard-Status-Timeout zu überschreiben. Nachdem eine Verbindung für diesen Zeitraum inaktiv war, wird die Verbindung geschlossen. Die standardmäßige Statuszeitüberschreitung hängt von der Optimierungstechnik ab, die von der Firewall verwendet wird.

    tipp

    Diese Option beschränkt den Verkehr ausschließlich in der eingehenden Richtung, daher ist sie allein nicht sehr hilfreich. Der standardmäßige Zustand-Timeout wird weiterhin auf ausgehenden Verkehr für eine übereinstimmende Verbindung angewendet. Um diese Option korrekt zu nutzen, muss eine entsprechende schwebende Regel mit einer vergleichbaren Zustandszeitüberschreitungseinstellung in der ausgehenden Route vorhanden sein, die dem Verkehr folgt.

    Erweiterte Optionen für Firewall-Regeln auf pfsense

    Abbildung 25. Erweiterte Optionen für Firewall-Regeln auf pfSense-1

    • TCP-Flags: Standardmäßig überprüfen neue TCP-Pass-Regeln nur das TCP SYN-Flag, aus einer potenziellen Menge von SYN und ACK. Um kompliziertere Fälle zu berücksichtigen, wie z.B. die Umgehung asymmetrischer Routen oder andere nicht-traditionelle Verkehrsflusskombinationen, nutzen Sie diese Sammlung von Optionen, um zu ändern, wie die Firewall-Regel die Flags abgleicht. Die erste Zeile gibt an, welche Flags gesetzt werden müssen, um den Vorschriften zu entsprechen. Die zweite Zeile gibt die Liste der Paket-Flags an, die auf Übereinstimmung überprüft werden. Die Bedeutungen der häufigsten Flags sind wie folgt:
    • SYN: Koordinieren Sie die Sequenznummern. Zeigt eine neu versuchte Verbindung an.
    • ACK: Bedeutet Datenbestätigung. Dies sind Antworten, die den Sender darüber informieren, dass die Daten erfolgreich empfangen wurden.
    • FIN: Bedeutet, dass keine weiteren Daten vom Sender mehr vorhanden sind und die Verbindung geschlossen wird.
    • RST: Verbindungsrücksetzung. Dieses Flag wird als Antwort auf eine Anfrage gesetzt, eine Verbindung zu einem Port herzustellen, der keinen aktiven Listening-Daemon hat. Darüber hinaus kann Firewall-Software so konfiguriert werden, dass unerwünschte Verbindungen abgelehnt werden.
    • PSH: Gibt an, dass Daten, einschließlich der Daten in diesem Paket, durch das Übermitteln der Daten an die Anwendung gepusht oder geflusht werden sollen.
    • URG: Gibt an, dass das dringende Feld wichtig ist und dass dieses Paket vor nicht dringenden Daten gesendet werden sollte.
    • Any Flags: Sie können Any Flags aktivieren, um TCP mit beliebigen gesetzten Flags zuzulassen.
  • State Type: Es gibt drei Alternativen zur Verfolgung von Zuständen, die pro Regel festgelegt werden können:

    • Keep: Wenn ausgewählt, wird die Firewall einen Eintrag für autorisierten Datenverkehr in ihrer Zustands-Tabelle erstellen und beibehalten. Dies ist die Standard- und beste Option in den meisten Fällen.
    • Sloppy State: Sloppy ist eine weniger strenge Methode zur Zustandsverwaltung, die für asymmetrische Routing-Bedingungen entwickelt wurde. Wenn die Firewall nur fünfzig Prozent des Verkehrs einer Verbindung sehen kann, schlagen die normalen Zustandsprüfungen fehl und der Verkehr wird blockiert. Während einer nachlässigen Zustandsprüfung werden Mechanismen in pf, die bestimmte Arten von Angriffen verhindern, nicht aktiviert.
    • Synproxy: Diese Option weist pf an, als Proxy für eingehende TCP-Verbindungen zu fungieren. TCP-Verbindungen werden durch einen Drei-Wege-Handshake initiiert. Das erste Paket einer TCP-Verbindung ist ein SYN vom Quellhost, gefolgt von einem SYN-ACK vom Zielhost und einem ACK vom Quellhost, um den Handshake abzuschließen. Dies wird normalerweise vom Host hinter der Firewall erledigt, aber der synproxy-Zustand lässt die Firewall stattdessen diesen Handshake durchführen. Dies hilft, SYN-Floods, eine Art von Denial-of-Service-Angriff, zu verhindern. Dies wird normalerweise ausschließlich für WAN-Schnittstellenregeln verwendet.Heutzutage wird diese Form des Angriffs am besten auf der Ebene des Zielbetriebssystems angegangen, da alle aktuellen Betriebssysteme in der Lage sind, dies selbst zu tun. Da die Firewall nicht feststellen kann, welche TCP-Erweiterungen der Back-End-Host unterstützt, bewirbt sie im synproxy-Modus keine unterstützten TCP-Erweiterungen. Dies bedeutet, dass Verbindungen, die im synproxy-Zustand hergestellt werden, kein Window Scaling, SACK oder Zeitstempel verwenden, was in der überwiegenden Mehrheit der Fälle zu einer Leistungsabnahme führt.Diese Option ist hilfreich, um TCP-Ports für Websites zu öffnen, die Netzwerkmissbrauch nicht angemessen handhaben und wenn Geschwindigkeit keine Priorität hat.
    • None: Diese Option speichert den Status der Regel nicht. Dies ist nur in einer Handvoll äußerst spezialisierter fortgeschrittener Umstände erforderlich.
    tipp

    Das Setzen von None hier wirkt sich nur auf den eingehenden Verkehr aus, daher ist es nicht wirklich vorteilhaft, da ein Zustand immer noch auf ausgehende Weise erzeugt wird. Es muss mit einer schwebenden Regel übereinstimmen, die im ausgehenden Verkehr mit denselben Optionen gesetzt ist.

  • No XML-RPC Sync: Diese Option verhindert, dass diese Regel über XMLRPC mit anderen Mitgliedern des Hochverfügbarkeitsclusters synchronisiert wird. Hochverfügbarkeit behebt dieses Problem.

  • VLAN Priority (Match and Set): 802.1p, manchmal auch als IEEE P802.1p oder Priority Code Point bezeichnet, ist eine Methode zum Abgleichen und Taggen von Paketen mit einer bestimmten Dienstgütepriorität. 802.1p funktioniert auf Schicht 2 mit VLANs, im Gegensatz zu DSCP. Ähnlich wie bei DSCP muss der vorgelagerte Router auch 802.1p unterstützen, damit es wirksam ist. Dieser Abschnitt hat zwei Optionen. Die erste wird ein 802.1p-Feld abgleichen, damit die Firewall Maßnahmen ergreifen kann. Sobald ein Paket durch diese Firewall reist, wird der zweite einen 802.1p-Tag einfügen. Einige ISPs benötigen möglicherweise die Einstellung eines 802.1p-Tags in bestimmten Regionen, wie zum Beispiel in Frankreich, um Sprach-/Video-/Datenverkehr auf segregierten VLANs mit der erforderlichen Priorität zu verwalten und so die Qualität zu gewährleisten. Es gibt acht Prioritätsstufen für 802.1p, und jede hat einen zweibuchstabigen GUI-Code. In absteigender Reihenfolge der Wichtigkeit sind sie:

    • BK: Hintergrund
    • BE: Beste Anstrengung
    • EE: Außergewöhnlicher Aufwand
    • CA: Kritische Anwendungen
    • VI: Video
    • VO: Sprache
    • IC: Internetwork Control
    • NC: Netzwerkverbindung
  • Schedule: Diese Option konfiguriert einen Zeitplan, der die Tage und Stunden angibt, an denen die Regel aktiv sein wird. Wenn Sie "keine" wählen, wird die Regel immer aktiviert sein.

  • Gateway: Diese Option konfiguriert ein Gateway oder eine Gateway-Gruppe, die vom übereinstimmenden Datenverkehr genutzt werden soll.

  • In/Out Pipe (Limiters): Diese Optionen bieten Begrenzungen, um eine Bandbreitenbeschränkung für den ein- (In) und ausgehenden (Out) Datenverkehr dieser Schnittstelle zu erzwingen.

  • Ackqueue/Queue: Diese Parameter legen die ALTQ-Verkehrsformer-Warteschlangen fest, die auf den eingehenden und ausgehenden Verkehr auf diesem Interface angewendet werden.

Erweiterte Optionen für Firewall-Regeln auf pfsense-2

Abbildung 26. Erweiterte Optionen für Firewall-Regeln auf pfSense-2

Was sind Floating Rules?

Floating Rules sind eine einzigartige Art von erweiterten Regeln, die komplexe Operationen ausführen können, die mit Regeln auf den Schnittstellen- oder Gruppentabs nicht möglich sind. Viele Schnittstellen können von schwebenden Regeln im eingehenden, ausgehenden oder beiden Richtungen betroffen sein. Die Verwendung von eingehendem und ausgehendem Filtern macht die Regel Erstellung komplizierter und anfälliger für Benutzerfehler, obwohl es in einigen Situationen nützlich ist.

Die Mehrheit der Firewall-Setups wird niemals schwebende Regeln haben, oder sie werden nur über den Traffic Shaper verfügbar sein.

Schwebende Firewall-Regeln auf pfsense

Abbildung 27. Schwebende Firewall-Regeln auf pfsense

Was sind Vorsichtsmaßnahmen/Hinweise für Floating-Regeln?

Floating-Regeln können viel effektiver sein als andere Regeln, aber sie sind auch komplizierter, und es ist einfacher, einen Fehler zu machen, der zu unvorhergesehenen Auswirkungen beim Durchleiten oder Blockieren von Datenverkehr führen kann.

Schwebende Regeln in der eingehenden Richtung, die auf zahlreiche WANs angewendet werden, haben nicht die reply-to-Option wie bei einzelnen Schnittstellenregeln; daher tritt dasselbe Problem wie bei Schnittstellengruppen auf: Der Datenverkehr wird immer über das Standard-Gateway das WAN verlassen und wird niemals korrekt zurückkehren.

Angesichts der relativen Unkenntnis vieler Benutzer über Floating-Regeln werden sie möglicherweise nicht in Betracht ziehen, dort nach Firewall-Regeln zu suchen. Infolgedessen könnten sie für die Verwaltung etwas herausfordernder sein, da sie möglicherweise nicht der offensichtlichste Ort sind, um nach Vorschriften zu suchen.

Berücksichtigen Sie die Quelle und das Ziel der Pakete sorgfältig basierend auf ihrem eingehenden und ausgehenden Pfad. Zum Beispiel hätten ausgehende Regeln in einem WAN eine lokale Firewall-Quelle (nach NAT) und ein entferntes Ziel.

Was ist die Verarbeitungsreihenfolge für Floating-Regeln?

In der Eingangsrichtung funktionieren Floating-Regeln ähnlich wie Schnittstellen- oder Gruppenregeln, mit dem Unterschied, dass sie vor diesen Regeln bearbeitet werden. Auf der anderen Seite wird es jedoch etwas komplizierter.

Da Firewall-Regeln nach NAT-Regeln ausgewertet werden, können Regeln in der ausgehenden Richtung auf einem WAN niemals mit einer lokalen/privaten IP-Adressquelle übereinstimmen, wenn für diese Schnittstelle Outbound-NAT aktiviert ist. Bis das Paket die Regel erreicht, ist seine Quell-IP-Adresse die IP-Adresse der WAN-Schnittstelle. In den meisten Fällen kann dieses Problem umgangen werden, indem die Übereinstimmungsoptionen verwendet werden, um ein Paket im LAN auf dem Weg nach innen zu kennzeichnen und dann dieses Tag auf dem Weg nach außen aus der Firewall abzugleichen.

Schwebende Regeln werden vor den Schnittstellengruppenregeln und den Schnittstellenregeln ausgeführt, daher muss dies ebenfalls berücksichtigt werden.

Was ist Match Action in Floating Rules?

Das Matching ist ausschließlich für Floating-Regeln. Eine Regel mit der Match-Aktion wird ein Paket weder passieren noch blockieren, sondern es abgleichen, um den Verkehr an Warteschlangen oder Drosselungen zur Verkehrsformung zu senden. Match-Regeln sind unwirksam, wenn Quick aktiviert ist.

  • Quick: Bestimmt, ob die Regelverarbeitung stoppt, nachdem eine Regel übereinstimmt. Das Quick-Verhalten wird automatisch auf alle Regeln im Schnittstellen-Tab angewendet, ist jedoch optional für schwebende Regeln. Ohne die ausgewählte Fast-Option wird die Regel nur angewendet, wenn keine anderen Regeln mit dem Datenverkehr übereinstimmen. Es ändert das Verhalten von "first match wins" zu "last match wins". Mit dieser Methode ist es möglich, eine Standardaktion zu erstellen, die nur wirksam wird, wenn keine anderen Regeln zutreffen, analog zu den Standardblockregeln in WANs. In den meisten Fällen ist es ratsam, Quick zu aktivieren. Es gibt nur wenige Umstände, in denen das Deaktivieren von Quick erforderlich ist, obwohl sie selten vorkommen. Ohne die Auswahl Quick hätten sie in den meisten Fällen nur Match-Regeln und Traffic-Shaper-Regeln.

  • Interface: Die Schnittstellenoption für schwebende Regeln unterscheidet sich von der für reguläre Schnittstellenregeln: Es ist ein Mehrfachauswahlfeld, das die Auswahl eines, vieler oder aller potenziellen Schnittstellen ermöglicht. Strg-Klick auf Schnittstellen, um sie einzeln auszuwählen, oder verwenden Sie alternative Klick-/Ziehen- oder Umschalt-Klick-Kombinationen.

  • Direction: Im Gegensatz zu Schnittstellenregeln sind schwebende Regeln nicht auf die eingehende Richtung beschränkt. Darüber hinaus können sie in Richtung nach außen wirken, indem sie auswählen, oder in beide Richtungen, indem sie beliebige auswählen. Die Richtung in ist ebenfalls zugänglich. Die Richtung out ist wichtig für die Filterung des Verkehrs von der Firewall selbst, das Erkennen anderer unerwünschter Verkehrsströme, die versuchen, eine Schnittstelle zu verlassen, und die vollständige Definition von "sloppy state"-Regeln, "no state"-Regeln und alternativen Zustandstimeouts.

  • Marking and Matching: Durch die Nutzung der Felder Tag und Tagged kann eine Schnittstellentabellenregel eine Verbindung kennzeichnen, die anschließend in der ausgehenden Richtung durch eine schwebende Regel übereinstimmt. Dies ist eine praktische Methode, um auf WAN-Ausgangsverkehr von einem bestimmten internen Host zu reagieren, der aufgrund von NAT, das die Quelle verbirgt, sonst nicht zugeordnet werden konnte. Ähnlich kann es verwendet werden, um ausgehenden WAN-Verkehr von Verkehr zu formen, der auf seinem Weg innerhalb der Firewall speziell gekennzeichnet wurde.

Verwenden Sie zum Beispiel einen kurzen Text im Tag-Feld einer LAN-Regel, um ein Paket zu identifizieren, das von 10.3.0.56 stammt. Als Nächstes, in einer schnellen, nach außen gerichteten, schwebenden Regel im WAN, verwenden Sie Tagged mit demselben String, um auf den Verkehr zu reagieren, der der LAN-Regel entspricht.

Was sind die besten Praktiken für pfSense-Firewall-Regeln?

Dieser Abschnitt behandelt die besten Praktiken für die grundlegende Einrichtung von Firewall-Regeln in der pfSense-Software. Sie können die folgenden Best Practices anwenden, wenn Sie pfSense-Firewall-Regeln konfigurieren:

  1. Halten Sie es kurz: Je kürzer ein Regelwerk, desto einfacher ist es zu verwalten. Lange Regelsets sind schwer zu handhaben, erhöhen die Wahrscheinlichkeit menschlicher Fehler, neigen dazu, zu nachsichtig zu werden, und sind viel schwieriger zu überprüfen. Verwenden Sie Aliase, um die Länge des Regelsets zu reduzieren.

  2. Implementiere Default Deny: Die Default Deny-Regel blockiert diskret alle Regeln, die nicht mit benutzerdefinierten Regeln oder anderen automatisch hinzugefügten Regeln übereinstimmen. Es gibt zwei grundlegende Zugriffskontrolltheorien in der Computersicherheit:

    • standardmäßig erlauben
    • standardmäßig verweigern

    Die ideale Methode für Firewall-Regeln ist es, standardmäßig zu verweigern. Firewall-Administratoren sollten Regeln entwerfen, um nur den unbedingt notwendigen Datenverkehr für die Anforderungen eines Netzwerks zuzulassen und den restlichen Datenverkehr mithilfe der standardmäßigen Verweigerungsregel (implizite Verweigerung), die in die pfSense® Software integriert ist, abzuweisen. Die Verwendung dieses Prozesses führt zu einer minimalen Anzahl von Verweigerungsregeln in einem Regelset. Sie haben immer noch eine Rolle für bestimmte Anwendungen, aber ihre Nutzung wird in den meisten Kontexten durch die Implementierung einer Standard-Verbotsmethode eingeschränkt.

    Die pfSense-Software verwendet standardmäßig "deny" für das WAN und standardmäßig "allow" für das LAN in einer Konfiguration mit zwei LAN- und WAN-Schnittstellen. Alles, was aus dem Internet kommt, ist verboten, aber alles, was vom LAN ins Internet geht, ist erlaubt. Diese Technik wird von allen Routern für den Heimgebrauch, allen verwandten Open-Source-Projekten und der Mehrheit der vergleichbaren kommerziellen Produkte verwendet. Es ist das, was die meisten Benutzer von Anfang an erwarten, daher ist es die Standardeinstellung. Dennoch, obwohl dies eine einfache Methode ist, wird sie nicht für den langfristigen Gebrauch empfohlen.

    Benutzer der pfSense-Software fragen oft: "Welche schädlichen Dinge sollte ich blockieren?" Doch dies ist die falsche Frage, wenn es um die Methode des default allow geht. Marcus Ranum erwähnte die Standardgenehmigung in seinem Artikel "Six Dumbest Concepts in Computer Security," der Pflichtlektüre für jeden Sicherheitsexperten ist. Vermeiden Sie es, die Regel default allow all im LAN beizubehalten und Blockregeln für "schlechte Sachen" über die Erlauben-Regel zu setzen.

  3. Überprüfung der Firewall-Regeln: Die regelmäßige manuelle Überprüfung der Firewall-Regeln und NAT-Einstellungen, um sicherzustellen, dass sie weiterhin den minimalen Anforderungen der aktuellen Netzwerkumgebung entsprechen, ist die empfohlene Praxis. Die empfohlene Häufigkeit solcher Bewertungen variiert je nach Kontext. In Netzwerken mit wenigen Änderungen, einer begrenzten Anzahl von Firewall-Administratoren und effektiven Änderungssteuerungsmethoden sind vierteljährliche oder halbjährliche Aktualisierungen oft ausreichend. Für sich schnell ändernde Umgebungen oder solche mit unzureichender Änderungssteuerung und mehreren Benutzern mit Firewall-Zugriff sollte die Konfiguration mindestens wöchentlich überprüft werden.

  4. Dokumentieren Sie die Konfiguration: Es könnte schwierig sein, sich daran zu erinnern, was wo und warum für alle Netzwerke konfiguriert ist. Die empfohlene Praxis besteht darin, den Zweck der Firewall- und NAT-Regeln im Feld Description zu beschreiben. Erstellen und pflegen Sie ein umfassenderes Konfigurationsdokument, das die gesamte pfSense-Softwareeinrichtung für größere oder kompliziertere Installationen abdeckt. Dies hilft zukünftigen Überprüfungen der Firewall-Konfiguration, um festzustellen, welche Regeln wesentlich sind und warum sie existieren. Dies gilt für jedes andere Konfigurationselement. Es ist auch unerlässlich, dieses Dokument aktuell zu halten. Überprüfen Sie dieses Dokument zusammen mit den regelmäßigen Konfigurationsüberprüfungen, um sicherzustellen, dass es die aktuelle Konfiguration widerspiegelt. Stellen Sie sicher, dass diese Seite aktualisiert wird, wenn es Konfigurationsänderungen gibt.

  5. Implementieren Sie Protokollierungsmethoden: Die pfSense-Software zeichnet keinen weitergeleiteten Datenverkehr auf und protokolliert standardmäßig allen verlorenen Datenverkehr. Dies ist das Standardverhalten fast jeder kommerziellen und Open-Source-Firewall. Das ist die praktischste Option, da das Verfolgen aller durchgelassenen Kommunikationen aufgrund der entstehenden Last und des Logvolumens selten gewünscht ist. Aus sicherheitstechnischer Sicht ist diese Praxis ziemlich rückständig. Verkehr, der blockiert wird, kann ein Netzwerk nicht stören, daher ist sein Protokollwert begrenzt, aber Informationen über den Verkehr, der durchgelassen wird, könnten entscheidend sein, wenn ein System infiltriert wird. Nachdem jegliche unnötige Blockgeräusche, wie im vorhergehenden Abschnitt angegeben, entfernt wurden, sind die verbleibenden Daten nützlich für die Trendanalyse. Wann immer ein abnorm hoch oder niedriges Log-Volumen festgestellt wird, ist es wahrscheinlich notwendig, die Natur des aufgezeichneten Verkehrs zu untersuchen. Das Open-Source-Host-basierte Intrusion Detection System (IDS) OSSEC kann Firewall-Protokolle über Syslog sammeln und Warnungen basierend auf anormalem Protokollvolumen generieren.

  6. Regelmäßige Sicherung: Die pfSense-Software enthält zahlreiche Firewall-Regeln, die Ihren benutzerdefinierten Netzwerkeinstellungen entsprechen. Das regelmäßige Speichern einer Kopie der pfSense-Konfiguration an einem sicheren Ort ist entscheidend. Diese Backups können im Falle eines Softwareausfalls lebensrettend sein.

  7. Eliminierung von Protokollrauschen: Die pfSense-Software meldet Pakete, die durch die Standard-Blockierregel verweigert werden. Dies impliziert, dass jeder gesperrte Internetverkehr protokolliert wird. Manchmal wird es in den Protokollen nicht viel Lärm geben, aber in vielen Situationen wird immer etwas die Protokolle kontinuierlich spammen.

    In Netzwerken mit riesigen Broadcast-Domains, einer Technik, die von Kabel-ISPs weit verbreitet ist, handelt es sich typischerweise um NetBIOS-Broadcasts von ahnungslosen Nutzern, die Windows-Workstations direkt an ihre Breitbandverbindungen anschließen. Diese Computer werden unter anderem kontinuierlich Broadcast-Anfragen für das Surfen im Netzwerk senden. Pakete von ISP-Routing-Protokollen oder Router-Redundanzprotokollen wie VRRP oder HSRP können ebenfalls beobachtet werden. In Co-Location-Umgebungen, wie z.B. Rechenzentren, kann es eine Mischung all dieser Elemente geben.

    Da es wenig Nutzen bringt zu wissen, dass die Firewall in den letzten 24 Stunden 14 Millionen NetBIOS-Broadcasts gestoppt hat, und weil Lärm wichtige Protokolle überdecken könnte, ist es ratsam, eine Blockregel für wiederholte Lärmmuster auf der WAN-Schnittstelle zu implementieren. Durch die Implementierung einer Blockregel ohne Protokollierung auf der WAN-Schnittstelle wird dieser Verkehr weiterhin blockiert, aber die Protokolle werden nicht mehr aufgebläht.

    Die in Abbildung Firewall-Regel zum Deaktivieren von Broadcast-Protokollen gezeigte Regel ist auf einem Testsystem konfiguriert, bei dem das "WAN" hinter einer Edge-Firewall in einem internen LAN liegt. Wir haben diese Regel implementiert, um alle Pakete, die an die Broadcast-Adresse des Subnetzes gerichtet sind, zu blockieren, aber nicht zu protokollieren, um das Protokollrauschen zu beseitigen und uns auf die relevanten Daten zu konzentrieren.

    Firewall-Regeln zur Einschränkung der Protokollierung von Broadcasts auf pfsense

    Abbildung 28. Firewall-Regeln zur Einschränkung der Protokollierung von Broadcasts auf pfsense

    Best Practice ist es, äquivalente Regeln hinzuzufügen, die den Besonderheiten jeglicher erkannten Protokollgeräusche in einer Umgebung entsprechen. Überprüfen Sie die Firewall-Protokolle unter Status > System Logs, Registerkarte Firewall, um die Art des Verkehrs zu bestimmen, den die Firewall blockiert, und die Häufigkeit, mit der er eintrifft. Wenn eine bestimmte Art von Verkehr kontinuierlich mehr als fünfmal pro Minute aufgezeichnet wird und weder bösartig noch signifikant ist, wenden Sie eine Blockregel an, um das Protokollrauschen zu verringern.