Protokoll-Port-Template-Builder
Firewall-Regeln aus CSV-Templates erstellen
Quick Add Common Services
| Name | Protocol | Port | End Port | |
|---|---|---|---|---|
Output Format
Simple Output
tcp/80 tcp/443
Der Protocol/Port Template Builder generiert konsistente Firewall-Regelsyntax aus strukturierter CSV-Eingabe mit Protokollen und Ports. Geben Sie eine CSV wie TCP,443,HTTPS,0.0.0.0/0,192.168.1.20 und ein Vorlagenmuster an und erhalten Sie korrekt formatierte Regeln für iptables, nftables, AWS Security Groups oder jedes beliebige benutzerdefinierte Format.
Firewall-Regelvorlagen verstehen
Die manuelle Erstellung von Firewall-Regeln ist eine der fehleranfälligsten Aufgaben in der Netzwerkadministration. Jede Regel folgt derselben Struktur -- Protokoll, Port, Quelle, Ziel, Aktion -- aber die genaue Syntax unterscheidet sich zwischen jeder Firewall-Plattform. Eine iptables-Regel sieht völlig anders aus als eine nftables-Regel, die wiederum völlig anders aussieht als eine AWS-Security-Group-JSON-Definition. Wenn Sie 20 oder 30 Regeln für eine neue Anwendungsbereitstellung erstellen müssen, führt die manuelle Formatierung jeder einzelnen in der Zielsyntax unweigerlich zu Tippfehlern, die dazu führen, dass Regeln stillschweigend fehlschlagen.
Der Vorlagenansatz löst dies, indem er die Daten (was Sie erlauben möchten) vom Format (wie Ihre Firewall es ausdrückt) trennt. Sie beschreiben Ihre Port-Anforderungen einmal in einer einfachen CSV -- Protokoll, Port, Beschreibung, Quelle, Ziel -- und wenden dann eine Vorlage an, um die Regeln in der benötigten Syntax zu generieren. Wenn Sie später von iptables zu nftables migrieren, schreiben Sie nicht 30 Regeln per Hand um. Sie ändern die Vorlage und generieren neu. Wenn das Sicherheitsteam Ihnen eine Tabelle mit genehmigten Ports übergibt, verwenden Sie sie direkt als Eingabe, anstatt jede Zeile manuell in Firewall-Syntax zu übertragen.
Dies ist besonders in Umgebungen wichtig, in denen Konsistenz entscheidend ist. Wenn mehrere Teammitglieder Firewall-Regeln per Hand schreiben, enden Sie mit inkonsistenter Formatierung, fehlenden Kommentaren, uneinheitlicher Protokoll-Großschreibung und subtilen Syntaxvariationen, die Regeln schwerer zu überprüfen und zu auditieren machen. Eine Vorlage stellt sicher, dass jede Regel exakt demselben Muster folgt, mit Kommentaren, die automatisch aus dem Beschreibungsfeld generiert werden, sodass Ihre Firewall-Konfiguration eine zuverlässige Dokumentationsquelle ist und keine Ad-hoc-Sammlung handgeschriebener Befehle.
So erstellen Sie Firewall-Regeln aus CSV-Vorlagen
- Bereiten Sie Ihre CSV-Daten mit Spalten für Protokoll (TCP, UDP oder beides), Port oder Bereich, Beschreibung und optional Quelle/Ziel vor
- Wählen oder passen Sie eine Regelvorlage für Ihre Ziel-Firewall-Plattform an
- Der Builder wendet Variablensubstitution an, um eine Regel pro CSV-Zeile zu generieren
- Überprüfen Sie die generierten Regeln auf Korrektheit
- Kopieren Sie die Ausgabe und wenden Sie sie auf Ihre Firewall-Konfiguration an
CSV-Eingabeformat
protocol,port,description,source,destination
TCP,22,SSH Management,10.0.0.0/8,192.168.1.10
TCP,80,HTTP Web Traffic,0.0.0.0/0,192.168.1.20
TCP,443,HTTPS Web Traffic,0.0.0.0/0,192.168.1.20
UDP,53,DNS Queries,10.0.0.0/8,192.168.1.5
TCP,3306,MySQL Database,192.168.1.0/24,192.168.1.30
TCP,8080-8085,App Server Ports,10.0.0.0/8,192.168.1.40
Beispiele für Vorlagenausgaben
iptables-Regeln
# SSH Management
iptables -A INPUT -p tcp -s 10.0.0.0/8 -d 192.168.1.10 --dport 22 -j ACCEPT
# HTTP Web Traffic
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 192.168.1.20 --dport 80 -j ACCEPT
# HTTPS Web Traffic
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 192.168.1.20 --dport 443 -j ACCEPT
# DNS Queries
iptables -A INPUT -p udp -s 10.0.0.0/8 -d 192.168.1.5 --dport 53 -j ACCEPT
# MySQL Database
iptables -A INPUT -p tcp -s 192.168.1.0/24 -d 192.168.1.30 --dport 3306 -j ACCEPT
nftables-Regeln
# SSH Management
nft add rule inet filter input ip saddr 10.0.0.0/8 ip daddr 192.168.1.10 tcp dport 22 accept
# HTTP Web Traffic
nft add rule inet filter input ip daddr 192.168.1.20 tcp dport 80 accept
AWS Security Group JSON
{
"IpPermissions": [
{
"IpProtocol": "tcp",
"FromPort": 22,
"ToPort": 22,
"IpRanges": [{"CidrIp": "10.0.0.0/8", "Description": "SSH Management"}]
},
{
"IpProtocol": "tcp",
"FromPort": 443,
"ToPort": 443,
"IpRanges": [{"CidrIp": "0.0.0.0/0", "Description": "HTTPS Web Traffic"}]
}
]
}
Vorlagenvariablen
| Variable | Beschreibung | Beispielwert |
|---|---|---|
{protocol} | Protokoll aus CSV | tcp |
{PROTOCOL} | Protokoll in Großbuchstaben | TCP |
{port} | Portnummer oder -bereich | 443 oder 8080-8085 |
{port_start} | Anfangsport des Bereichs | 8080 |
{port_end} | Endport des Bereichs | 8085 |
{description} | Beschreibung aus CSV | HTTPS Web Traffic |
{source} | Quell-IP/CIDR | 10.0.0.0/8 |
{destination} | Ziel-IP/CIDR | 192.168.1.20 |
Wann sollte man den Template Builder verwenden
- Aufbau initialer Firewall-Konfigurationen aus Anwendungs-Port-Anforderungstabellen
- Standardisierung von Regelformaten über Teammitglieder hinweg zur Sicherstellung konsistenter Syntax
- Generierung von Regeln aus Sicherheitsteam-Tabellen, die genehmigte Ports und Zugriffe dokumentieren
- Migration zwischen Firewall-Plattformen durch erneutes Anwenden der Vorlage auf dieselbe CSV für eine andere Syntax
- Erstellung von Documentation-as-Code, bei der die CSV sowohl als menschenlesbare Dokumentation als auch als Konfigurationsquelle dient
- Massen-Regelgenerierung beim Onboarding neuer Anwendungen, die viele Firewall-Einträge erfordern
Wie die Vorlagenvariablensubstitution funktioniert
Grundlegende Substitution
Der Builder liest jede Zeile der CSV und ersetzt Vorlagenvariablen durch die entsprechenden Spaltenwerte. Eine Vorlage wie:
iptables -A INPUT -p {protocol} --dport {port} -j ACCEPT # {description}
Angewendet auf die Zeile TCP,443,HTTPS Web Traffic erzeugt:
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS Web Traffic
Behandlung von Portbereichen
Für Portbereiche wie 8080-8085 enthält die Variable {port} die vollständige Bereichszeichenkette. Die Variablen {port_start} und {port_end} liefern einzelne Endpunkte für Plattformen, die separate Von/Bis-Port-Parameter erfordern (wie AWS Security Groups).
Protokollerweiterung
Wenn die Protokollspalte both oder TCP/UDP lautet, generiert der Builder zwei Regeln pro Zeile -- eine für TCP und eine für UDP -- und stellt so eine vollständige Protokollabdeckung sicher, ohne manuelle Duplizierung.
Vorlagenerstellung in der Praxis
Der größte Vorteil des Vorlagenansatzes ist nicht die initiale Regelgenerierung -- es ist die laufende Wartung. Wenn Sie einen neuen Dienst zu Ihrer Infrastruktur hinzufügen, fügen Sie eine Zeile zu Ihrer CSV hinzu und generieren die Regeln neu. Wenn Sie auf eine neue Firewall-Plattform migrieren, ändern Sie die Vorlage und generieren neu. Wenn das Sicherheitsteam eine Liste aller offenen Ports verlangt, ist die CSV bereits diese Liste. Die CSV wird zu Ihrer einzigen Quelle der Wahrheit für Firewall-Richtlinien, und die generierten Regeln sind nur eine berechnete Ausgabe.
Für Teams, die Infrastructure-as-Code-Tools wie Terraform oder Ansible verwenden, füllt der Template Builder die Lücke zwischen menschenfreundlicher Port-Dokumentation und maschinenlesbarer Konfiguration. Das Sicherheitsteam pflegt eine Tabelle genehmigter Ports, exportiert sie als CSV, und der Template Builder generiert die Terraform-Variablendefinitionen oder Ansible-Task-Parameter. Dies eliminiert den manuellen Übertragungsschritt, bei dem am häufigsten Fehler eingeführt werden, und hält die Dokumentation des Sicherheitsteams mit der tatsächlichen Konfiguration synchron.
Ein praktischer Tipp: Fügen Sie immer das Beschreibungsfeld in Ihre CSV ein und konfigurieren Sie Ihre Vorlage so, dass es als Kommentar ausgegeben wird. Firewall-Regeln ohne Kommentare sind ein Wartungsalbtraum. In sechs Monaten wird sich niemand mehr erinnern, warum Port 8443 für 10.0.0.0/8 offen ist. Ein Kommentar wie "HTTPS Alternate -- API Gateway for Mobile App" macht den Zweck sofort klar bei Audits und Change-Reviews.
Häufig gestellte Fragen
Kann ich benutzerdefinierte Vorlagen für nicht aufgelistete Plattformen verwenden?
Ja. Das Vorlagensystem ist textbasiert mit einfacher Variablensubstitution. Definieren Sie eine beliebige Vorlagenzeichenkette mit den verfügbaren Variablen, und der Builder wird sie auf Ihre CSV-Daten anwenden. Dies funktioniert für proprietäre Firewalls, benutzerdefinierte Skripte oder jedes textbasierte Konfigurationsformat.
Wie werden Portbereiche in der Vorlage behandelt?
Wenn eine CSV-Zeile einen Bereich wie 8080-8085 spezifiziert, enthält die Variable {port} den Wert 8080-8085 unverändert. Für Plattformen, die separate Anfangs- und Endwerte benötigen (wie AWS FromPort/ToPort), verwenden Sie {port_start} und {port_end}, die zu 8080 bzw. 8085 aufgelöst werden. Bei einzelnen Ports geben beide Variablen denselben Wert zurück.
Validiert der Builder Portnummern und IP-Adressen?
Ja. Jede CSV-Zeile wird vor der Vorlagenanwendung validiert. Ungültige Portnummern (außerhalb von 0-65535), fehlerhafte IP-Adressen und nicht erkannte Protokolle werden mit Fehlern markiert, und die entsprechende Zeile wird in der Ausgabe übersprungen.
Kann ich auch Deny-Regeln zusätzlich zu Allow-Regeln generieren?
Ja. Die Vorlage ist vollständig anpassbar. Für iptables-Deny-Regeln verwenden Sie eine Vorlage wie iptables -A INPUT -p {protocol} --dport {port} -j DROP # {description}. Sie können separate Vorlagen für Allow-Regeln, Deny-Regeln, Logging-Regeln und ratenlimitierte Regeln pflegen und die jeweils passende auf Ihre CSV-Daten anwenden.
Wie behandle ich Dienste, die sowohl TCP als auch UDP benötigen?
Setzen Sie die Protokollspalte in Ihrer CSV-Zeile auf both oder TCP/UDP. Der Builder generiert automatisch zwei separate Regeln -- eine für TCP und eine für UDP -- aus einer einzigen CSV-Zeile. Dies stellt eine vollständige Protokollabdeckung sicher, ohne dass Sie die Zeile manuell duplizieren müssen.
Verwandte Tools
- Port Validator - Portnummern validieren (0-65535)
- Port List Expander - Portbereiche zu einzelnen Ports expandieren
- Port List Compressor - Portlisten in Bereiche komprimieren
- URL Parser - URLs in Schema, Host, Port, Pfad und Query parsen
- iptables Rule Generator - iptables-Regeln aus CSV generieren