Neuer Heim-Server, 5 Tage, 30.000 Zeilen auth.log

Registriert
Jan. 2009
Beiträge
249
Liebe Freunde,

seit ein paar Tagen - 5, um genau zu sein - ist mein Server aus dem großen weiten Web auf Port 22 (und auf 21, nur verschlüsselt) zugänglich. Und bis heute abend ist die /var/log/auth.log auf rund 30.000 Zeilen angewachsen. Die meisten Zeilen sehen so oder so ähnlich aus:

May 14 20:35:10 pyxos sshd[12763]: Invalid user username from 77.56.125.125
May 14 20:35:10 pyxos sshd[12763]: input_userauth_request: invalid user username [preauth]
May 14 20:35:10 pyxos sshd[12763]: pam_unix(sshd:auth): check pass; user unknown
May 14 20:35:10 pyxos sshd[12763]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=77$
May 14 20:35:12 pyxos sshd[12763]: Failed password for invalid user username from 77.56.125.125 port 39715 ssh2
May 14 20:35:12 pyxos sshd[12763]: pam_unix(sshd:auth): check pass; user unknown
May 14 20:35:13 pyxos sshd[12763]: Failed password for invalid user username from 77.56.125.125 port 39715 ssh2
May 14 20:35:13 pyxos sshd[12763]: Disconnecting: Change of username or service not allowed: (username,ssh-connection) -> (us$
May 14 20:35:13 pyxos sshd[12763]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=77-56-125-12$
May 14 20:38:41 pyxos sshd[12800]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=22$
May 14 20:38:43 pyxos sshd[12800]: Failed password for root from 222.186.21.134 port 52892 ssh2
May 14 20:38:48 pyxos sshd[12800]: message repeated 2 times: [ Failed password for root from 222.186.21.134 port 52892 ssh2]
May 14 20:38:49 pyxos sshd[12800]: Received disconnect from 222.186.21.134: 11: [preauth]
May 14 20:38:49 pyxos sshd[12800]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.21.$
May 14 20:38:52 pyxos sshd[12802]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=22$
May 14 20:38:54 pyxos sshd[12802]: Failed password for root from 222.186.21.134 port 48869 ssh2
May 14 20:39:00 pyxos sshd[12802]: message repeated 2 times: [ Failed password for root from 222.186.21.134 port 48869 ssh2]
May 14 20:39:00 pyxos sshd[12802]: Received disconnect from 222.186.21.134: 11: [preauth]
May 14 20:39:00 pyxos sshd[12802]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.21.$
May 14 20:39:02 pyxos CRON[12806]: pam_unix(cron:session): session opened for user root by (uid=0)
May 14 20:39:03 pyxos CRON[12806]: pam_unix(cron:session): session closed for user root
May 14 20:39:05 pyxos sshd[12804]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=22$
May 14 20:39:07 pyxos sshd[12804]: Failed password for root from 222.186.21.134 port 45284 ssh2
May 14 20:39:12 pyxos sshd[12804]: message repeated 2 times: [ Failed password for root from 222.186.21.134 port 45284 ssh2]
May 14 20:39:13 pyxos sshd[12804]: Received disconnect from 222.186.21.134: 11: [preauth]
May 14 20:39:13 pyxos sshd[12804]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.21.$
May 14 20:39:18 pyxos sshd[12821]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=22$
May 14 20:39:21 pyxos sshd[12821]: Failed password for root from 222.186.21.134 port 48080 ssh2
May 14 20:39:26 pyxos sshd[12821]: message repeated 2 times: [ Failed password for root from 222.186.21.134 port 48080 ssh2]
May 14 20:39:26 pyxos sshd[12821]: Received disconnect from 222.186.21.134: 11: [preauth]
May 14 20:39:26 pyxos sshd[12821]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.21.$
May 14 20:39:30 pyxos sshd[12823]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=22$
May 14 20:39:32 pyxos sshd[12823]: Failed password for root from 222.186.21.134 port 49616 ssh2


Also 30.000 Zeilen mit Zugriffsversuchen von verschiedenen (meist chinesischen) IP-Adressen, manchmal vier oder fünf pro Sekunde.

Soweit ich es sehe, war kein Versuch erfolgreich. Mein Server ist noch niemandem "bekannt" und bietet derzeit sonst auch keine Dienste. Ich interpretiere das als Angriffsversuch auf den Server - was denkt ihr, und wie sind eure Erfahrungen dazu?

Danke!
PG



PS: Wie kann meinem FTP-Server (pure-ftpd) beibringen, ausschließlich virtuellen Usern und keinen Systemusern verschlüsselten Zugriff zu gewähren?
 
apt-get install fail2ban
 
Das sind (in der Regel) Bots, die einfach die Standardports scannen. Ändere einfach die externen Ports auf 10k+ und du hast ruhe. ;)
 
