
Archwiki bietet einen Artikel mit Vorschlägen für eineZustandsbehaftete Iptables-FirewallSie empfehlen einigeRegeln um Portscanner auszutricksen, aber ich weise darauf hin, dass sie eine Schwachstelle für DoS-Angriffe darstellen. Insbesondere durch die Sperrung des Zugriffs auf IPs, die ständig versuchen, auf geschlossene Ports zuzugreifen, könnte ein potenzieller Angreifer diese Pakete mit einer gefälschten IP senden, sodass meine Firewall legitime Benutzer aussperrt.
Die vorgeschlagenen TCP-Regeln lauten wie folgt:
# iptables -I TCP -p tcp -m recent --update --rsource --seconds 60 --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset
# iptables -A INPUT -p tcp -m recent --set --rsource --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset
Meine Frage ist, ob ich die Wirksamkeit des besagten DoS-Angriffs einschränken kann, wenn ich den TTL des Pakets zu den Regeln hinzufüge? LautManpage von iptables:
--rttl:[···] Dadurch wird die Übereinstimmung so eingeschränkt, dass sie nur dann erfolgt, wenn die Adresse in der Liste enthalten ist und die TTL des aktuellen Pakets mit der des Pakets übereinstimmt, das die Regel --set erfüllt hat. Dies kann nützlich sein, wenn Sie Probleme mit Leuten haben, die ihre Quelladresse fälschen, um Sie über dieses Modul zu einem DoS-Angriff zu verleiten, indem sie anderen den Zugriff auf Ihre Site verwehren, indem sie Ihnen gefälschte Pakete senden.
Würde es funktionieren oder übersehe ich etwas?
Antwort1
Es gibt einige Probleme bei der Verwendung der TTL-Option für diesen Zweck. Sie schlagen im Wesentlichen vor, TTL als zusätzliche Identifikationskomponente bei der Identifizierung von Adressen zu verwenden.
Angreifer können jedoch nicht nur IP-Adressen fälschen, um legitime Clients auszusperren, sondern auch die TTL-Werte von Paketen fälschen. Jeder kann Pakete mit beliebigen TTL-Werten generieren und ist nicht darauf beschränkt, mit dem angenommenen Anfangswert zu beginnen.
Darüber hinaus ändert sich mit der Zeit natürlich auch die Anzahl der Hops zwischen Ihnen und dem Angreifer, wenn sich die Netzwerkinfrastruktur ändert. Dadurch wird der praktische Nutzen von TTL als eindeutige Kennung eingeschränkt.
Das letzte Problem bei dieser Technik ist, dass es durchaus möglich ist, dass ein Angreifer zufällig die gleiche Anzahl an Hops zwischen sich und Ihnen hat wie zwischen vielen legitimen Hosts und Ihnen. Daher könnte er wahrscheinlich auch ohne TTL-Spoofing einen DoS-Angriff in gewissem Ausmaß durchführen.
Antwort2
Dies beantwortet Ihre Frage nicht wirklich, da es etwas außerhalb von iptables ist, aber wenn Sie sich vor Port-Scans schützen möchten, ist PSAD eine bessere Option. Sie können es so konfigurieren, dass jede IP blockiert wird, die Port-Scans Ihres Systems durchführt. http://cipherdyne.org/psad/
Dies verwendet iptables, ist aber nicht unbedingt nur eine iptables-Regel