Malware & Rootkit-Scan: rkhunter und ClamAV Anleitung
Schützen Sie Ihren Linux-Server vor Malware und Rootkits. rkhunter und ClamAV Installation, Scan-Konfiguration, Ergebnisinterpretation, geplante Scans und Incident-Response-Anleitung.
NAT-Konzepte, DNAT/SNAT-Regeln, Port-Weiterleitung mit iptables und nftables, Masquerading und Anwendungsfälle: Spielserver, Webserver hinter NAT.
Port-Weiterleitung und NAT (Network Address Translation) sind grundlegende Werkzeuge für die Verwaltung von Netzwerkverkehr. Sie verwenden diese Techniken, um Dienste hinter einem Server nach außen zu öffnen, Spielserver einzurichten oder mehrere Dienste über eine einzige IP zu verwalten.
NAT (Network Address Translation) ist eine Netzwerktechnik, die Quell- oder Zieladressen von IP-Paketen ändert. Es gibt zwei Haupttypen:
# Vorübergehend aktivieren
sudo sysctl -w net.ipv4.ip_forward=1
# Dauerhaft aktivieren
sudo nano /etc/sysctl.conf
# Zeile hinzufügen:
# net.ipv4.ip_forward=1
# Änderungen anwenden
sudo sysctl -p
# Überprüfen
cat /proc/sys/net/ipv4/ip_forward
# Ausgabe: 1
# Externen Port 80 an internen Server weiterleiten
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
# Externen Port 443 an internen Server weiterleiten
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.1.10:443
# An andere Portnummer weiterleiten (extern 8080 → intern 80)
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80
# Weitergeleiteten Verkehr erlauben
sudo iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 80 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 443 -j ACCEPT
# UDP-Port-Weiterleitung für Spielserver
sudo iptables -t nat -A PREROUTING -p udp --dport 27015 -j DNAT --to-destination 192.168.1.30:27015
sudo iptables -A FORWARD -p udp -d 192.168.1.30 --dport 27015 -j ACCEPT
# Masquerade — für dynamische IP
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# SNAT — für statische IP (effizienter)
sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 203.0.113.1
# 1. Bestehende Regeln löschen
sudo iptables -F
sudo iptables -t nat -F
# 2. Standardrichtlinien
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# 3. Loopback und bestehende Verbindungen
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# 4. SSH-Zugriff
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 5. Port-Weiterleitungsregeln
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.1.10:443
sudo iptables -t nat -A PREROUTING -p udp --dport 27015 -j DNAT --to-destination 192.168.1.30:27015
# 6. Forward-Regeln
sudo iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 80 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 443 -j ACCEPT
sudo iptables -A FORWARD -p udp -d 192.168.1.30 --dport 27015 -j ACCEPT
# 7. Masquerade
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 8. Regeln speichern
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain prerouting {
type nat hook prerouting priority -100;
tcp dport 80 dnat to 192.168.1.10:80
tcp dport 443 dnat to 192.168.1.10:443
udp dport 27015 dnat to 192.168.1.30:27015
}
chain postrouting {
type nat hook postrouting priority 100;
oif eth0 masquerade
}
}
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
iif lo accept
ct state established,related accept
tcp dport 22 accept
}
chain forward {
type filter hook forward priority 0; policy drop;
ct state established,related accept
ip daddr 192.168.1.10 tcp dport { 80, 443 } accept
ip daddr 192.168.1.30 udp dport 27015 accept
}
chain output {
type filter hook output priority 0; policy accept;
}
}
# CS2-Server
sudo iptables -t nat -A PREROUTING -p udp --dport 27015 -j DNAT --to-destination 192.168.1.30:27015
sudo iptables -t nat -A PREROUTING -p tcp --dport 27015 -j DNAT --to-destination 192.168.1.30:27015
sudo iptables -A FORWARD -d 192.168.1.30 -p udp --dport 27015 -j ACCEPT
# Minecraft-Server
sudo iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to-destination 192.168.1.31:25565
sudo iptables -A FORWARD -d 192.168.1.31 -p tcp --dport 25565 -j ACCEPT
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.10:443
sudo iptables -A FORWARD -i eth0 -d 192.168.1.10 -p tcp -m multiport --dports 80,443 -j ACCEPT
# NAT-Tabelle anzeigen
sudo iptables -t nat -L -n -v
# Verbindungsverfolgungstabelle anzeigen
sudo conntrack -L
# Verkehr auf bestimmtem Port überwachen
sudo tcpdump -i eth0 port 80
# IP-Weiterleitung prüfen
cat /proc/sys/net/ipv4/ip_forward
Nach dem Hinzufügen von Port-Weiterleitungsregeln vergessen Sie nicht, sowohl PREROUTING (DNAT) als auch FORWARD-Regeln hinzuzufügen. Nur eine DNAT-Regel hinzuzufügen reicht nicht aus — der Verkehr muss auch in der FORWARD-Kette erlaubt sein.
Port-Weiterleitung und NAT sind grundlegende Komponenten der Linux-Netzwerkverwaltung. Durch die korrekte Konfiguration von DNAT-, SNAT- und Masquerade-Regeln mit iptables oder nftables können Sie Spielserver, Webdienste und andere Anwendungen hinter NAT nach außen öffnen.
Prüfen Sie der Reihe nach: 1) Ist IP-Weiterleitung aktiviert? (cat /proc/sys/net/ipv4/ip_forward), 2) Gibt es eine PREROUTING DNAT-Regel? (sudo iptables -t nat -L -n -v), 3) Gibt es eine FORWARD-Regel? (sudo iptables -L FORWARD -n -v), 4) Läuft der Zielserver und hört er auf dem Port?
Masquerade verwendet dynamisch die IP-Adresse der ausgehenden Schnittstelle — ideal für IPs, die sich per DHCP ändern. SNAT gibt eine feste IP-Adresse an und ist effizienter. SNAT wird für Server mit statischen IPs bevorzugt.
Nein, derselbe externe Port kann nur an eine interne Adresse weitergeleitet werden. Verwenden Sie verschiedene externe Ports: z.B. extern 8080 → interner Server 1:80, extern 8081 → interner Server 2:80. Oder verwenden Sie einen Load Balancer.
Ja, iptables-Regeln sind standardmäßig temporär. Machen Sie sie dauerhaft mit 'sudo netfilter-persistent save' oder 'sudo iptables-save > /etc/iptables/rules.v4'. Für nftables verwenden Sie die Datei /etc/nftables.conf.
Nein, PREROUTING-Regeln gelten nicht für die Loopback-Schnittstelle. Um über localhost auf einen weitergeleiteten Port zuzugreifen, fügen Sie eine DNAT-Regel in der OUTPUT-Kette hinzu.
Schützen Sie Ihren Linux-Server vor Malware und Rootkits. rkhunter und ClamAV Installation, Scan-Konfiguration, Ergebnisinterpretation, geplante Scans und Incident-Response-Anleitung.
Schützen Sie Ihren Server vor SSH-Brute-Force-Angriffen mit Fail2Ban. Installation, jail.local-Konfiguration, Nginx/Apache-Jails, IP-Whitelist, Ban-Überwachung und E-Mail-Benachrichtigungen.
WireGuard VPN-Server einrichten: Schlüsselgenerierung, Server- und Client-Konfiguration, IP-Weiterleitung, Firewall-Regeln und Windows/Linux/Android-Client-Setup.