Warum root über SSH ist schlecht
Es gibt viele Bots, die versuchen, sich über SSH bei Ihrem Computer anzumelden. Diese Bots funktionieren folgendermaßen.
Sie führen so etwas aus ssh root@$IP
und probieren dann Standard-Passwörter wie "root" oder "password123" aus. Sie tun dies so lange sie können, bis sie das richtige Passwort gefunden haben. Auf einem weltweit zugänglichen Server können Sie viele Protokolleinträge in Ihren Protokolldateien sehen. Ich kann bis zu 20 pro Minute oder mehr gehen.
Wenn die Angreifer Glück (oder genügend Zeit) haben und ein Passwort finden, haben sie root-Zugriff und das würde bedeuten, dass Sie in Schwierigkeiten sind.
Wenn Sie jedoch nicht zulassen, dass sich root über SSH anmeldet, muss der Bot zuerst einen Benutzernamen und dann das entsprechende Passwort erraten. Nehmen wir also an, die Liste der plausiblen Passwörter enthält N
Einträge und die Liste der plausiblen Benutzer enthält M
große Einträge. Der Bot muss eine Reihe von N*M
Einträgen testen, daher ist es für den Bot etwas schwieriger als für den Root-Fall, bei dem es sich nur um eine Reihe von Größen handelt N
.
Einige Leute werden sagen, dass dies M
kein wirklicher Sicherheitsgewinn ist, und ich stimme zu, dass es sich nur um eine kleine Sicherheitsverbesserung handelt. Aber ich stelle mir das eher als diese kleinen Vorhängeschlösser vor, die an sich nicht sicher sind, aber viele Menschen am einfachen Zugang hindern. Dies gilt natürlich nur, wenn Ihr Computer keine anderen Standardbenutzernamen wie tor oder apache hat.
Der bessere Grund, Root nicht zuzulassen, ist, dass Root viel mehr Schaden auf dem Computer anrichten kann als ein Standardbenutzer. Wenn sie also durch Pech Ihr Passwort finden, ist das gesamte System verloren, während Sie mit einem Standardbenutzerkonto nur die Dateien dieses Benutzers manipulieren können (was immer noch sehr schlecht ist).
In den Kommentaren wurde erwähnt, dass ein normaler Benutzer das Recht zur Nutzung haben könnte, sudo
und wenn das Passwort dieses Benutzers erraten würde, wäre das System ebenfalls vollständig verloren.
Zusammenfassend würde ich sagen, dass es egal ist, welches Benutzerpasswort ein Angreifer erhält. Wenn sie ein Passwort erraten, können Sie dem System nicht mehr vertrauen. Ein Angreifer kann die Rechte dieses Benutzers zum Ausführen von Befehlen verwenden sudo
. Der Angreifer kann auch eine Schwachstelle in Ihrem System ausnutzen und Root-Rechte erlangen. Wenn ein Angreifer Zugriff auf Ihr System hatte, können Sie ihm nicht mehr vertrauen.
Hierbei ist zu beachten, dass jeder Benutzer in Ihrem System, der sich über SSH anmelden darf, eine zusätzliche Schwachstelle darstellt. Indem Sie root deaktivieren, beseitigen Sie eine offensichtliche Schwäche.
Warum Passwörter über SSH schlecht sind
Der Grund zum Deaktivieren von Passwörtern ist sehr einfach.
- Benutzer wählen falsche Passwörter!
Die ganze Idee, Passwörter auszuprobieren, funktioniert nur, wenn die Passwörter erraten werden können. Wenn also ein Benutzer das Passwort "pw123" hat, wird Ihr System unsicher. Ein weiteres Problem bei von Menschen gewählten Passwörtern ist, dass ihre Passwörter niemals wirklich zufällig sind, da dies dann schwer zu merken wäre.
Es ist auch der Fall, dass Benutzer dazu neigen, ihre Passwörter erneut zu verwenden, um sich bei Facebook oder ihren Google Mail-Konten und auf Ihrem Server anzumelden. Wenn ein Hacker das Facebook-Passwort dieses Benutzers erhält, kann er auf Ihren Server gelangen. Der Benutzer könnte es leicht durch Phishing verlieren oder der Facebook-Server könnte gehackt werden.
Wenn Sie sich jedoch mit einem Zertifikat anmelden, wählt der Benutzer sein Kennwort nicht aus. Das Zertifikat basiert auf einer zufälligen Zeichenfolge, die von 1024 Bit bis zu 4096 Bit (~ 128 - 512 Zeichen Kennwort) sehr lang ist. Darüber hinaus dient dieses Zertifikat nur zur Anmeldung bei Ihrem Server und wird nicht mit externen Diensten verwendet.
Links
http://bsdly.blogspot.de/2013/10/the-hail-mary-cloud-and-lessons-learned.html
Dieser Artikel stammt aus den Kommentaren und ich wollte ihm eine etwas wichtigere Position geben, da er sich etwas eingehender mit Botnetzen befasst, die versuchen, sich über SSH anzumelden, wie sie es tun, wie die Protokolldateien aussehen und was kann man tun, um sie zu stoppen. Es wurde von Peter Hansteen geschrieben.