Frage Wie kann ich fehlgeschlagene SSH-Anmeldeversuche verfolgen?


Ich würde gerne sehen, ob jemand versucht hat, sich per Brute-Force über SSH in meinen Ubuntu 12.04 Server einzuloggen. Wie kann ich sehen, ob solche Aktivitäten stattgefunden haben?


124
2017-08-20 06:32


Ursprung




Antworten:


Alle Anmeldeversuche werden protokolliert /var/log/auth.log.

1. Filter für interaktive Brute-Force-SSH-Logins

Öffnen Sie ein Terminal und geben Sie Folgendes ein: Wenn es länger als 1 Seite ist, können Sie nach oben und unten scrollen; Art q beenden:

grep sshd.\*Failed /var/log/auth.log | less
  • Hier ist ein echtes Beispiel von einem meiner VPS:

    Aug 18 11:00:57 izxvps sshd [5657]: Passwort für Root von 95.58.255.62 Port 38980 ssh2 fehlgeschlagen
    Aug 18 23:08:26 izxvps sshd [5768]: Failed Passwort für root von 91.205.189.15 Port 38156 ssh2
    Aug 18 23:08:30 izxvps sshd [5770]: Passwort für niemand von 91.205.189.15 Port 38556 ssh2 fehlgeschlagen
    Aug 18 23:08:34 izxvps sshd [5772]: Passwort für ungültigen Benutzer Stern von 91.205.189.15 Port 38864 ssh2 fehlgeschlagen
    Aug 18 23:08:38 izxvps sshd [5774]: Passwort für ungültigen Benutzer sjobeck von 91.205.189.15 Port 39157 ssh2 fehlgeschlagen
    Aug 18 23:08:42 izxvps sshd [5776]: Passwort für root von 91.205.189.15 Port 39467 ssh2 fehlgeschlagen
    

2. Suchen Sie nach fehlgeschlagen Verbindungen (d. h. keine Anmeldung versucht, könnte ein Port-Scanner, etc. sein):

Verwenden Sie diesen Befehl:

grep sshd.*Did /var/log/auth.log | less
  • Beispiel:

    Aug 5 22:19:10 izxvps sshd [7748]: Keine Identifikationszeichenfolge von 70.91.222.121 erhalten
    Aug 10 19:39:49 izxvps sshd [1919]: Keine Identifikationszeichenfolge von 50.57.168.154 erhalten
    Aug 13 23:08:04 izxvps sshd [3562]: Keine Identifikationszeichenfolge von 87.216.241.19 erhalten
    Aug 17 15:49:07 izxvps sshd [5350]: Keine Identifikationszeichenfolge von 211.22.67.238 erhalten
    Aug 19 06:28:43 izxvps sshd [5838]: Keine Identifikationszeichenfolge von 59.151.37.10 erhalten
    

Wie man fehlgeschlagene / Brute-Force-Anmeldeversuche reduziert

  • Versuchen Sie, Ihren SSH von der Standardeinstellung 22 auf einen nicht standardmäßigen Port umzustellen
  • Oder installieren Sie ein Auto-Ban-Skript wie fail2banInstall fail2ban.

139
2017-08-20 06:48



Wie viel Sicherheit erhalten Sie beim Wechseln des SSH-Ports (können Sie nicht einfach so scannen, wie Sie es nennen) und lohnt sich dieser kleine Usability-Hit für legitime Benutzer? - Nick T
@NickT es reicht aus, um Login-Versuche deutlich zu reduzieren. Wo ich Tausende von Versuchen in einer Woche / Tag bekommen würde, hatte ich bis jetzt im letzten Monat keine, einfach indem ich den Port wechselte. - AntoineG
Ich glaube, Login mit Passwort zu verbieten hilft auch. - Luc M
Ich weiß, dass dies ubuntu ist, wollte nur erwähnen, dass auf einigen Systemen wie Centos der Dateipfad ist /var/log/secure - lfender6445
Einige Systeme greifen mit dem Protokoll zu systemctl -eu sshd - alecdwm


Ich würde argumentieren, dass das Überwachen von Protokollen eine schwache Lösung ist, besonders wenn Sie ein schwaches Kennwort auf einem Konto haben. Brute Versuche versuchen oft mindestens Hunderte von Schlüsseln pro Minute. Selbst wenn Sie einen Cron-Job eingerichtet haben, der Sie per E-Mail über rohe Versuche informiert, kann es Stunden dauern, bis Sie auf Ihren Server gelangen.

Wenn Sie einen öffentlich zugänglichen SSH-Server haben, dann brauchen eine Lösung, die einsetztlange bevor Sie gehackt werden können.

Ich würde es wärmstens empfehlen fail2ban. Ihr Wiki sagt, was es besser macht als ich kann.

Fail2ban scannt Protokolldateien (z. /var/log/apache/error_log) und verbietet IPs, die die bösartigen Zeichen zeigen - zu viele Passwortfehler, Suche nach Exploits, usw. Im Allgemeinen wird Fail2Ban dann verwendet, um Firewall - Regeln zu aktualisieren, um die IP - Adressen für eine bestimmte Zeit abzulehnen, obwohl eine beliebige andere Aktion (z Eine E-Mail oder ein CD-ROM-Laufwerk kann ebenfalls konfiguriert werden. Out-of-the-Box Fail2Ban kommt mit Filtern für verschiedene Dienste (Apache, Curier, SSH, etc.).

Schutz vor ihm ist so einfach wie sudo apt-get install fail2ban.

Standardmäßig, sobald jemand drei fehlgeschlagene Versuche hat, erhält seine IP ein fünfminütiges Verbot. Diese Art von Verzögerung stoppt im Wesentlichen einen SSH-Brute-Force-Versuch, aber es wird deinen Tag nicht ruinieren, wenn du dein Passwort vergisst (aber du solltest sowieso Schlüssel verwenden!)


67
2017-08-23 09:12



Warum heißt es nicht verbieten? - Pacerier
@Pacerier Nun, mit einigen Analogien führen Login-Fehler zu (2) einem Verbot. - Sebi
Bwahaha du hast meinen Tag gemacht @Pacerier Ich habe es nie als buchstäblichen "Versäumnis zu verbieten" gedacht. - adelriosantiago
Ich denke, das sollte bearbeitet werden, um "besonders" aus dem ersten Satz zu entfernen. Es ist nur ein Problem, wenn Sie ein schwaches Passwort haben. Sichere Kennwörter können unter keinen Umständen zwangsläufig missbraucht werden, und der einzige Grund, den Versuch zu verhindern, besteht darin, die Serverlast zu reduzieren. - Abhi Beckert