Was dieses Modul tut #
Die Firewall ist die Eingangstür des Servers: sie entscheidet, welche Verbindungen hereinkommen und welche abgewiesen werden. Auf diesen Maschinen erledigt diese Aufgabe ufw (die Firewall von Ubuntu), und das Modul firewall gibt dir eine bequeme Steuerung, um sie zu bedienen, ohne dir die ufw-Syntax merken zu müssen.
Damit kannst du den Status der Firewall auf einen Blick sehen (aktiver Zustand, Standardrichtlinie und Regeln), eine IP oder einen Bereich, der dir Ärger macht, manuell blockieren, diese Blockierung aufheben, wenn sie nicht mehr nötig ist, und Ports öffnen oder schließen, wobei die Konfiguration mit dem, was ufw anwendet, synchron bleibt.
Automatische Sperren gegen Eindringversuche (SSH-Brute-Force usw.) übernimmt fail2ban von selbst. Dieses Modul arbeitet mit deinen manuellen Blockierungen: block, unblock und flush berühren nur das, was du von Hand hinzufügst, und stören niemals die Sperren von fail2ban.
Häufige Aufgaben #
Wähle, was du tun möchtest. Jedes Rezept bringt den Befehl schon fertig mit — einfach die IP oder den Port durch deine ersetzen und Kopieren drücken.
1
Den Firewall-Status ansehen
Prüfe, ob sie aktiv ist, ihre Standardrichtlinie und wie viele Regeln sie hat.
Verbinde dich per SSH mit deinem Server und fordere die Übersicht an:
$ sudo imaxe firewall statusBrauchst du es für ein Skript? Füge --json hinzu und du erhältst dieselben Informationen in maschinenlesbarer Form:
$ sudo imaxe firewall status --json2
Eine missbräuchliche IP blockieren
Sperre den Zugriff für eine IP oder einen Bereich, der dich stört.
Blockiere eine bestimmte IP und notiere den Grund, damit du dich später erinnerst:
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso"Möchtest du nur eine vorübergehende Blockierung? Gib ihr mit --ttl eine Dauer und sie hebt sich von selbst auf. Du kannst auch einen ganzen Bereich in CIDR-Notation blockieren:
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso" --ttl 24h
$ sudo imaxe firewall block 203.0.113.0/24 --reason "escaneo"--ttl gesetzt, läuft die Blockierung von selbst ab, wenn die Zeit um ist.3
Sehen, welche IPs ich blockiert habe
Sieh dir die Liste der aktiven manuellen Blockierungen an.
Liste die IPs und Bereiche auf, die du von Hand blockiert hast (denk daran: fail2ban-Sperren erscheinen hier nicht):
$ sudo imaxe firewall blocked4
Eine IP entsperren
Hebe eine manuelle Blockierung auf, die nicht mehr nötig ist.
Hebe genau die IP oder den Bereich auf, den du blockiert hast (so wie er in blocked erscheint):
$ sudo imaxe firewall unblock 203.0.113.105
Einen Port öffnen oder schließen
Lass einen neuen Dienst durch oder schließe einen, den du nicht mehr anbietest.
Öffne einen Port (mit einem Kommentar, damit du weißt, wofür er ist). Mit --from kannst du einschränken, wer hereinkommt:
$ sudo imaxe firewall allow 443/tcp --comment "https"
$ sudo imaxe firewall allow 5432/tcp --from 203.0.113.0/24 --comment "postgres interno"Schließe einen Port, den du nicht mehr nutzt:
$ sudo imaxe firewall deny 8080/tcpfirewall.yml gespiegelt. Prüfe sie mit imaxe firewall rules list.Schließe nicht den Port 22 (SSH), wenn du über SSH verbunden bist: du würdest den Zugriff auf den Server verlieren. Das Modul hält 22/tcp standardmäßig erlaubt, genau um diesen Schreck zu vermeiden. Und denk daran, dass flush alle deine manuellen Blockierungen auf einmal löscht.
Synopsis #
imaxe firewall <subcomando> [<ip>|<puerto>] [flags]Alle Unterbefehle erfordern root-Rechte (nutze sudo), da sie auf ufw wirken und nach /etc/imaxe/ schreiben. Füge --json zu status, blocked oder rules list hinzu, um maschinenlesbare Ausgabe für das Scripting zu erhalten.
Unterbefehle #
| Unterbefehl | Was er tut | Relevante Flags |
|---|---|---|
| status | Firewall-Status: aktiver Zustand, Standardrichtlinie, Anzahl der Regeln und manuellen Blockierungen. | --json |
| blocked | Listet die manuell blockierten IPs/Bereiche auf (enthält nicht die Sperren von fail2ban). | --json |
| block | Blockiert manuell eine IP oder einen Bereich, mit optionalem Grund und Dauer. | --reason, --ttl |
| unblock | Hebt eine manuelle Blockierung auf. Berührt die Sperren von fail2ban nicht. | — |
| flush | Löscht alle manuellen Blockierungen (destruktiv). Berührt die Sperren von fail2ban nicht. | --yes |
| rules list | Listet die Portregeln auf (erlaubte Ports, Quellen). | --json |
| allow | Öffnet einen Port und spiegelt ihn in der Konfiguration. | --from, --comment |
| deny | Schließt einen Port und spiegelt ihn in der Konfiguration. | --from |
| reload | Lädt ufw neu (wendet seine aktiven Regeln erneut an). | — |
rules gruppiert die Verwaltung der Portregeln; vorerst ist ihr einziger Unterbefehl rules list.
Argumente und Flags #
| Argument / Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
| <ip>[/cidr] erf. | string | — | IP oder CIDR-Bereich, auf dem block und unblock operieren (z. B. 203.0.113.10 oder 203.0.113.0/24). |
| <port>[/proto] erf. | string | — | Port, auf dem allow und deny operieren (z. B. 443 oder 443/tcp). |
| --reason | string | — | Bei block: Grund für die Blockierung (informativ). |
| --ttl | duration | permanent | Bei block: Dauer der Blockierung (z. B. 24h). Standardmäßig permanent. |
| --from | cidr | any | Bei allow/deny: beschränkt die Quelle auf ein bestimmtes CIDR. |
| --comment | string | — | Bei allow: beschreibender Kommentar für die Regel. |
| --yes | bool | false | Bei flush: bestätigt ohne Rückfrage (destruktive Operation). |
| --json | bool | false | Bei status/blocked/rules list: gibt das Ergebnis als JSON über stdout aus. |
Dateien und Pfade #
| Pfad | Inhalt |
|---|---|
| /etc/imaxe/firewall.yml | Konfiguration des Moduls: erlaubte Ports, die allow/deny mit ufw synchron halten. |
Beispiel für firewall.yml:
allow:
- { port: 22, proto: tcp, comment: "ssh" }
- { port: 443, proto: tcp, comment: "https" }Exit-Codes und Logs #
Jede Ausführung liefert einen Code, den du mit echo $? prüfen kannst — nützlich zum Verketten in Skripten:
Verfolge Status und Regeln live, während du Fehler suchst:
$ sudo imaxe firewall status
$ sudo imaxe firewall rules listFehlerbehebung #
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Du erhältst NOTFOUND (Code 3) beim Entsperren | Die IP stimmt nicht exakt mit der von dir gesetzten Blockierung überein (z. B. fehlt das /cidr). | Führe imaxe firewall blocked aus und kopiere den Eintrag wortwörtlich für das unblock. |
Ich habe eine IP blockiert, aber sie ist nach unblock weiterhin gesperrt | Die Blockierung wurde von fail2ban gesetzt, nicht von dir. | Dieses Modul hebt nur manuelle Blockierungen auf; automatische Sperren übernimmt fail2ban separat. |
| Ich habe einen Port geöffnet, aber es kommt kein Traffic herein | Die Regel ist in ufw, aber eine externe Firewall (Security Group) ist weiterhin geschlossen. | Prüfe mit imaxe firewall rules list und öffne den Port auch bei deinem Cloud-Anbieter. |
| Ich habe nach dem Ändern von Regeln den SSH-Zugang verloren | Der Port 22 wurde geschlossen oder eingeschränkt. | Greife über die Konsole des Anbieters zu und erlaube 22/tcp erneut mit imaxe firewall allow 22/tcp. |
Steckst du beim Modul Firewall fest?
Schreib uns mit der Ausgabe von «imaxe <module> status --json» und wir antworten dir schnell.