Wer darf durch die Tür?
Eine Firewall entscheidet für jedes Paket, ob es durchgelassen oder verworfen wird. Sie tut das nach einer Liste von Regeln, die von oben nach unten gelesen wird.
Wer die Reihenfolge einer Liste falsch versteht, lässt Fremde herein oder sperrt die eigene Firma aus. Diese Lektion zeigt, wie Sie Regeln sicher lesen.
Am Ende dieser Lektion
Notiz
Ich kann Firewall-Regeln lesen und schreiben und sagen, was mit einem Paket geschieht.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Firewall | ein Filter, der Pakete nach Regeln durchlässt oder verwirft | |
| Regel | eine Zeile mit einer Bedingung und einer Aktion | erlaube tcp 443 |
| Aktion | was mit einem passenden Paket geschieht: erlauben oder verwerfen | |
| Standardregel | die Aktion für alles, worauf keine Regel passt | drop |
| zustandsbehaftet | die Firewall merkt sich Verbindungen und erlaubt deren Antworten |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Regel hat eine Bedingung und eine Aktion
Eine Regel sagt: Wenn ein Paket diese Merkmale hat, dann tue das. Die Merkmale sind zum Beispiel das Protokoll, der Zielport und die Richtung. Die Aktion ist meist erlauben oder verwerfen.
Die Firewall liest die Regeln der Reihe nach. Sie prüft das Paket gegen jede Zeile, bis eine passt.
Ein Beispiel: eine kleine Regelliste
| Nr. | Aktion | Protokoll | Zielport | Gedanke |
|---|---|---|---|---|
| 1 | erlaube | tcp | 443 | Die Kundenseite darf erreichbar sein |
| 2 | verbiete | tcp | 23 | Telnet ist unverschlüsselt |
| 3 | erlaube | tcp | 22 | Wartung per SSH |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Die erste passende Regel entscheidet
Sobald eine Regel passt, hört die Firewall auf zu lesen. Die Zeilen darunter sehen das Paket nie.
Darum zählt die Reihenfolge. Eine breite Regel weit oben kann eine genauere darunter unwirksam machen.
Die erste passende Zeile finden
printf 'verbiete tcp *\nerlaube tcp 22\n' | grep -n -m 1 'tcp'Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Warum Port 22 hier nie erlaubt wird
Der Befehl gibt 1:verbiete tcp * aus. Die erste Zeile passt auf jeden Port, also auch auf 22. Die zweite Zeile wird nie erreicht.
Wer SSH erlauben will, setzt die genauere Zeile erlaube tcp 22 vor die breite Sperre.
Die Standardregel gilt für alles Übrige
Passt keine Regel, entscheidet die Standardregel. Es gibt zwei Haltungen. Bei "alles erlaubt, außer" steht am Ende erlauben. Bei "alles verboten, außer" steht am Ende verwerfen.
Die zweite ist sicherer, weil ein vergessener Dienst zu bleibt, statt offen zu stehen.
Ein Beispiel: dasselbe Paket, zwei Standardregeln
| Paket | Passende Regel | Standard erlaubt | Standard verwirft |
|---|---|---|---|
| tcp 443 | Nr. 1: erlaube | Erlaubt | Erlaubt |
| tcp 23 | Nr. 2: verbiete | Verworfen | Verworfen |
| tcp 3389 | Keine | Erlaubt | Verworfen |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Die Regeln des Gateways lesen
sudo ip netns exec gw nft list rulesetHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Was der Regelsatz des Gateways sagt
Der Befehl druckt eine Tabelle mit einer Forward-Kette. In der Kopfzeile der Kette steht policy drop: Was keine Regel erlaubt, wird verworfen.
Darunter stehen zwei Regeln. Die erste erlaubt Antworten auf bekannte Verbindungen, die zweite lässt alles aus dem LAN hinaus. Die Firewall ist zustandsbehaftet, sie erkennt also Antworten wieder.
Ein häufiger Fehler
Warnung
Viele hängen eine neue Ausnahme ans Ende der Liste. Steht davor eine breite Sperre, wird die Ausnahme nie erreicht. Neue, genauere Regeln gehören vor die breite.
So schreiben Sie eine Regelliste sicher
Gehen Sie in drei Schritten vor. Setzen Sie zuerst die Standardregel auf verwerfen. Erlauben Sie dann genau die Dienste, die gebraucht werden, jeden mit einer eigenen Regel. Prüfen Sie zuletzt von außen, was wirklich ankommt.
Jede Regel bekommt einen Kommentar, warum sie da ist. Sonst weiß in einem Jahr niemand, ob sie fehlen darf.
Ein Beispiel: eine Liste für einen Webserver
| Nr. | Aktion | Protokoll | Zielport | Grund |
|---|---|---|---|---|
| 1 | erlaube | tcp | 443 | Kundenportal |
| 2 | erlaube | tcp | 22 | Wartung, nur vom Büro |
| 3 | verbiete | tcp | * | Alles andere zu |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.