Solch ein Phänomen kenne ich auch von meinem Heimnetzwerk. Zieh solche Dienste erstmal auf andere Ports um, dann bist du diese "Bots" schonmal los.

Pakete, wie fail2ban sind interessant. Ich selbst habe mir, was SSH angeht, mit iptables geholfen: https://www.ssl-id.de/www.killercow.de/blog/?p=29

Viel Erfolg beim Absichern ;)

PS: Ich hoffe du hast den root Login per SSH generell deaktiviert!
 
HominiLupus schrieb:
apt-get install fail2ban

Danke für den Hinweis - läuft.

Sc0rc3d schrieb:
Das sind (in der Regel) Bots, die einfach die Standardports scannen. Ändere einfach die externen Ports auf 10k+ und du hast ruhe. ;)

Danke, das beruhigt mich etwas. Trotzdem bin ich von der Masse überrascht.

KillerCow schrieb:
Solch ein Phänomen kenne ich auch von meinem Heimnetzwerk. Zieh solche Dienste erstmal auf andere Ports um, dann bist du diese "Bots" schonmal los.

[...]

Viel Erfolg beim Absichern ;)

PS: Ich hoffe du hast den root Login per SSH generell deaktiviert!

Auch dir danke für den Hinweis! root darf sich nicht unmittelbar per ssh anmelden, nur nachfolgend via su.

Die Frage, nur virtuelle ftp-User zuzulassen ist noch offen: -l unix und -l pam vermeiden?

LG PG
 
Das ist es was die meisten unterschätzen. Diese Bots arbeiten vollautomatisch und geben dem Nutzer regelmässig Infos über IP und Login, wenn sie ein schlecht gesichertes System gefunden haben. So entstehen die Botnetze, Spammaschinen, etc..

Den Port zu wechseln scheint zwar effektiv zu sein, ist aber nur "security by obscurity". Quasi Vernebelungstaktik. Ist der Zugang trotzdem schlecht gesichert, kann auch dort jemand einsteigen. Daher ist beides ratsam, Hand in Hand, Port wechseln und gleichzeitig Skripte wie fail2ban. 3 Fehllogins und die IP ist xx Stunden gebannt. Aber immer daran denken, dass man sich auch selbst vertippen kann > nicht zu aggressiv einstellen..
 
Raijin schrieb:
Aber immer daran denken, dass man sich auch selbst vertippen kann > nicht zu aggressiv einstellen..

Ich hab mich gerade einen ganzen Tag lang selbst ausgesperrt. Schuld daran war ein Vertipper in der /etc/ssh/sshd_config. Blödmann.

christoph3 schrieb:
hier wurden die essentielle security to do's aufgelistet.
http://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers
ich hoffe dein server wird mit ordentlich fachwissen betrieben :)

Danke für den Link, ist bereits eingearbeitet. Ich bin Anfänger, lasse aber derzeit meinen Server nur Dienste anbieten, die ich verstehe/in die ich mich einlese und die ich soweit wie möglich absichere.

iceview schrieb:
Das fand ich ganz hilfreich: Link

Super, danke, da lese ich mich in den nächsten Tagen ein! Wie immer: tolles Forum!

LG PG
 
Das ist voellig normal dass auf :22 herumgescanned und bruteforced wird.
Stell die Authentication per username ab, auch root. Lass nur keys zu und fertig ist die huette.
Fail2ban kann vom angreifer 'missbraucht' werden um Dienste zu stoeren - je nachdem was Du mit dem Server anstellst...

Grueße
 
PericoloGiallo schrieb:
Ich hab mich gerade einen ganzen Tag lang selbst ausgesperrt. Schuld daran war ein Vertipper in der /etc/ssh/sshd_config. Blödmann.
lol, ich habe dich gewarnt ;)

Normalerweise reicht es, wenn man den Login nur für einige Stunden (zB 4) sperrt. Wenn ein Bot nach 3 Logins ausgesperrt wird, kann er nicht effizient arbeiten und sucht sich sein nächstes Opfer. Das Rechenzentrum Würzburg, spricht sogar von einer Sperrung von nur 60 Sekunden. (Quelle: klick!). Das finde ich persönlich aber zu knapp.

