Nachdem ich zuerst geglaubt habe, dass Wanne's Vorschlag perfekt läuft, habe ich nun bei genauerem Hinsehen festgestellt, dass es leider doch nicht mit meinen Anpassungen läuft. Aber irgendwie ist mir das Verhalten nicht verständlich und nicht nachvollziehbar. Vielleicht kann mir das jemand erklären.
Primär gehts um diesen am Anfang meiner Regeln stehenden Block, welcher letztendlich zur Folge hat, dass das System völlig "abgeschlossen" ist:
Code: Alles auswählen
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
Wenn ich die Man-Page richtig verstanden habe, werden die vorhandenen Regeln nacheinander in der Reihenfolge ihres "Setzens" abgearbeitet und sofern am Ende keine explizite Regel gematch't wurde, greifen die mit -P gesetzen Standard- oder Default-Regeln. Und jetzt kommt das, was ich nicht nachvollziehen kann:
Wenn ich diesen Block ans Ende setze, also HINTER meine ACCEPTS, dann funktionert es korrekt. Und weil diese faktische Feststellung im Widerspruch zu Wannes Vorschlag steht, denke ich mir... lieber mal nachfragen.
Ich teste meine Regeln mit folgenden Befehlen:
Code: Alles auswählen
echo quit | timeout 3 openssl s_client -connect smtp.strato.de:587 -starttls smtp | grep depth;\
echo quit | timeout 3 openssl s_client -connect smtp.gmail.com:587 -starttls smtp | grep depth;\
echo quit | timeout 3 openssl s_client -connect mail.gmx.net:587 -starttls smtp | grep depth
wget -c http://212.117.163.148/jd.sh;\
wget -c "http://download.osmand.net/download.php?standard=yes&file=Germany_bremen_europe_2.obf.zip"
echo -e "Subject: Test Mail\r\n\r\nTest-Mail vom: $(date)" | msmtp --debug -t toml@xxx.de --file=/home/thomas/.msmtprc --account=tls --timeout=5
echo -e "Subject: Test Mail\r\n\r\nTest-Mail vom: $(date)" | msmtp --debug -t toml@xxx.de --file=/home/thomas/.msmtprc --account=gmx --timeout=5
Ist das wirkich so richtig, dass auch die Position der -P Regeln von Bedeutung sind? Auf meinem Test-Raspberry PI ist das anscheinend so. Es wird tatsächlich unterschiedlich behandelt, wenn dieser Block am Anfang oder am Ende steht, obwohl beide Ausgaben mit -L -nv absolut identisch sind. Aber wenn das so ist, wofür benötigt man denn dann überhaupt dieses Paket mit den P-Regeln...?... weil diese folgende Alternative am Ende meiner ACCEPT-Regeln das gleiche macht. Aber hier als reguläre Regel, die nachvollziehbar genau an der Stelle match't, wo sie positioniert ist:
Code: Alles auswählen
/sbin/iptables -A INPUT -j REJECT --reject-with icmp-net-unreachable
/sbin/iptables -A OUTPUT -j REJECT --reject-with icmp-net-unreachable
/sbin/iptables -A FORWARD -j REJECT --reject-with icmp-net-unreachable
Was ist das richtige Verhalten der iptables und was kann man beim Formulieren seiner eigenen Regeln als gegeben voraussetzen? Ich sag schon mal Danke für ein bisschen Unterstützung.