Aliase
Aliase sind benannte Listen von Netzwerken, Hosts oder Ports, die als eine Einheit verwendet werden können, indem der Alias-Name in den verschiedenen unterstützten Abschnitten der Firewall ausgewählt wird. Diese Aliase sind besonders nützlich, um Firewall-Regeln zu kondensieren und Änderungen zu minimieren.
Aliase können über Firewall ‣ Aliase hinzugefügt, geändert und entfernt werden.
Alias-Typen
Der Schulrouter Plus bietet die folgenden Alias-Typen:
Typ | Beschreibung |
---|---|
Hosts | Einzelne Hosts nach IP oder Fully Qualified Domain Name oder Hostausschlüsse (beginnt mit „!“ Zeichen) |
Netzwerke | Ganzes Netzwerk z. B. 192.168.1.1/24 oder Netzwerkausschluss z. B. !192.168.1.0/24 |
Ports | Portnummern oder ein Portbereich wie 20:30 |
MAC-Adressen | MAC-Adresse oder Teil-MAC-Adressen wie |
URL (IPs) | Eine Tabelle mit IP-Adressen, die einmalig abgeholt werden |
URL-Tabellen (IPs) | Eine Tabelle mit IP-Adressen, die in regelmäßigen Abständen abgeholt werden. |
GeoIP | Länder oder ganze Regionen auswählen |
Netzwerkgruppe | Verschiedene Netzwerktyp-Aliase zu einem zusammenfassen |
Extern (erweitert) | Extern verwalteter Alias, dieser behandelt nur den Platzhalter. Inhalt wird von einer anderen Quelle (Plugin, Api-Aufruf, etc.) gesetzt |
Hosts
Hosts können als einzelne IP-Adresse oder als voll qualifizierter Domänenname eingegeben werden. Wenn Sie einen voll qualifizierten Domänennamen verwenden, wird der Name in regelmäßigen Abständen aufgelöst (Standard ist alle 300 Sekunden).
- Beispiel
Nehmen wir an, wir möchten eine Alias-Tabelle für www.youtube.com erstellen.
Änderungen übernehmen und schauen Sie sich den Inhalt unserer neu erstellten pf-Tabelle an.
Gehen Sie zu Firewall ‣ Diagnose ‣ pfTables und wählen Sie unsere neu erstellte youtube-Tabelle aus.
Wie Sie sehen können, gibt es mehrere IP-Adressen für diese Domain.
Um das Intervall für die Auflösung der Alias-Domäne zu ändern, gehen Sie zu Firewall ‣ Einstellungen ‣ Erweitert und stellen Sie Aliases Resolve Interval auf die Anzahl der Sekunden ein, die aktualisiert werden sollen.
Aliase vom Typ „Hosts“ können Ausschluss-Hosts enthalten. Ausschlussadressen beginnen mit dem Zeichen „!“ (z. B. !192.168.0.1) und können verwendet werden, um Hosts von Netzwerkgruppen-Aliasen auszuschließen.
Bitte beachten Sie, dass die Aktion Flush nicht persistent ist!
„flush „ bedeutet, dass der aktuelle Inhalt des Alias geleert wird, der neu aufgefüllt wird, wenn es sich nicht um einen externen Typ handelt, so dass „flush“ in den meisten Fällen nicht sehr nützlich ist.
Netzwerke
Netzwerke werden im Classless Inter-Domain Routing-Format (CIDR) angegeben. Verwenden Sie für jeden Eintrag die richtige CIDR-Maske. Zum Beispiel gibt ein /32 einen einzelnen IPv4-Host oder /128 einen einzelnen IPv6-Host an, während /24 255.255.255.0 und /64 ein normales IPv6-Netzwerk angibt. Netzwerktyp Aliase können Ausschluss-Hosts oder -Netzwerke enthalten. Ausschlussadressen beginnen mit dem Zeichen „!“ (z. B. !192.168.0.0/24) und können verwendet werden, um Hosts oder Netzwerke vom aktuellen Alias oder Netzwerkgruppen-Alias auszuschließen
Ports
Ports können als einzelne Zahl oder als Bereich mit einem Doppelpunkt : angegeben werden. Um z. B. einen Bereich von 20 bis 25 hinzuzufügen, würde man 20:25 in den Abschnitt Port(s) eingeben.
MAC-Adressen
Hardware-Mac-Adressen können als (teilweiser) Hex-Wert angegeben werden, z. B. F4:90:00
, um mit allen Adressen eines bestimmten Herstellers übereinzustimmen, oder f4:90:00:00:00:01
, um mit einem einzelnen Element übereinzustimmen (bei der Eingabe wird die Groß-/Kleinschreibung nicht berücksichtigt).
Die Funktionsweise dieser Aliase ist in etwa die gleiche wie die von Hostnamen in Host-Typ-Aliasen, sie werden in regelmäßigen Abständen aus den Tabellen arp
und ndp
aufgelöst.
Bitte beachten Sie, dass Hardware-Adressen gefälscht werden können (https://en.wikipedia.org/wiki/MAC_spoofing), was Filter auf ihnen in keiner Weise sicherer macht als IP-Adressen.
Da die Zuordnungen zwischen Adressen und Mac-Adressen periodisch aufgelöst werden, kann die tatsächliche Situation abweichen, Sie können immer Firewall ‣ Diagnose ‣ pfTables um den aktuellen Inhalt des Alias zu überprüfen.
URL-Tabellen
URL-Tabellen können verwendet werden, um eine Liste von IP-Adressen von einem entfernten Server abzurufen. Es gibt mehrere kostenlose IP-Listen, vor allem die „Don’t Route Or Peer“-Listen von Spamhaus.
GeoIP
Mit dem GeoIP-Alias können Sie ein oder mehrere Länder oder ganze Kontinente zum Sperren oder Zulassen auswählen. Verwenden Sie das Kontrollkästchen Alle umschalten, um alle Länder innerhalb der angegebenen Region auszuwählen.
Um GeoIP zu verwenden, müssen Sie eine Quelle auf der Registerkarte Firewall ‣ Aliase ‣ GeoIP-Einstellungen konfigurieren. Die am häufigsten verwendete Quelle ist MaxMind, für die wir eine Anleitung zur Verfügung stellen: MaxMind GeoIP’s Setup
Die konfigurierte Url sollte auf eine Zip-Datei verweisen, die die folgenden csv-Dateien enthält:
Titel
Dateiname | Zweck | Format | Beispiel |
---|---|---|---|
%prefix%-standorte-de.csv | kartiert Geostandorte zu Iso-Ländern | geoname_id,,,,country_iso_code | 1,,,,NL |
%prefix%-IPv4.csv | IPv4-Netzwerke | netzwerk,geoname_id | 2.21.241.0/28,1 |
%prefix%-IPv6.csv | IPv6-Netzwerke | netzwerk,geoname_id | 2001:470:1f15:210::/64,1 |
Die %prefix%
kann zur Identifizierung des Produkts und/oder des Herstellers verwendet werden, im Fall von MaxMind heißen diese Dateien z. B. GeoLite2-Country-Locations-en.csv
, GeoLite2-Country-Blocks-IPv4.csv
, GeoLite2-Country-Blocks-IPv6.csv
.
Geo IP-Listen können recht groß sein, insbesondere bei Verwendung von IPv6. Versuchen Sie beim Erstellen von Regeln immer, die Anzahl der benötigten Adressen in Ihrer Auswahl zu minimieren. Eine Auswahl aller Länder der Welt, die nicht die Niederlande sind, kann z. B. in der Regel in nur Adressen aus den Niederlanden umgeschrieben werden.
Wenn die Anzahl der Elemente größer ist als die zugewiesene Aliasgröße, können Sie den Aliasen mehr Speicher zuweisen. Firewall ‣ Einstellungen ‣ Advanced : Firewall Maximum Table Entries
Netzwerkgruppe
Kombiniert verschiedene Netzwerktyp-Aliase zu einem, dieser Typ von Alias akzeptiert andere Host-Typ-Aliase (Netzwerke, Hosts, …). Obwohl eine Verschachtelung auch mit anderen Alias-Typen möglich ist, zeigt dieser Typ nur gültige Aliase an, was die Verwaltung erleichtert. Funktionell kann ein Alias vom Typ Networks
dasselbe tun, verwendet aber eine andere Darstellung.
Extern
Die Inhalte für externe Alias-Typen werden nicht über unseren normalen Alias-Dienst verwaltet und können in Szenarien praktisch sein, in denen Sie neue Einträge von externen Programmen pushen wollen. Wie z. B. spezielle Sperrfunktionen oder externe Tools, die Ihre Firewall mit Zugriffskontrolle versorgen.
Unter Firewall ‣ Diagnose ‣ pfTables können Sie jederzeit den aktuellen Inhalt des externen Alias einsehen und sofort Einträge hinzufügen oder entfernen.
Wenn Sie Alias-Inhalte ändern, die auf Firewall-Regeln mit aktivierter Statusverfolgung verwendet werden, müssen Sie möglicherweise den spezifischen Status entfernen, bevor die neue Regel aktiv wird. (siehe Firewall ‣ Diagnose ‣ Status-Dump )
Da externe Alias-Typen vom Schulrouter Plus nicht berührt werden, können Sie pfctl
direkt in Skripten verwenden, um deren Inhalt zu verwalten. (z. B. pfctl -t MyAlias -T add 10.0.0.3
, um 10.0.0.3 zu MeinAlias hinzuzufügen)
Verwendung von Aliasen in pf-Firewall-Regeln
Aliase können in Firewall-Regeln verwendet werden, um die Verwaltung von großen Listen zu erleichtern. Wir brauchen z. B. eine Liste mit entfernten IP-Adressen, die Zugriff auf bestimmte Dienste haben sollen, und wenn sich etwas ändert, brauchen wir die Liste nur zu aktualisieren.
Lassen Sie uns einen einfachen Alias erstellen, um 3 entfernten IP-Adressen den Zugriff auf einen ipsec-Server für eine Site-to-Site-Tunnelverbindung zu ermöglichen:
192.168.100.1
192.168.200.2
192.168.202.2
Wir nennen unsere Liste remote_ipsec und aktualisieren unsere Firewall-Regeln entsprechend.
Das Listensymbol kennzeichnet eine Regel mit einem Alias.
Exportieren / Importieren
Die Alias-Administrationsseite (Firewall ‣ Aliase) enthält eine Download- und eine Upload-Schaltfläche in der Fußzeile der Tabelle. Mit dieser Funktion können Sie Aliase in die Konfiguration einbinden und eine auf json
formatierte Liste aller Aliase im System herunterladen.
Da die Daten vor dem Einfügen validiert werden, sollte es nicht möglich sein, fehlerhafte Daten zu importieren (wenn der Import fehlschlägt, wird eine Liste mit Fehlern angezeigt).
Bei der Durchführung von Migrationen ist es manchmal einfacher, mehrere Elemente auf einmal in einem Texteditor zu ändern. Diese Funktion kann leicht verwendet werden, um dies zu erleichtern, wobei das Risiko einer fehlerhaften Konfiguration begrenzt wird (da Elemente genauso validiert werden, wie es bei der Eingabe einzelner Elemente der Fall wäre).
Neue Einträge über unsere API hinzufügen
Die Endpunkte aus dem alias_util können einfach verwendet werden, um neue Einträge in einen Alias zu schieben (oder bestehende zu entfernen). Bei einem externen Alias sind diese Einträge nicht über Neustarts hinweg beständig, was in einigen Anwendungsfällen (z. B. bei großen, sich häufig ändernden Listen) praktisch sein kann.
Nachfolgend sehen Sie, wie Sie 10.0.0.2 zu einem Alias namens MyAlias über eine unsichere Verbindung (selbstsigniertes Cert) auf dem Host schule.local mit curl
hinzufügen. Die Option verbose liefert weitere Details über die zwischen den beiden Rechnern ausgetauschten Daten.
curl \
--header "Content-Type: application/json" \
--basic \
--user "key:secret" \
--request POST \
--insecure \
--verbose \
--data '{"address":"10.0.0.2"}' \
https://schule.local/api/firewall/alias_util/add/MyAlias
Das Hinzufügen von Aliasen über /api/firewall/alias_util/add/
wird nur für Aliasen vom Typ Host, Netzwerk und Extern unterstützt
Ausschlüsse
Pf-Firewall-Tabellen unterstützen Ausnahmen (oder Ausschlüsse) von Adressen. Diese Funktion kann in einem Alias oder in kombinierten (Netzwerkgruppentyp) Aliasen verwendet werden. Siehe (https://www.freebsd.org/doc/handbook/firewalls-pf.html 30.3.2.4).
Verschachtelung
Für Host- und Netzwerk-Alias-Typen ist eine Verschachtelung möglich, was die Verwaltung sehr vereinfachen kann, da einzelne Elemente richtig benannt und zur Verwaltung in Abschnitte gruppiert werden können.
Wir definieren zum Beispiel 4 Server unter 2 kritischen mit unterschiedlichen Regelsätzen:
server_a {10.0.1.1}
server_b {10.0.1.2}
server_c {10.0.1.100}
server_d {10.0.1.200}
critical_servers {server_a , server_b}
andere_server {server_c , server_d}
Server { kritische_Server , andere_Server}.
Der Alias servers
wird nach der Konfiguration alle 4 Adressen enthalten.
Es besteht auch die Möglichkeit, verschiedene Aliase mit Aliasen zu kombinieren, die aus Ausschlüssen bestehen. Zum Beispiel gibt es den Alias „FireHOL“, der eine umfangreiche externe Drop-Liste verwendet, und zwei Aliase, die Subnetz- und Hosts-Ausschlüsse enthalten. Es ist möglich, einen (kombinierten) Netzwerkgruppen-Alias zu erstellen („FireHOL_mit_Ausschlüssen“):
FireHOL {https://raw.githubusercontent.com/firehol/blocklist-ipsets/master/firehol_level1.netset}
subnets_exclusions {!127.0.0.0/8, !0.0.0.0/8}
hosts_exclusions {!8.8.8.8}
FireHOL_mit_Ausschlüssen {FireHOL, subnets_exclusions, hosts_exclusions}
FireHOL_with_exclusions
Alias enthält alle Datensätze aus FireHOL Alias mit Ausnahme von Adressen aus Ausschluss-Alias.
Es ist immer gut, zu prüfen, ob eine Adresse im Alias enthalten ist über Firewall ‣ Diagnose ‣ pfTable
Spamhaus
Die Spamhaus Don’t Route Or Peer Lists DROP (Don’t Route Or Peer) und EDROP sind beratende „Drop All Traffic“-Listen, die aus Netzblöcken bestehen, die von professionellen Spam- oder Cyber-Kriminalitätsoperationen „gekapert“ oder angemietet werden (zur Verbreitung von Malware, Trojaner-Downloadern, Botnet-Controllern). Die DROP- und EDROP-Listen sind eine winzige Teilmenge der SBL, die für die Verwendung durch Firewalls und Routing-Geräte gedacht sind, um den bösartigen Verkehr aus diesen Netzblöcken herauszufiltern.
Quelle : https://www.spamhaus.org/drop/
- Downloads
Um die DROP- und EDROP-Listen in Kombination mit den Firewall-Regeln einzurichten, lesen Sie: Spamhaus (E)DROP konfigurieren