it-swarm.com.de

Sieht so ein Brute-Force-SSH-Angriff aus?

Ich habe die Datei auth.log auf meinem Ubuntu-Server überprüft, um Folgendes zu finden:

 [Preauth] 
 22. Februar 17:39:18 Code-Speicher sshd [17271]: Verbindung von 147.135.192.203 Port 49408 [Preauth] 
 22. Februar 17:40:15 getrennt Code-Speicher sshd [17273]: Ungültiger Benutzer ellen von 147.135.192.203 
 22. Februar 17:40:15 Code-Speicher sshd [17273]: input_userauth_request: ungültiger Benutzer ellen [preauth] 
 22. Februar 17:40:15 Code-Speicher sshd [17273]: Unterbrechung von 147.135.192.203 Port 50193: 11 erhalten: Normales Herunterfahren, Vielen Dank, dass Sie [preauth] 
 22. Februar 17:40:15 Code-Speicher sshd gespielt haben [17273]: Verbindung von 147.135.192.203 Port 50193 [preauth] 
 22. Februar 17:40:34 Code-Speicher sshd [17275]: Verbindung geschlossen durch 103.237.147.107 Port 17583 [preauth] 
 22. Februar 17:41:12 Code-Speicher sshd [17277]: Ungültiges Benutzer-Emil von 147.135.192.203 
 22. Februar 17:41:12 Code-Speicher sshd [17277]: input_userauth_request: Ungültiger Benutzer emil [preauth] 
 22. Februar 17:41:12 Code-Speicher sshd [17277]: Trennung von 147.135.192.203 Port 50841: 11 empfangen: Normales Herunterfahren, danke f oder spielen [preauth] 
 22. Februar 17:41:12 Code-Speicher sshd [17277]: Verbindung von 147.135.192.203 Port 50841 [preauth] 
 22. Februar 17:42:05 Code-Speicher getrennt sshd [17280]: Ungültiger Benutzer-Enzo vom 147.135.192.203 
 22. Februar 17:42:05 Code-Speicher sshd [17280]: input_userauth_request: Ungültiger Benutzer-Enzo [preauth] 
 22. Februar 17:42 : 05 Code-Speicher sshd [17280]: Trennung von 147.135.192.203 Port 51356: 11 erhalten: Normales Herunterfahren, Vielen Dank, dass Sie [preauth] 
 22. Februar 17:42:05 Code-Speicher sshd [17280] gespielt haben. : Verbindung von 147.135.192.203 Port 51356 [preauth] 
 22. Februar 17:42:14 Code-Speicher sshd [17282]: Verbindung geschlossen durch 103.237.147.107 Port 64695 [preauth] 
 22. Februar 17 : 43: 00 Code-Speicher sshd [17285]: Ungültiger Benutzer felix von 147.135.192.203 
 22. Februar 17:43:00 Code-Speicher sshd [17285]: input_userauth_request: ungültiger Benutzer felix [preauth] 
 22. Februar 17:43:00 Code-Speicher sshd [17285]: Trennung von 147.135.192.203 Port 52145: 11 empfangen: Normales Herunterfahren, danke u zum Spielen von [preauth] 
 22. Februar 17:43:00 Code-Speicher sshd [17285]: Verbindung von 147.135.192.203 Port 52145 [preauth] 
 22. Februar 17:43:52 Code- getrennt Speicher sshd [17287]: Verbindung geschlossen durch 103.237.147.107 Port 55122 [preauth] 
 22. Februar 17:43:56 Code-Speicher sshd [17289]: Ungültiger Benutzer fred von 147.135.192.203 
 Feb. 22 17:43:56 Code-Speicher sshd [17289]: input_userauth_request: ungültiger Benutzer fred [preauth] 
 22. Februar 17:43:56 Code-Speicher sshd [17289]: Unterbrechung von 147.135.192.203 Port 52664 empfangen : 11: Normales Herunterfahren, Danke, dass du [preauth] 
 Spielst.

