Hallo,
ich möchte gerne Grundlegende iptables einrichten. Es soll so sein, dass alles was raus geht erlaubt ist, nur was von draußen reingeht geblockt wird. Dazu sollen dann Logs erstellt werden.
Also ich habe mal so begonnen:
1 2 3 4 5 6 | # Logging aktivieren /sbin/iptables -N LOGGING /sbin/iptables -A INPUT -j LOGGING /sbin/iptables -A OUTPUT -j LOGGING /sbin/iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 /sbin/iptables -A LOGGING -j DROP |
Jetzt würde ich gerne das noch der Dienst enthalten ist der die Anfrage gestellt hat, ist das möglich?
Danach lösche ich alle alten Regeln:
1 2 3 4 5 6 7 | # alte Konfiguration löschen /sbin/iptables --flush /sbin/iptables --delete-chain /sbin/iptables -t mangle --flush /sbin/iptables -t mangle --delete-chain /sbin/iptables -t nat --flush /sbin/iptables -t nat --delete-chain |
Deaktiviere forwarding
1 | echo 0 > /proc/sys/net/ipv4/ip_forward |
Dann erlaube ich alles ausgehende und blockiere alles eingehende
1 2 3 | /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT ACCEPT |
Und jetzt erlaube ich noch das ausgehende Verbindung dann auch eingehende bekommen können:
1 | /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT |
Fertig sieht es also so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/bin/sh set -e # alte Konfiguration löschen /sbin/iptables --flush /sbin/iptables --delete-chain /sbin/iptables -t mangle --flush /sbin/iptables -t mangle --delete-chain /sbin/iptables -t nat --flush /sbin/iptables -t nat --delete-chain # forwarding deaktivieren echo 0 > /proc/sys/net/ipv4/ip_forward # Default-Policies setzen /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT ACCEPT # loopback freischalten /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT # Antworten auf bestehende Verbindungen erlauben /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Logging aktivieren /sbin/iptables -N LOGGING /sbin/iptables -A INPUT -j LOGGING /sbin/iptables -A OUTPUT -j LOGGING /sbin/iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 /sbin/iptables -A LOGGING -j DROP |
Die meisten Teile sind hier von:
https://www.privacy-handbuch.de/handbuch_92.htm
Meine Frage ist, wie kann ich mir im Drop Loging anzeigen lassen, welcher Dienst diese Verbindung aufbauen wollte? Und das Hauptproblem, wenn ich dieses Script anwende habe ich gar keine Verbindung mehr nach draußen, weder mit dem Firefox noch ein Ping. Was läuft hier falsch?