Wurde der Server gehackt?

webas

Registered User
Mein VServer bei Strato war ohne Grund still, mit Restart ist er wieder im Betrieb. Ich hatte keinen Zugriff weder mit Putty noch mit Plesk.
In auth.log befinden sich komische Zeichen, die ich keine Ahnung habe wonach sie andeuten könnten. Offenbar das war seine letzte Aktion (?) und nachdem wurde der Server gestoppt.
Ist der Server gehackt worden?
Ich habe den Namen des Servers durch 'MYSERVER' ersetzt.
Danke.


Jul 8 16:49:40 'MYSERVER' sshd[30948]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=101.68.68.2 user=root
Jul 8 16:49:42 'MYSERVER' sshd[30948]: Failed password for root from 101.68.68.2 port 38428 ssh2
Jul 8 16:49:42 'MYSERVER' sshd[30948]: Connection closed by authenticating user root 101.68.68.2 port 38428 [preauth]
Jul 8 16:49:44 'MYSERVER' sshd[30951]: Invalid user papa from 101.68.68.2 port 38537
Jul 8 16:49:44 'MYSERVER' sshd[30951]: pam_unix(sshd:auth): check pass; user unknown
Jul 8 16:49:44 'MYSERVER' sshd[30951]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=101.68.68.2
Jul 8 16:49:46 'MYSERVER' sshd[30951]: Failed password for invalid user papa from 101.68.68.2 port 38537 ssh2
Jul 8 16:49:46 'MYSERVER' sshd[30951]: Connection closed by invalid user papa 101.68.68.2 port 38537 [preauth]
Jul 8 16:49:48 'MYSERVER' sshd[30953]: Invalid user apple from 101.68.68.2 port 38645
Jul 8 16:49:48 'MYSERVER' sshd[30953]: pam_unix(sshd:auth): check pass; user unknown
Jul 8 16:49:48 'MYSERVER' sshd[30953]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=101.68.68.2
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@Jul 9 11:08:43 'MYSERVER' systemd-logind[284]: New seat seat0. Jul
Jul 9 11:08:43 'MYSERVER' sshd[427]: Server listening on 0.0.0.0 port 22.
 
Das kann Datenmüll vom Absturz des Servers sein, was ähnliches habe ich auf einer VM bei mir gesehen, nachdem der vSphere eine Purple Screen of Death geworfen hatte. Die auth.log-Zeilen zeigen ansonsten nur relativ normales Grundrauschen, ggfl. sperrt man hat besonders auffällige IPs, um die Logs etwas sauberer zu bekommen.
Bezüglich der Ursache für den Absturz können evtl. andere Logs etwas mehr verraten, z.B. das syslog. Da es sich um einen vServer handelt, kann es aber auch sein, dass der Host ein Problem hatte und in den Logs keine Ursache erkennbar war.
 
Da es sich bei dir um eine VM handelt, stimme ich dem zu was danton geschrieben hat.
Behalt das einfach mal im Auge. Fall der Server wieder abstürzt, sollte man sich das mal genauer anschauen und eventuell auch mal mit dem Hoster reden ob denen etwas bekannt ist.
 
Das kann Datenmüll vom Absturz des Servers sein, was ähnliches habe ich auf einer VM bei mir gesehen, nachdem der vSphere eine Purple Screen of Death geworfen hatte. Die auth.log-Zeilen zeigen ansonsten nur relativ normales Grundrauschen, ggfl. sperrt man hat besonders auffällige IPs, um die Logs etwas sauberer zu bekommen.
Bezüglich der Ursache für den Absturz können evtl. andere Logs etwas mehr verraten, z.B. das syslog. Da es sich um einen vServer handelt, kann es aber auch sein, dass der Host ein Problem hatte und in den Logs keine Ursache erkennbar war.
Es ist eigentlich syslog dass mir den Verdacht eines Angriffs gegeben hat weil:

