Security: Anmeldeverzögerung einbauen

borsti007

Well-Known Member
Tag,

ich sehe mir gerade meine /var/log/auth.log an. Darin finde ich seitenlange Einträge wie dieser hier:

Sep 30 09:03:08 zulu128 sshd[3150]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT! [preauth]
Sep 30 09:03:08 zulu128 sshd[3150]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 30 09:03:09 zulu128 sshd[3150]: Connection closed by 61.174.50.184 [preauth]
Sep 30 09:03:33 zulu128 sshd[3152]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT! [preauth]
Sep 30 09:03:33 zulu128 sshd[3152]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 30 09:03:33 zulu128 sshd[3152]: Connection closed by 61.174.50.184 [preauth]
Sep 30 09:05:50 zulu128 sshd[3154]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT! [preauth]
Sep 30 09:05:50 zulu128 sshd[3154]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 30 09:05:51 zulu128 sshd[3154]: Connection closed by 61.174.50.184 [preauth]
Sep 30 09:07:04 zulu128 sshd[3158]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT! [preauth]
Sep 30 09:07:04 zulu128 sshd[3158]: reverse mapping checking getaddrinfo for 184.50.174.61.dial.wz.zj.dynamic.163data.com.cn [61.174.50.184] failed - POSSIBLE BREAK-IN ATTEMPT!

Oder sowas (das ging bald 30min so):
Sep 30 14:29:44 zulu128 sshd[4503]: input_userauth_request: invalid user roger [preauth]
Sep 30 14:29:44 zulu128 sshd[4503]: Received disconnect from 199.217.113.211: 11: Bye Bye [preauth]
Sep 30 14:29:45 zulu128 sshd[4505]: Invalid user scott from 199.217.113.211
Sep 30 14:29:45 zulu128 sshd[4505]: input_userauth_request: invalid user scott [preauth]
Sep 30 14:29:46 zulu128 sshd[4505]: Received disconnect from 199.217.113.211: 11: Bye Bye [preauth]
Sep 30 14:29:47 zulu128 sshd[4507]: Invalid user storm from 199.217.113.211
Sep 30 14:29:47 zulu128 sshd[4507]: input_userauth_request: invalid user storm [preauth]
Sep 30 14:29:47 zulu128 sshd[4507]: Received disconnect from 199.217.113.211: 11: Bye Bye [preauth]
Sep 30 14:29:48 zulu128 sshd[4509]: Invalid user pieter from 199.217.113.211
Sep 30 14:29:48 zulu128 sshd[4509]: input_userauth_request: invalid user pieter [preauth]
Sep 30 14:29:48 zulu128 sshd[4509]: Received disconnect from 199.217.113.211: 11: Bye Bye [preauth]
Sep 30 14:29:49 zulu128 sshd[4511]: Invalid user amelie from 199.217.113.211
Sep 30 14:29:49 zulu128 sshd[4511]: input_userauth_request: invalid user amelie [preauth]
Sep 30 14:29:49 zulu128 sshd[4511]: Received disconnect from 199.217.113.211: 11: Bye Bye [preauth]
Sep 30 14:29:50 zulu128 sshd[4513]: Invalid user ucpss from 199.217.113.211
Sep 30 14:29:50 zulu128 sshd[4513]: input_userauth_request: invalid user ucpss [preauth]
Sep 30 14:29:50 zulu128 sshd[4513]: Received disconnect from 199.217.113.211: 11: Bye Bye [preauth]
Sep 30 14:29:51 zulu128 sshd[4515]: Invalid user ucpss from 199.217.113.211
Sep 30 14:29:51 zulu128 sshd[4515]: input_userauth_request: invalid user ucpss [preauth]
Sep 30 14:29:51 zulu128 sshd[4515]: Received disconnect from 199.217.113.211: 11: Bye Bye [preauth]