Es gibt noch viel mehr, aber dies ist aus den letzten Minuten, bevor ich die Protokolldatei kopiert habe.

Handelt es sich um einen Brute-Force-SSH-Angriff, und wenn ja, sollte ich mir Sorgen machen und was sind die besten Schritte und/oder Lösungen zur Schadensbegrenzung außer der Änderung der Server-IP?

26
David Kamer

Ist das ein Bruteforce-Angriff?

Dies sieht aus wie das Hintergrund-Scannen, das jeder Server im Internet ausführen wird.

Sollte ich besorgt sein

Nicht wirklich, das Scannen im Hintergrund ist völlig normal, solange Ihre Passwörter sicher sind. Das Scannen im Hintergrund sollte kein Risiko darstellen.

Was sind die besten Minderungsschritte?

Sie können Folgendes verwenden, um den Server sicherer zu machen:

  • Erlauben Sie die Anmeldung nur mit der Schlüsselauthentifizierung
  • Deaktivieren Sie den Root-SSH-Zugriff
  • Verwenden Sie ein System wie Fail2Ban , um Brute-Force-Versuche zu blockieren

Soll ich IPs ändern

Das Ändern von IPs hat wahrscheinlich keinen großen Einfluss auf das automatische Scannen im Hintergrund

44
jrtapsell

Wie bereits in früheren Kommentaren erwähnt, wird das Ändern von IPs [~ # ~] nicht [~ # ~] verhindern, dass Sie von böswilligen Scannern gescannt werden.

Ich werde die notwendigen Schritte zusammenfassen, um Ihren SSH-Dienst wirklich zu sichern:

  • wie bereits erwähnt, ändern Sie den Port auf einen nicht standardmäßigen Wert (Highport), z. Ein Wert wie 13322. Dies ist kein echter Sicherheitsvorteil, aber es macht es jedem Bot schwerer, den aktiven SSH-Port zu finden.
  • Verwenden Sie zur Authentifizierung NUR sichere Schlüssel, wenn möglich, deaktivieren Sie die Tastaturauthentifizierung mit Passwörtern vollständig !!
  • Verwenden Sie den fail2ban - Dienst, der für jedes Unix-ähnliche System/Linux-Derivat verfügbar ist. Dieser Dienst sperrt automatisch eine bestimmte IP, nachdem n Authentifizierungen für eine definierte Zeit fehlgeschlagen sind. Das Verbot wird über iptables-Regeln realisiert iptables ist eine Voraussetzung.
5
Oliver

Als Alternative zu fail2ban können Sie einen stündlichen cron Job einrichten, um ein einfaches Skript wie das folgende auszuführen. Passen Sie die ersten 4 Parameter nach Belieben an. Es funktioniert mit pf.

wenn Sie pf nicht verwenden, müssen Sie die Zeile pfctl ... durch etwas ersetzen, das mit Ihrer Firewall funktioniert.

Richten Sie außerdem einen täglichen Cron-Job ein, um die Tabelle pf zu leeren: pfctl -t bruteforce -vT expire 86400

#!/bin/sh -f
#
# Check 'Invalid user' attempts on sshd in auth.log (LOGFILE).
# If there are more than (MAX_TRY) attempts within
# the last hour (EARLIEST), source ip is added to PF_TABLE table in pf
#
MAX_TRY=5
LOGFILE=/var/log/auth.log
# last 48 hour
EARLIEST=`date -v-48H +%s`
PF_TABLE=bruteforce

grep "Invalid user" $LOGFILE | while read d0 d1 d2 rest; do
    timestamp=`date -j -f "%b %d %H:%M:%S" "$d0 $d1 $d2" +%s`
    test $timestamp -lt $EARLIEST && continue
    echo $rest | cut -d ":" -f2- | cut -d " " -f6
done | sort | uniq -c | while read count ip; do
    test $count -lt $MAX_TRY && continue
    pfctl -v -t $PF_TABLE -T add $ip
done
1
ping mai