Jul 8 16:42:35 'myserver' postfix/smtpd[30711]: connect from unknown[193.35.51.13]
Jul 8 16:42:36 'myserver' plesk_saslauthd[30714]: listen=6, status=5, dbpath='/plesk/passwd.db', keypath='/plesk/passwd_db_key', chroot=1, unprivileged=1
Jul 8 16:42:36 'myserver' plesk_saslauthd[30714]: privileges set to (107:113) (effective 107:113)
Jul 8 16:42:36 'myserver' plesk_saslauthd[30714]: No such user 'jackie_wilkerson@mydomain.de' in mail authorization database
Jul 8 16:42:36 'myserver' plesk_saslauthd[30714]: failed mail authentication attempt for user 'jackie_wilkerson@mydomain.de' (password len=7)
Jul 8 16:42:37 'myserver' postfix/smtpd[30711]: warning: unknown[193.35.51.13]: SASL LOGIN authentication failed: authentication failure
Jul 8 16:42:37 'myserver' postfix/smtpd[30711]: lost connection after AUTH from unknown[193.35.51.13]
Jul 8 16:42:37 'myserver' postfix/smtpd[30711]: disconnect from unknown[193.35.51.13] ehlo=1 auth=0/1 commands=1/2
Jul 8 16:42:37 'myserver' postfix/smtpd[30711]: connect from unknown[193.35.51.13]
Jul 8 16:42:38 'myserver' plesk_saslauthd[30714]: failed mail authentication attempt for user 'jackie_wilkerson' (password len=7)
Jul 8 16:42:38 'myserver' postfix/smtpd[30711]: warning: unknown[193.35.51.13]: SASL LOGIN authentication failed: authentication failure
Jul 8 16:42:39 'myserver' postfix/smtpd[30711]: lost connection after AUTH from unknown[193.35.51.13]
Jul 8 16:42:39 'myserver' postfix/smtpd[30711]: disconnect from unknown[193.35.51.13] ehlo=1 auth=0/1 commands=1/2
Jul 8 16:43:01 'myserver' CRON[30730]: (root) CMD (cd / && run-parts --report /etc/cron.hourly)
Jul 8 16:43:08 'myserver' plesk_saslauthd[30714]: select timeout, exiting
Jul 8 16:44:01 'myserver' CRON[30774]: (root) CMD ([ -x /opt/psa/admin/sbin/backupmng ] && /opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Jul 8 16:45:59 'myserver' postfix/anvil[30713]: statistics: max connection rate 2/60s for (smtp:193.35.51.13) at Jul 8 16:42:37
Jul 8 16:45:59 'myserver' postfix/anvil[30713]: statistics: max connection count 1 for (smtp:193.35.51.13) at Jul 8 16:42:35
Jul 8 16:45:59 'myserver' postfix/anvil[30713]: statistics: max cache size 1 at Jul 8 16:42:35
Jul 8 16:47:45 'myserver' postfix/smtpd[30888]: connect from unknown[141.98.10.208]
Jul 8 16:47:45 'myserver' plesk_saslauthd[30891]: listen=6, status=5, dbpath='/plesk/passwd.db', keypath='/plesk/passwd_db_key', chroot=1, unprivileged=1
Jul 8 16:47:45 'myserver' plesk_saslauthd[30891]: privileges set to (107:113) (effective 107:113)
Jul 8 16:47:45 'myserver' plesk_saslauthd[30891]: failed mail authentication attempt for user 'test03' (password len=7)
Jul 8 16:47:45 'myserver' postfix/smtpd[30888]: warning: unknown[141.98.10.208]: SASL LOGIN authentication failed: authentication failure
Jul 8 16:47:45 'myserver' postfix/smtpd[30888]: disconnect from unknown[141.98.10.208] ehlo=1 auth=0/1 quit=1 commands=2/3
Jul 8 16:48:15 'myserver' plesk_saslauthd[30891]: select timeout, exiting


Die beide IPs sind allerdings bekannt:

 
Last edited:
Der Zeichensalat wird schlicht text-interpretierte Null-Charaktere sein. Das kann passieren wenn er versucht zu loggen aber nicht loggen kann, der filepointer aber weitergeht. Dazwischen ist dann nichts - also null - was sich aber nun mal nicht gut auf ASCII-Ausgabe darstellen lässt und zu diesem Fehler führt.

Ich sehe in deinen Logs keine Angriffe soweit sondern nur normales Grundrauschen - und eigentlich verglichen mit einigen Servern recht wenig davon. Bruteforce sowie Credential Stuffing ist leider fester Bestandteil des Netzes und kann nur mit Programmen wie fail2ban etwas gemildert werden.
 
Ich habe Fail2Ban installiert und es werden jede Menge IPs empfangen, alle Versuche sind über ssh.
Ist es möglich bzw. sinnvoll die Kommunikation auf Port 22 über VPN zu kriegen? Ich habe keine Ahnung von VPN, ich denke ich müsste es im Server als Dienst installieren und dann einen Client für meine Windows Machine anwenden. Nach bischen googling bin ich auf openvpn gestossen.
Oder wäre es vlt eine einfachere Option den Port für ssh zu ändern? Bringt das etwas?
Was hält ihr davon?
Danke.
 
Möglich ja, sinnvoll wohl eher nicht. Wenn dein VPN-Dienst mal nicht läuft, kommst du ja nicht mal mehr auf den Server, um ihn wieder zu starten.
Das Verlegen des SSH-Ports hält zwar die Logs sauberer, da viele automatisierte Login-Versuche nur gegen den Standard-Port gehen. Wenn aber jemand gezielt in deinen Server rein will, dann wird er auch den geänderten Port finden und es dort versuchen. Dem Komfort-Verlust steht also nur ein bestenfalls minimaler Sicherheitsgewinn gegenüber.
Verwende auf jedem Fall sichere Kennwörter (die du sonst nirgends einsetzt) oder noch besser stelle dein SSH auf reine Public Key Authentication um.
 
Oder wäre es vlt eine einfachere Option den Port für ssh zu ändern? Bringt das etwas?
Das ist meine Standard-Vorgehensweise. Es kann bei Systemen welche von anderen Benutzer verwendet werden welche SFTP/SCP/SSH verwenden zu Verwirrung führen aber... es leert die Logdatei unheimlich.

Zur Betonung: es bringt vernachlässigbar wenig Sicherheit, jeder der das System tatsächlich angreifen will, kann binnen Sekunden mit Portscan den Port finden. Es geht hier ausschliesslich darum das automatisierten "Grundrauschen" - also simple stupide Bruteforce-Scanner zu unterbinden.
Man kann aber davon ausgehen dass 95%+ der später gefundenen Logeinträge tatsächlich gezielt sin.

Es reicht, einen "bekannten" Alternativport wie 2222 zu verwenden, wer es auf die Palme bringen will kann mit Portknocking + Key-only Authentisierung amusieren ein digitales Fort-Knox (was SSH angeht) bauen.

Geheimtipp am Ende: das funktioniert auch mit einkommendem Email-Spam wenn man SMTP von Port 25 auf Port 2525 verändert. Zugegeben... legitime EMails kommen dann aber auch nicht mehr an :p
 
Back
Top