Aktuell nervt 88.150.239.4
root@zulu128:/var/log # cat auth.log
Sep 30 15:00:00 zulu128 newsyslog[4566]: logfile turned over due to size>100K
Sep 30 15:08:44 zulu128 sshd[4582]: Did not receive identification string from 88.150.239.4
Sep 30 15:12:28 zulu128 sshd[4596]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:13:25 zulu128 sshd[4600]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:14:19 zulu128 sshd[4602]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:15:11 zulu128 sshd[4606]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:15:36 zulu128 sshd[4608]: Connection closed by 122.225.109.108 [preauth]
Sep 30 15:15:59 zulu128 sshd[4610]: Connection closed by 122.225.109.108 [preauth]
Sep 30 15:16:03 zulu128 sshd[4612]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:16:35 zulu128 sshd[4614]: Connection closed by 122.225.109.108 [preauth]
Sep 30 15:16:57 zulu128 sshd[4616]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:17:29 zulu128 sshd[4618]: Invalid user admin from 122.225.109.108
Sep 30 15:17:29 zulu128 sshd[4618]: input_userauth_request: invalid user admin [preauth]
Sep 30 15:17:29 zulu128 sshd[4618]: Connection closed by 122.225.109.108 [preauth]
Sep 30 15:17:49 zulu128 sshd[4620]: Did not receive identification string from 88.150.239.4
Sep 30 15:18:40 zulu128 sshd[4621]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:19:32 zulu128 sshd[4623]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:20:24 zulu128 sshd[4627]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:21:18 zulu128 sshd[4629]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:22:10 zulu128 sshd[4642]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:23:05 zulu128 sshd[4644]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:23:54 zulu128 sshd[4646]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:24:44 zulu128 sshd[4648]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:25:42 zulu128 sshd[4659]: fatal: Read from socket failed: Connection reset by peer [preauth]
Sep 30 15:26:31 zulu128 sshd[4661]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:27:26 zulu128 sshd[4681]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:28:15 zulu128 sshd[4686]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:29:09 zulu128 sshd[4688]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:30:02 zulu128 sshd[4690]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:30:56 zulu128 sshd[4694]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:31:49 zulu128 sshd[4696]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:32:39 zulu128 sshd[4698]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:33:36 zulu128 sshd[4711]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:34:24 zulu128 sshd[4713]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:35:16 zulu128 sshd[4717]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:36:07 zulu128 sshd[4719]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:36:59 zulu128 sshd[4721]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:37:51 zulu128 sshd[4725]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:38:45 zulu128 sshd[4727]: fatal: Read from socket failed: Connection reset by peer [preauth]
Sep 30 15:39:34 zulu128 sshd[4729]: Invalid user git from 88.150.239.4
Sep 30 15:39:34 zulu128 sshd[4729]: input_userauth_request: invalid user git [preauth]
Sep 30 15:39:35 zulu128 sshd[4729]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:40:27 zulu128 sshd[4734]: Invalid user git from 88.150.239.4
Sep 30 15:40:27 zulu128 sshd[4734]: input_userauth_request: invalid user git [preauth]
Sep 30 15:40:27 zulu128 sshd[4734]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:41:16 zulu128 sshd[4736]: Invalid user oracle from 88.150.239.4
Sep 30 15:41:16 zulu128 sshd[4736]: input_userauth_request: invalid user oracle [preauth]
Sep 30 15:41:16 zulu128 sshd[4736]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:42:08 zulu128 sshd[4738]: Invalid user oracle from 88.150.239.4
Sep 30 15:42:08 zulu128 sshd[4738]: input_userauth_request: invalid user oracle [preauth]
Sep 30 15:42:08 zulu128 sshd[4738]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:42:57 zulu128 sshd[4740]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:43:53 zulu128 sshd[4744]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:44:44 zulu128 sshd[4757]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:45:40 zulu128 sshd[4761]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:46:36 zulu128 sshd[4763]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:47:29 zulu128 sshd[4765]: Did not receive identification string from 88.150.239.4
Sep 30 15:48:20 zulu128 sshd[4766]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:49:12 zulu128 sshd[4768]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:50:06 zulu128 sshd[4772]: Did not receive identification string from 88.150.239.4
Sep 30 15:50:59 zulu128 sshd[4773]: Connection closed by 88.150.239.4 [preauth]
Sep 30 15:51:46 zulu128 sshd[4775]: Invalid user postgres from 88.150.239.4
Sep 30 15:51:46 zulu128 sshd[4775]: input_userauth_request: invalid user postgres [preauth]
Sep 30 15:51:46 zulu128 sshd[4775]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:52:37 zulu128 sshd[4777]: Invalid user Soporte from 88.150.239.4
Sep 30 15:52:37 zulu128 sshd[4777]: input_userauth_request: invalid user Soporte [preauth]
Sep 30 15:52:37 zulu128 sshd[4777]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:53:27 zulu128 sshd[4779]: Invalid user Soporte from 88.150.239.4
Sep 30 15:53:27 zulu128 sshd[4779]: input_userauth_request: invalid user Soporte [preauth]
Sep 30 15:53:27 zulu128 sshd[4779]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:54:18 zulu128 sshd[4781]: Invalid user nagios from 88.150.239.4
Sep 30 15:54:18 zulu128 sshd[4781]: input_userauth_request: invalid user nagios [preauth]
Sep 30 15:54:18 zulu128 sshd[4781]: Received disconnect from 88.150.239.4: 11: Bye Bye [preauth]
Sep 30 15:55:11 zulu128 sshd[4796]: Did not receive identification string from 88.150.239.4

Kann man davon ausgehen das es sich hier um Botnetze handelt?

