Moin,
Mir leuchtet noch nicht alles ein. Der Angreifer ist im Szenario erfolg- reich, wenn er die Verfügbarkeit eines Servers durch verhältnismäßig große Auslastung merkbar reduzieren kann. Welche Idee steckt dann hinter dem »Portknocking«?
Der Server kann nur in die Knie gezwungen werden wenn durch die Zugriffe Resourcen auf ihm alloziiert werden, also wenn er z.B. eine Verbindung entgegennimmt und dafür Sockets erzeugt o.ä.
Beim Portknocking weiß der Angreifer normalerweise nix davon das man erst auf eine bestimmte Anfragesequenze eine Verbindung öffnen kann, deswegen wird es ihm auch nicht gelingen eine Verbindung aufzubauen. 90% der Anfragen werden also mit einem (für den Server billigen) TCP Reject abgewehrt.
Ohne jetzt nochmal nachgeschlagen zu haben: die minimale Paketgröße liegt für TCP/IP doch bei 40 Byte oder so. Macht also bei einem 100 Mbit/s-System 1e8/40 = 2.5e6 Packete. Die Pakete werden in jedem Fall erstmal in ienen Empfangspuffer kopiert, dann werden die Firewallregeln ausgewertet. Sind wir mal hoffnungslos optimistisch: das würde pro Paket 100 Takte benötigen. Das wären dann 2.5e8 Takte. Meine Kiste wäre damit ausgelastet. Und wenn die Maschine nicht hinterherkommt muss sie Pakete droppen, ohne dass sie sich diese anshen kann, also auch "legale". Gibt es da besondere Anti-DoS-Optimierungn im Kernel, die sowas verhindern?
Neben dem eigentlichen Server-DoS: Wie sieht es mit der LAN-Verbindung aus? Wenn die 100 Mbit ausgelastet sind sieht es mit Bandbreite fär meinen portfreigeknockten Dienst auch nicht mehr gut aus.
mfg, Fabian