Quoting Peter Soltau <peugeot505@gmx.de>:
Am Don, 29 Dez 2005, schrieb Erhard Schwenk:
Portknocking ist nichts anderes als der Versuch, eine Abfolge von Ports als Schlüssel zu verwenden. Mehr als ein gescheites Passwort ohnehin erreicht, kann man damit prinzipell nicht gewinnen.
Es ist eine zusätzliche Sicherung des Servers!
Die weniger bringt als ein simples Verlängern der Passwort-Policy um drei Zeichen Mindestlänge oder eines Public SSH-Key um 16 Bit.
Allerdings wird dieser "Schlüssel" bei Portknocking ungesichert übertragen (jeder kann den "Schlüssel" mit einem einfachen IP-Sniffer mitlesen), und es wird auf beiden Seiten der Verbindung deutlich komplexere Logik gebraucht als bei einer Passwort- oder Public-Key-Prüfung. Zusätzliche Komplexität bedeutet zwangsläufig zusätzliche Fehlerquellen und damit zusätzliches Risiko. Anstatt umständlich Portknocking aufzusetzen, ist es viel einfacher und aus Sicherheitsgesichtspunkten wirkungsvoller, die verwendeten Passwörter zu verlängern oder die Länge des Public Key.
Was sprich denn deiner Meinung nach dagegen, beides einzusetzen?
Wozu? Ein definiertes Sicherheitslevel erreicht man gut mit ausreichend langen Passwörtern. Jedes beliebige Level, das man mit Knocking erreichen würde, kann durch einfache Schlüsselverlängerung mit weniger Aufwand erreicht werden.
Meiner Meinung nach hast du einen erheblichen Sicherheitsgewinn.
Nein. Er ist marginal und steht in einem miserablen Verhältnis zum Aufwand.
Ausserdem fallen sämtliche ssh-Angriffe flach.
Nein. Sie werden nur geringfügig verzögert. Man braucht nur das Knocking zu belauschen oder die Portkombinationen zu Bruteforcen (ist nicht sehr aufwendig, da die "Schlüssellänge" für das Knocking aus Performancegründen kurz bleiben muß). Zusätzlich erhält man potentielle Angriffe auf den Knocking-Mechanismus,
Schließlich kannst du mit Portknocking den ssh-Port komplett dicht machen und nur nach Bedarf öffnen.
Nein. "Nach Bedarf" bedeutet hier einfach "wenn einer mit der richtigen Port-Kombination kommt". Das unterscheidet sich mathematisch nicht von "wenn einer den richtigen Public Key hat" oder von "wenn einer das richtige Passwort nennt" und bringt daher exakt Null. SSH benutzt solide Authentifizierung und sichert den Port mit harter Kryptographie ab. Ein Angreifer, der daran wirklich vorbei kommt, kann über sowas wie Port-Knocking nur müde grinsen. Ein Angreifer, der daran nicht vorbei kommt, braucht nicht anderweitig aufgehalten zu werden.
Somit wird für die meisten Angreifer dein Rechner eh uninteressant.
Das ja nun schon gleich gar nicht. Warum sollte ein Rechner weniger interessant werden, weil sein eingehendes TCP zum Teil kaputt ist? -- Erhard Schwenk Akkordeonjugend Baden-Württemberg - http://www.akkordeonjugend.de k-itx it-dienstleistungen - http://www.k-itx.net