Man kann auch von vornherein bestimmte IP-Ranges vollständig blocken oder nur bestimmte zulassen (hosts.allow / .deny). Wenn man zB nie in China unterwegs ist -> chinesische IPs blocken. Das kann allerdings eine recht lange Liste werden ;)

*edit
Oh, ich sehe gerade das RZ (Link s.o.) verwendet statt fail2ban ein anderes Tool, recent. Beide arbeiten etwas unterschiedlich. Während eines das Log nach fehlgeschlagenen Loginversuchen durchsucht (fail2ban, ähnlich wie zb auch denyhosts) und je nach Intervall auch etwas später die Tür zu macht, blockt recent in Echtzeit. Dann wären die 60 Sekunden Block wie im Artikel vorgeschlagen vertretbar, zumal recent sämtliche Loginversuche mitzählt, auch die erfolgreichen (=> 3x legitim an-/abmelden = block!). Mehr als 60 Sekunden würden bei recent dazu führen, dass man sich unter Umständen regelmässig selbst aussperrt, wenn man zB rebootet, aus Versehen putty schließt, etc..
 
Zuletzt bearbeitet:
Raijin schrieb:
lol, ich habe dich gewarnt ;)

Das kommt davon, wenn man sich auf einem 5"-Displays des Smartphones durch Konfigurationsdateien wühlt.
Da ich noch ungebübt im Lesen der Logdateien bzw. der Fehlersuche bin, hat die Behebung des Problems auch wieder eine Stunde in Anspruch genommen. Egal, ich nehms als notwendiges Erfahrungsammeln.

Danke nochmal für die tatkräftige Hilfe!

LG PG
 
Hallo liebe Freunde,

Weil ein Portwechsel oft als ungeeignete Sicherheitsmaßnahme dargestellt wird, möchte ich euch mitteilen, dass seit einigen Tagen überhaupt keine Zugriffsversuche in /var/log/auth.log mehr protokolliert werden. /var/log/fail2ban.log ist sogar völlig leer - ich hatte bei meiner Routinekontrolle befürchtet, den Dienst versehentlich gestoppt zu haben. Ach ja, der Server läuft ;-)

LG PG
 
Solche Bots suchen nach SSH auf Port 22, am besten mit user root.

Ist der root-Login nicht aktiviert, gibt es schonmal sehr sehr viel mehr Möglichkeiten, nämlich müsste man pro möglichem Benutzername (von a-z, A-Z, aaaaaaaaaaaaaaaa-ZZZZZZZZZZZZ-00000000000000-9999999999999) alles durchprobieren.

Bist du dann noch auf einem Port, der nicht dem Standard entspricht, bist du für die automatische Schwachstellensuche uninteressant.


Macht sich dagegen jemand Mühe, und hat es auf deinen Server abgesehen, probiert er natürlch alle Ports durch.
Womöglich hat er auch noch ein Botnetz mit zig verschiedenen IP-Ranges, hilft dir auch fail2ban wenig.

Ausserdem könnte er von deinem Namen (Domain-Registrierung etc) auch auf deinen Benutzernamen schliessen.

Alles eine Frage des Aufwands :)

MfG.
 
Ein Portwechsel ist nicht ungeeignet. Man darf das nur nicht überschätzen.

Security by obscurity nennt sich das. Guckt man sich den Standardport an, ist das so als wenn jeder, der an deiner Haustür vorbeiläuft, an der Tür rüttelt. Ist sie unverschlossen (kein oder schlechtes Passwort), dauert es nur Minuten bis der erste in deinem Schlafzimmer steht. Ist die Haustür aka Standardport aber zugemauert und stattdessen sind 65534 andere Türen daneben und irgendeine davon ist unverschlossen, werden fast alle Passanten einmal an der Haupttür rütteln und weitergehen. Macht sich aber einer die Mühe alle Türen zu testen, findet er auch die offene und stejt wieder in deinem Schlafzimmer. Einer von 1 Millionen Passanten reicht ja ;)
Deswegen verschließt man diese versteckte Tür trotzdem gut, um auch diesen einen fernzuhalten..

Will heißen: Portwechsel ist nur ein Teil eines Sicherheitskonzepts. Allein taugt es nur bedingt, gemeinsam mit sicherem Passwort und fail2ban, etc ist es ziemlich sicher.
 

Ähnliche Themen

O
Antworten
47
Aufrufe
4.111
J
Zurück
Oben