Wie kann die Verzögerung des ssh-Root-Zugriffs bei jedem fehlgeschlagenen Login erhöht werden?

1340
Wulfire

Gibt es in Linux eine Möglichkeit, den ssh-root-Zugriff jedes Mal zu verzögern, beispielsweise um die doppelte Verzögerungszeit, wenn ein ssh-root-Login von einer bestimmten IP ausfällt und die Verzögerung nach X-Minuten ohne Login-Versuche oder Erfolg abläuft?

Ziel ist es, die Angriffsangriffe auf meine Server durch rohe Gewalt von ssh / root abzuschwächen.

Ich verwende Debian und Ubuntu.

Vielen Dank.

1
Da dies eine spezifische Linux-Konfigurationsfrage ist, stimme ich für die Migration zu SuperUser. schroeder vor 9 Jahren 2
Nur um sicher zu sein - können Sie fail2ban verwenden? http://www.fail2ban.org/wiki/index.php/Main_Page Es gibt kein exponentielles Backoff, sondern blockiert einfach eine IP nach N-Versuchen. ninjajesus vor 9 Jahren 0
@ schroeder Ich stimme nicht zu, da jede Sicherheitsfrage für Linux irgendeine Art von Linux-Konfiguration beinhaltet, es sei denn, es handelt sich um eine rein theoretische Frage (Beispiel: http://security.stackexchange.com/questions/21027/invalid-users-trying-to-log -in-zu-meinem-Server? rq = 1) Wulfire vor 9 Jahren 3
Genau. Ihre Frage hat Auswirkungen auf die Sicherheit, aber das Herzstück ist eine spezifische Konfigurations- / Tool-Frage, die hier nicht thematisiert wird und besser für SuperUser geeignet ist. schroeder vor 9 Jahren 0
Ich hatte es zu Unix SE migriert. Aber ich denke auch, dass diese Frage genügend Sicherheitsfokus hat, um hier zu bleiben. Vielleicht ist Unix SE für ihn besser geeignet (schließlich habe ich mit Schröder gewählt, nur weil ich denke, dass Migration eine gute Sache ist, aber der Migrationspfad von Unix SE nicht existiert). . peterh vor 9 Jahren 0
Nur weil ich angesprochen habe, bedeutet Linux nicht, dass die Antwort keine Relevanz für andere Betriebssysteme haben kann oder die Konzepte in andere Kontexte übersetzt werden können - ich habe "Linux", "Debian" und "Ubuntu" erwähnt, um den Kontext zu liefern, aber letztendlich die Antwort haben kann Relevanz darüber hinaus. Neben http://security.stackexchange.com/questions/21027/invalid-users-trying-to-log-in-to-my-server?rq=1 erhielten 25 Stimmen, auch wenn es offensichtlich Unix-spezifisch ist (root-Benutzer) Verwendung von Failtoban usw.), wie kommt es? Ich würde gerne wissen. Wulfire vor 9 Jahren 0
@Wulfire Die Frage ist "wie schütze ich mich selbst", was eine allgemeine Frage ist. Die Antwort ist allgemein mit spezifischen Werkzeugerwähnungen. Die Frage ist auch 2,5 Jahre alt und die Community hat sich seitdem etwas verschoben. Ihre Frage lautet "Wie mache ich das in Linux?" schroeder vor 9 Jahren 0
@schroeder Wenn Sie sich umsehen, gibt es viele andere aktuelle Fragen, die "Linux-spezifisch" sind, einschließlich der ersten hier: http://security.stackexchange.com/questions?sort=featured - Klingt so, als würden wir uns in Kreisen bewegen. also versuche ich mein bestes, mich nicht zu wiederholen. Wulfire vor 9 Jahren 0
@Wulfire du bist absolut korrekt, aber das kann wegen der Kopfprämie nicht migriert werden. Sie werden auch sehen, dass die detaillierte Antwort auf ServerFault verweist. schroeder vor 9 Jahren 0
Versuchen Sie einfach, dies klar zu stellen: Es sieht so aus, als wollten Sie eine IP-Adresse schrittweise verbieten, sich als root anzumelden, es sei denn, bis das Root-Passwort erfolgreich erraten wird. Dieses Verbot kann durch richtiges Erraten aufgehoben werden, sodass das Authentifizierungssystem mindestens brutal erzwungen werden kann. Sind die Authentifizierungs- und Verbotsimplementierungen auf verschiedenen Geräten? ǝɲǝɲbρɯͽ vor 9 Jahren 0
@vidar Ein schönes inkrementelles Back-Off ist hier: http://blog.shanock.com/fail2ban-increased-ban-times-for-repeat-offenders/ und baut einige Konzepte im verlinkten Artikel hier auf: http: // serverfault.com/a/640380/246220 ǝɲǝɲbρɯͽ vor 9 Jahren 0
Benutzt du webmin? Welchen SSH-Zugriff verwenden Sie, falls vorhanden? Sie können nur den Zugriff auf eine bestimmte IP-Adresse festlegen, einen dedizierten Router mit diesem festen IPA konfigurieren ... Neben einem Bash-Befehl gibt es mehrere Problemumgehungen. Sie können jedoch auch "set -m -t --T" ohne Anführungszeichen verwenden. oder eine Ableitung davon ... möglicherweise vor 9 Jahren 0
@ ǝɲǝɲbρɯͽ laut Frage "Ziel ist es, Brute-Force-Angriffe von ssh / root auf meine Server abzumildern". Ich bin also offen für alles, was in dieser Hinsicht hilfreich ist. Als Nichtexperte für Sicherheit ist mir das erste, was mir in den Sinn gekommen ist Die Versuche, den Root-Zugriff zu forcieren, werden schrittweise verlangsamt, aber wie gesagt, ich bin offen für jede andere Methode, um solche Versuche zu "kontern". Wulfire vor 9 Jahren 0
@ Ian verwendet nicht webmin (einfach nur altes ssh / sshd), obwohl es gut sein könnte, darüber zu wissen. @ Ǝɲǝɲbρɯͽ @ vidar Vielen Dank für die verschiedenen fail2ban-Links (auf die mich alle zu verweisen scheinen). Ich wünschte wirklich, solche Sicherheitsfunktionen würden gebaut- in der sshd selbst in Form von ein paar Konfigurationsvariablen ... Wieder eine andere Herangehensweise (abgesehen von der uninformierten, die ich für das Verzögern fehlgeschlagener Anmeldungszugriffe hatte), die mich Ihrer Meinung nach näher an das Hauptziel der "Milderung" bringt brute force ssh / root greift auf meine Server an "ist willkommen. Vielen Dank für das Feedback. Wulfire vor 9 Jahren 0
Ich stimme dafür, diese Frage als Off-Topic zu schließen, da sie zu Unix & Linux SE gehört. Mark vor 9 Jahren 0

1 Antwort auf die Frage

0
ǝɲǝɲbρɯͽ

Meine Antwort ist in erster Linie eine Linux-Konfiguration und keine wirkliche Sicherheit. Es richtet sich an Ihr Ziel, bietet jedoch nicht die Möglichkeit, das Timeout mit einem korrekten Passwort zurückzusetzen oder es zu erhöhen, während es bereits gesperrt ist. Das muss wahrscheinlich außerhalb des Bandes sein und ein anderes Ereignis als Schlüssel verwenden.

In dieser Antwort wird auf einen Artikel verwiesen, der zeigt, wie einmal mit Wiederholungstätern verfahren werden soll. Dies zeigt, wie ein inkrementelles Verbot durchgeführt wird. Da das Verknüpfen nur schlecht ist, werde ich versuchen, das, was es tut, umzuformulieren.

In der Tat möchten Sie mehrere Konfigurationsblöcke erstellen, die nahezu identische Namen verwenden. Der Autor verwendet "f2b-loop2", "f2b-loop3" und so weiter. Der DEFAULT-Block ist der Treiber.

Jeder Schleifenschritt verwendet den gleichen Filter. Dieser Filter ignoriert alle mit Schleifen benannten Sperren, zählt jedoch weiterhin die DEFAULT-Sperren während der Laufzeit, wodurch das Level "Wie oft hat DEFAULT diese IP in meinem Scanzeitraum / meiner Suchzeit gesperrt hat" festgelegt. Die Gesamtversuche, die sukzessive höhere Bantimes auslösen, sind daher eine Multiplikation der Max-Zeiten von DEFAULT und der Max-Zeiten des Schleifenpegels.

Sie können dieses Muster fortsetzen, um mit einem negativen Bantime zu enden, um es dauerhaft zu verbieten.

* Ich habe auch für die Verlagerung dieser Frage gestimmt, weil sie sich sehr administrativ anfühlt. ǝɲǝɲbρɯͽ vor 9 Jahren 0