Site icon bintorosoft.com

Host Firewall Design: nftables mit Sets, Logging und Rate Limits

Surreal 3D of a Fox Character Software Developer Standing Next to a Giant Computer Monitor Filled with Lines of Code Holding a Coffee Cup and a Tablet in a Colored Minimalist Background

Ein effektives Host-Firewall-Design ist für die Absicherung von Linux-Servern unerlässlich. Moderne Systeme setzen zunehmend auf nftables als Nachfolger von iptables, da es eine flexiblere Syntax, Sets, State-Tracking und bessere Performance bietet. In diesem Tutorial lernen Sie, wie Sie nftables mit IP-Sets, Logging und Rate-Limits sicher konfigurieren, um Angriffe zu erkennen, zu begrenzen und gleichzeitig legitimen Traffic zu erlauben.

Grundlagen von nftables

nftables arbeitet mit Tables, Chains und Rules. Eine Table ist eine Sammlung von Chains, die wiederum Regeln enthalten, um Traffic zu filtern oder zu manipulieren. Es unterstützt IPv4, IPv6, ARP und Bridge-Traffic.

Struktur einer nftables-Konfiguration

Installation und Basis-Setup

Unter aktuellen Distributionen ist nftables meist vorinstalliert. Ansonsten erfolgt die Installation über den Paketmanager.

# Debian/Ubuntu
apt update && apt install nftables

# RHEL/CentOS
yum install nftables

Firewall aktivieren

systemctl enable nftables
systemctl start nftables
systemctl status nftables

Ein einfaches Filter-Setup

Als Basis empfiehlt sich ein Default-Deny Ansatz, bei dem alle eingehenden Verbindungen abgelehnt werden, außer spezifisch erlaubte Services.

# Basis-Tabelle und Chains anlegen
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 ; policy drop ;}
nft add chain inet filter forward { type filter hook forward priority 0 ; policy drop ;}
nft add chain inet filter output { type filter hook output priority 0 ; policy accept ;}

Typische Allow-Regeln

# SSH erlauben
nft add rule inet filter input tcp dport 22 ct state new,established accept
nft add rule inet filter input tcp sport 22 ct state established accept

HTTP/HTTPS erlauben

nft add rule inet filter input tcp dport {80,443} ct state new,established accept
nft add rule inet filter input tcp sport {80,443} ct state established accept

Lokalen Traffic erlauben

nft add rule inet filter input iif lo accept

Sets nutzen für dynamische Regeln

IP-Sets ermöglichen das Sammeln von mehreren IPs in einer Struktur, die effizient in Regeln referenziert werden können.

# Set für erlaubte Admin-IP-Adressen
nft add set inet filter admin_ips { type ipv4; flags interval; }

# IPs hinzufügen
nft add element inet filter admin_ips { 192.168.1.100, 192.168.1.101 }

# Regel für SSH nur von Admin-IP
nft add rule inet filter input ip saddr @admin_ips tcp dport 22 accept

Logging einrichten

Logs sind entscheidend, um verdächtigen Traffic zu erkennen. nftables unterstützt direktes Logging pro Regel.

# Logging für abgelehnte Pakete
nft add rule inet filter input counter log prefix "DROP: " drop

Logrotation konfigurieren

Um zu verhindern, dass Logs das System füllen, sollten Sie rsyslog oder logrotate verwenden.

# Beispiel logrotate
/var/log/nftables.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

Rate-Limits für Schutz vor Brute-Force

Rate-Limits verhindern Überlastung durch wiederholte Verbindungsversuche, z. B. bei SSH.

# SSH Rate-Limit: max 4 Verbindungen pro Minute pro IP
nft add rule inet filter input tcp dport 22 ct state new limit rate 4/minute accept

Praktische Tipps für Rate-Limits

Persistente Konfiguration und Testing

Änderungen sollten persistent gespeichert und vor dem Go-Live getestet werden.

# Konfiguration speichern
nft list ruleset > /etc/nftables.conf

# Testen
nft -c -f /etc/nftables.conf

# Automatisch beim Booten laden
systemctl enable nftables

Best Practices für Produktionssysteme

Mit einem klar strukturierten nftables-Setup, inklusive Sets, Logging und Rate-Limits, lassen sich Linux-Server effizient absichern. Die Kombination aus Default-Deny-Policy, gezielten Allow-Regeln und dynamischer IP-Verwaltung sorgt für maximale Sicherheit bei minimalem Administrationsaufwand. Regelmäßige Überprüfung und Monitoring garantieren, dass die Firewall auch unter Last und Angriffen zuverlässig arbeitet.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version