Wie könnte man eine Anmeldeverzögerung einbauen? Zum Beispiel sowas wie: IP 199.217.113.211 hat 10 mal versucht = heute ist Pause

Mit meinen Firewall rules (pf) bin ich noch nicht fertig. Könnte man sowas denn überhaupt mit pf realisieren?

Der eine oder andere Versuch auf root war bereits auch schon dabei.

Der Server ist ein Root-Server.
 
Das ist das ganz normale Hintergrundrauschen im Netz. Solange du ausreichend starke Passwörter oder noch besser ausschließlich Public-Key-Auth hast, droht dir dort keine Gefahr. Dennoch ist es natürlich sinnvoll, die Sache ein wenig zu begrenzen und IP-Adressen nach zu vielen Fehlversuchen zu blocken. Da gibt es verschiedene Möglichkeiten:
- Ich persönlich finde es per pf und expiretable am schönsten. Z.B. so: http://home.nuug.no/~peter/pf/en/bruteforce.html
- Es gibt noch andere Tools wie fail2ban
- Und zuletzt Tools, die /etc/hosts.deny nutzen wie denyssh
 
Ja, das sind Botnetze. Das sieht man oft, wenn man SSH-Ports offen hat. root ist ja nicht schlimm. Da ist ja standardmäßig "PermitRootLogin no" in sshd_config und das sollte man ja auch so lassen.

Es gibt diverse Ports, die pf automatisch mit Blocks anfüttern, wenn es Login-Fails gibt.
 
Root ist ja schlimm. Ich habe noch "PermitRootLogin Yes". Den Root-Server habe ich erst seit Freitag. :/

Werde ich nachher aber gleich ändern.
 
Root ist ja schlimm. Ich habe noch "PermitRootLogin Yes". Den Root-Server habe ich erst seit Freitag. :/

Werde ich nachher aber gleich ändern.

Vergiss aber nicht vorher einen anderen user anzulegen und dem die nötigen Rechte zu geben. ;)
 
Ich stelle mal zur Diskussion, ob das PermitRootLogin = Yes unbedingt schlimm ist - ich denke nicht.
Wenn eine ausreichend starke Authentisierungsmethode verwendet wird (PublicKey, 2-Faktor-Authentisierung...) macht das aus meiner Sicht nach keinen Unterschied.

Ich vertraue auf die Sicherheit meiner 2-Faktor-Authentisierung mit Smartcard + Pin.

Gruß
Markus
 
Ich stelle mal zur Diskussion, ob das PermitRootLogin = Yes unbedingt schlimm ist - ich denke nicht.
Wenn eine ausreichend starke Authentisierungsmethode verwendet wird (PublicKey, 2-Faktor-Authentisierung...) macht das aus meiner Sicht nach keinen Unterschied.

Ich vertraue auf die Sicherheit meiner 2-Faktor-Authentisierung mit Smartcard + Pin.

Nunja ob schlimm oder nicht will ich nicht bewerten. Ich persönlich halte nix von root-Logins per SSH aber das ist meine Meinung. Fakt ist jedoch, dass ein gehackter root-Login direkt zu vollen Rechten führt, keine Zwischenstufe die noch zu nehmen ist (und ggf noch auffallen kann). Zudem ist der Benutzername root schonmal bekannt, dann muss also "nur noch" die Autorisierung erfolgen. Ein Benutzername wie BennieSchnitzel muss halt auch erst noch "herausgefunden" werden. Und dann ist natürlich noch die Sache der Dokumentation. Wenn du mehrere Admins auf dem System hast sollten "anonyme" root-Logins allgemein nicht genutzt werden, denn wenn mal was schief geht "Wer wars?".
 
Wie gesagt, es gibt halt die zwei Lager und die Diskussion lässt sich sicherlich in beide Richtungen führen.

Bzgl. des "Wer wars" ist halt immer so die Sache, wie dein Logging aufgesetzt ist. Prinzipiell kann man die root-Logins anhand der Key-Fingerprints unterscheiden.
Meine Meinung ist, dass wenn du auf einer Zielmaschine unveränderbar nachweisen willst, was ein root-User getan hat, muss dies auf einer vorgeschalteten Kiste als unpriviligierter User mitgeschnitten werden. Ansonsten kannst je nach Aufwand eigentlich immer ums Logging herumkommen.

Gruß
Markus
 
Der Punkt ist folgendes. Wenn irgendwas an SSH-relevanter Software/Konfiguration temporär kaputt geht, dann hat der Angreifer kurzen Weg per root-Login. Es gibt ein Login weniger zum Raten. Nicht zu vergessen, dass man aus Versehen master.passwd kaputt machen kann. Es ist nur Sicherung gegen Unfälle. Nicht vergessen, dass man auch im HOME von root einige authentifizierungsrelevante Einstellungen zerstören/lockern kann.
 
Back
Top