Quoting Steffen Dettmer
* Andre Tann wrote on Wed, Dec 28, 2005 at 17:36 +0100:
Steffen Dettmer, Mittwoch, 28. Dezember 2005 16:34:
Gefährlich an "Security by Obscurity" ist, dass es suggeriert, es wäre ein Unterschied - ist's aber nicht.
Man muß natürlich wissen, was man tut, klar.
Ja, genau. Die Idee hier war ja nur, dass der Portwechsel nichts "sicherer" macht. Du hast das ja auch nicht gemacht, damit es sicherer wird, sondern um die Logfiles zu entlasten. Du weisst also, was Du tust.
Logfiles entlasten geht einfacher. Nur die wirklich benötigten Informationen überhaupt loggen, logrotate , Quotas setzen oder Logs in ein eigenes Filesystem packen.
Ein brauchbarer Portscanner bekommt SSH ganz einfach und sicher raus (SSH meldet sich ja entsprechend). Also "indirekt gefährlich". Jetzt, wo Du weniger scans siehst, denkst Du vielleicht, kurze Passwörter reichen ja doch - oder sowas in der Art.
Im Gegenteil - Leute, die meinen sshd auf einem krummen Port finden, sind gefährlicher als die, die es nur bis zum Port 22 schaffen.
Der Zeitgewinn ist bei relevanten Angriffen marginal. Auf die Abwehr ohnehin irrelevanter Angriffe sollte man keine Zeit verschwenden. Angriffe, die an Authentifizierungsmechanismen scheitern, sind irrelevant, denn genau dazu sind Authentifizierungsmechanismen da.
Wieso "Gegenteil", sind IMHO zwei Sachen. Solange Du die Sicherheit nicht vernachlässigst, weil ja "weniger Scans" gemacht werden, ist ja alles in Ordnung. Andere könnten möglicherweise denken: meinen Port findet ja eh keiner, also wozu 8 stellige Passwörter, 4 Zeichen reichen ja auch. Oder sowas. Das wäre dann IMHO ein Beispiel für Gefahren von "Security by Obscurity". Aber wenn Du trotzdem gute Passwörter oder noch besser, gar keine und nur Keys verwendest, ist natürlich alles in Butter.
Man sollte wenn möglich Passwörter _und_ Keys verwenden, denn Private Keys können durchaus abhanden kommen. Wenn das nicht geht (z.B. automatisierter Login), benutzt man entsprechend lange Schlüssel. Wenn das auch nicht geht (z.B. Login von nicht kontrollierbaren Rechnern aus), sollte man sich _sehr_ gut überlegen, ob man üerhaupt noch eine Authentifizierung braucht.
Der Einzige Unterschied hier ist, ob ich den Algorithmus (port + 29978) kenne, oder nicht. Keine Sicherheit, weil solche Geheimnisse selten welche bleiben. Vielleicht liest die Angreiferin mit und korrgiert gerade den auto-rooter :)
Doch, es ist Security by Obscurity.
Ist es, in der Tat.
Wenn ich den Port des sshd nicht kenne, dann muß ich ihn suchen. Das ist soviel wie ein brute force Angriff auf ein Paßwort mit 3-4 Stellen (26^3 = ca. 17.000, 26^4 = ca. 450.000; es gibt ca. 65.000 Ports).
Es gibt viele Möglichkeiten, das rauszukriegen. Der "Brute Force Angriff" ist aber bereits in wenigen Sekunden durchführbar, und es gibt dafür mit Sicherheit auch schon Baukasten-Software zum Zusamenklicken.
Na ja, nicht ganz. Zum einen kann man Scans parallelisieren. Weiterhin könnte man durch traffic-Mitschnitte den SSH-Port "sehen" - "im Klartext", da in so einem Fall ja der Port im TCP Paket übertragen werden würde (was bei Passwörtern von SSH ja nie gemacht wird).
Eben.
Weiterhin sind (langsame, multi-source, ...) Portscans schwieriger zu erkennen, also erfolglose SSH-Authentifizierungsversuche - und es geht mit viel weniger Rechenaufwand (sprich: eine Angreiferin kann vielleicht drei SSH Passwörter brute-forcen, weil sie nur einen P500 am E3 hat, mit der gleichen Ausstattung aber zwanzig oder hundert hosts Portscannen).
Genau.
Ist natürlich recht theoretisch, klar.
Nein. Das ist die Praxis. Bevor man Port Knocking einführt, verlängert man lieber das Passwort um 4 Zeichen, das ist viel weniger Aufwand und erreicht ein höheres Sicherheitsniveau.
Bei zehn Buchstaben suche ich dann eben noch etwas länger, und spätestens bei 30 Buchstaben wirds ungemütlich, aber ich brauche nur zu suchen, irgendwann habe ich auch dieses Paßwort geknackt, und zwar mit Sicherheit.
Bei 1000 Versuchen pro Sekunde sind das: 26^30/1000/60/60/24/356 == 91.461.158.619.588.337.470.694.868.056.074 Jahre. Das Universum ist aber nur 15.000.000.000 Jahre alt und möglicherweise in schon 15.000.000.000.000 Jahren so kalt, dass Du keinen Strom mehr für den PC bekommst :-)
Daher würde ich ein 30-Zeichen-Passwort als "praktisch unerratbar" einstufen.
Du solltest in die Rechnung einbeziehen, daß laut Moores Gesetz die Rechenkapazität (und damit die Anzahl der Versuche pro Sekunde) sich ungefähr jedes Jahr verdoppelt. Außerdem ist die Aufgabe gut parallelisierbar und 1000 Versuche/Sekunde sind schon heute lächerlich.
Aber natürlich hast Du Recht, man könnte ja zufällig "OkWXEJUJ0WT*Dz+EdLgQxihnKb6kCZ" als Passwort haben und als ersten Versuch raten, obwohl es statistisch natürlich 45.730.579.309.794.168.735.347.434.028.037 Jahre dauern würde :)
Das nennt man "kalkuliertes Restrisiko". Der Punkt ist: man kann exakt ausrechnen, wie groß dieses ist. Bei "Security by Obscurity" kann man exakt das nicht.
Ebenso verhält es sich bei Public Key Verfahren. Algorithmus hin, Bekanntheit her: ich brauche nur zu suchen: irgendwann habe ich den Key erraten. Zwar reicht die gesamte verfügbare Energie dafür vermutlich nicht.
Ja, das mit der Universums-Gesammt-Energie ist aber ein ernstes Problem...
Der Punkt ist ein anderer: auch hier ist das Restrisiko berechenbar. Und es ist _sehr_ klein. Das Restrisiko von "Obscurity"-Maßnahmen ist gerade nicht berechenbar. Und muß damit als unendlich groß angenommen werden.
Sicherheit muss nur deutlich teurer als der Wert der zu schützendes Geheimnisses sein.
Du meinst, der erfolgreiche Angriff muß teurer sein als der Schutzwert. Das stimmt nur bedingt. Manchmal muß ein erfolgreicher Angriff teurer sein als der anrichtbare Schaden, was nicht das gleiche ist. Und manchmal hat man es mit Angreifern zu tun (Skriptkiddies sind dafür ein Beispiel), denen der mit dem Angriff erzielbare materielle Gewinn oder Verlust völlig egal ist.
Ist es teurer, eine Bank anzugreifen als sie zu kaufen, wird man sie nicht angreifen (sondern kaufen) :-)
Es sei denn, man begreift das Angreifen von Banken als Sport und tut es nicht wegen des Geldes. -- Erhard Schwenk Akkordeonjugend Baden-Württemberg - http://www.akkordeonjugend.de k-itx it-dienstleistungen - http://www.k-itx.net