Problem:Blocking Verbindung Flut
meine Anwendung Angenommen wird mit Verbindungsversuchen (versuchter DDoS-Angriff) überflutet, und ich will von jetzt an alle Verkehrs- und Verbindungsversuche von einem Endpunkt ignorieren, was der beste Ort wäre, filtern?
Use Case:
In meiner Anwendung ich eine System.Net.TcpListener mit für eingehende Verbindungen zu hören. Mein naives Vorgehen wäre, einfach alle Verbindungen zu akzeptieren, den Endpunkt zu überprüfen und dann möglicherweise die Verbindung sofort zu schließen.
Etwas sagt mir, dass das nicht sehr effizient sein kann. Schon die Erstellung des TcpClients, während ich alleine in meiner Anwendung akzeptiere, verbraucht Ressourcen.
Was kann ich tun, um Verbindungen von einem Endpunkt/ip zuverlässig abzulehnen, während ich dafür unter Windows nur minimale Ressourcen benötige? Was ist mit der gleichen Situation auf Linux-Systemen?
Auf Linux gibt es "iptables", ist das so effizient wie es geht? Und unter Windows könnte man das eingebaute Firewall-System benutzen.
Gibt es andere Möglichkeiten, Verbindungen von einer IP in Software zu blockieren, die möglicherweise noch effizienter ist? Wenn ja, was sind das?
Hardware Firewalls:
Bitte versuchen Sie nicht, Hardware-Firewalls und Filter zu erwähnen. Ich kenne sie und weiß, dass sie für diesen Zweck gemacht wurden, aber diese Frage bezieht sich explizit auf die Software-Seite der Dinge.
Es gibt keine effizienteren Dinge als IPTables oder die integrierte Windows-Firewall, sie arbeiten bei O.S. Level, so ist es die effektivste, die Sie bekommen können. – Gusman