Das Sperren aller Ports (rein und raus) ist einfach, aber mit dem Wort "except" ist es schwierig. Ich kenne keine Regeln, die die Bedingung erfüllen.
PS: Ich weiß, dass diese Frage nichts Neues ist. Tatsächlich habe ich aber keine Hilfe gefunden. Also, hilf mir bitte!
Antworten:
Zuerst die ! ist das NICHT-Symbol.
Zweitens haben die Regeln, die Sie geschrieben haben, möglicherweise nicht die erwarteten Ergebnisse. Sie löschen alles, einschließlich der Antwort auf die Verbindung an Port 80. Daher können Sie für die Zwecke eines Webservers keine Verbindung zu diesem Port herstellen.
Diese Regeln ermöglichen RELATED- und ESTABLISHED-Verbindungen, sodass ein Webserver funktionieren sollte, wenn Sie dies tatsächlich versuchen.
quelle
!
so entkommen werden\!
, wenn die Bash-Shell verwendet wird?!
muss nicht entkommen werden. Entschuldigung für den Fehlalarm.Dies sollte Ihnen geben, was Sie brauchen
quelle
Sie können die Standardaktion auf DROP setzen und dann Ausnahmeregeln erstellen, um 80 und 443 zuzulassen.
iptables durchsucht die Liste der Ausnahmen, bis eine Übereinstimmung gefunden wird. Es führt dann die durch den
-j
Parameter angegebene Aktion aus (in diesem Fall ACCEPT). Wenn keine Übereinstimmung gefunden wird, wird auf die Standardrichtlinie zurückgegriffen und das Paket verworfen.Beachten Sie, dass mit dieser Problemumgehung alle Unterdomänen gesperrt werden. Beispiel: Mit dieser Methode funktioniert sie auf www.mydomain.com, aber Ihre Subdomain wird nicht für DNS-Fehler geöffnet.
quelle
iptables -nvL
?ssh
.