SSH-Zugriffsversuch

Rund um die Sicherheit des Systems und die Applikationen
Anonymous

SSH-Zugriffsversuch

Post by Anonymous » 2007-03-09 17:53

Hallo,

ich verfolge seit einiger Zeit meine /var/log/login und bemerke dabei des öfteren solche Zeilen:

Code: Select all

Dec 20 00:28:18 Arktur sshd[12363]: Invalid user test from 216.153.128.159
Dec 20 00:28:18 Arktur sshd[12363]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:18 Arktur sshd[12363]: input_userauth_request: invalid user test
Dec 20 00:28:18 Arktur sshd[12363]: Failed password for invalid user test from 216.153.128.159 port 33277 ssh2
Dec 20 00:28:18 Arktur sshd[12363]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:20 Arktur sshd[12364]: User guest not allowed because shell /dev/null is not executable
Dec 20 00:28:20 Arktur sshd[12364]: input_userauth_request: invalid user guest
Dec 20 00:28:20 Arktur sshd[12364]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:20 Arktur sshd[12364]: Failed password for invalid user guest from 216.153.128.159 port 33334 ssh2
Dec 20 00:28:20 Arktur sshd[12364]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:21 Arktur sshd[12365]: Invalid user admin from 216.153.128.159
Dec 20 00:28:21 Arktur sshd[12365]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:21 Arktur sshd[12365]: input_userauth_request: invalid user admin
Dec 20 00:28:21 Arktur sshd[12365]: Failed password for invalid user admin from 216.153.128.159 port 33387 ssh2
Dec 20 00:28:21 Arktur sshd[12365]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:22 Arktur sshd[12372]: Invalid user admin from 216.153.128.159
Dec 20 00:28:22 Arktur sshd[12372]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:22 Arktur sshd[12372]: input_userauth_request: invalid user admin
Dec 20 00:28:22 Arktur sshd[12372]: Failed password for invalid user admin from 216.153.128.159 port 33448 ssh2
Dec 20 00:28:23 Arktur sshd[12372]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:24 Arktur sshd[12373]: Invalid user user from 216.153.128.159
Dec 20 00:28:24 Arktur sshd[12373]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:24 Arktur sshd[12373]: input_userauth_request: invalid user user
Dec 20 00:28:24 Arktur sshd[12373]: Failed password for invalid user user from 216.153.128.159 port 33503 ssh2
Dec 20 00:28:24 Arktur sshd[12373]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:25 Arktur sshd[12374]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:25 Arktur sshd[12374]: Failed password for root from 216.153.128.159 port 33555 ssh2
Dec 20 00:28:25 Arktur sshd[12374]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:26 Arktur sshd[12381]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:26 Arktur sshd[12381]: Failed password for root from 216.153.128.159 port 33612 ssh2
Dec 20 00:28:27 Arktur sshd[12381]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:28 Arktur sshd[12382]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:28 Arktur sshd[12382]: Failed password for root from 216.153.128.159 port 33658 ssh2
Dec 20 00:28:28 Arktur sshd[12382]: Received disconnect from 216.153.128.159: 11: Bye Bye
Dec 20 00:28:29 Arktur sshd[12383]: Invalid user test from 216.153.128.159
Dec 20 00:28:29 Arktur sshd[12383]: reverse mapping checking getaddrinfo for mail1.nytas.com failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 20 00:28:29 Arktur sshd[12383]: input_userauth_request: invalid user test
Dec 20 00:28:29 Arktur sshd[12383]: Failed password for invalid user test from 216.153.128.159 port 33706 ssh2
Dec 20 00:28:29 Arktur sshd[12383]: Received disconnect from 216.153.128.159: 11: Bye Bye
Warum ich hier poste:
Ich war der Meinung, dass wenn ich über meine Firewall den Port 22 für SSH blocke, der Dienst dann auch nicht erreichbar ist von außen. Aber wieso spricht der Dienst z.B. auf Port 33706 an?

Und ist der Eindringling in mein System gekommen?

THX, für euere Hilfe.

Gruß

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: SSH-Zugriffsversuch

Post by daemotron » 2007-03-09 18:45

Waterloo wrote:Ich war der Meinung, dass wenn ich über meine Firewall den Port 22 für SSH blocke, der Dienst dann auch nicht erreichbar ist von außen
Wenn Du das richtig gemacht hast, ist das auch so (aber Du selbst kommst auch nicht mehr per SSH an die Kiste ran).
Waterloo wrote:Aber wieso spricht der Dienst z.B. auf Port 33706 an?
Das ist der Port der Gegenstelle.
Waterloo wrote:Und ist der Eindringling in mein System gekommen?
Das weiß ich nicht, aber wenn's nur nach Deinem Log-Auszug geht, dann nicht.

kumpel2
Posts: 46
Joined: 2006-08-09 16:13
Location: Essen Nord

Re: SSH-Zugriffsversuch

Post by kumpel2 » 2007-03-09 22:25

HI,

gut für dich vielleicht fail2ban.

Oder hol dir eine DSL-Flat mit fester IP und geb den SSH Port nur für deine IP frei ;)

Oder verleg den SSH Port auf einen Hohen Port >50 000...

LG

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: SSH-Zugriffsversuch

Post by daemotron » 2007-03-09 22:43

Auch wenn es wieder keiner hören will: zu allererst auf pubkey-Authentifizierung umsteigen und Auth per User/Passwort komplett verbieten. Damit wird keines dieser Passwort-Ratespielchen jemals zum Erfolg führen.

Wenn das erledigt ist, kann man solche Maßnahmen wie denyhosts, Portverlegung etc. in Betracht ziehen - die dienen aber in erster Linie dazu, Deine Logs sauber zu halten und den Kreis der Angreifer auf diejenigen einzuschränken, die es wirklich ernst meinen.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: SSH-Zugriffsversuch

Post by Joe User » 2007-03-10 13:52

Die Logs kann man auch durch Änderung des Loglevels sauber halten...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck

Re: SSH-Zugriffsversuch

Post by nyxus » 2007-03-10 14:14

Joe User wrote:Die Logs kann man auch durch Änderung des Loglevels sauber halten...
"LogLevel QUIET"? ;-) Es geht den meisten sicher eher darum, die automatisierten Fehlversuche nicht mehr im Log zu haben.

danu
Posts: 263
Joined: 2005-02-02 11:15

Re: SSH-Zugriffsversuch

Post by danu » 2007-03-11 22:10

und den Kreis der Angreifer auf diejenigen einzuschränken, die es wirklich ernst meinen
.. und dabei herausfinden, welche Attacke ernst ist ?
Die Flut der tälichen Logfiles durchzuchecken ist für mich ein Muss. Dabei ist mir denyhosts eine grosse Hilfe. Es ist sicher sinnvoll (Fehlersuche)soviel wie möglich zu loggen, aber das, was der Admin täglich sich ansehen muss, übersichtlich in /var/log/messages sichtbar ist. Die Prozessortemperatur ineressiert da recht wenig :P

buggy
Posts: 18
Joined: 2004-08-20 16:04

Re: SSH-Zugriffsversuch

Post by buggy » 2007-03-19 21:25

also ich habe auch das oben genannte problem. leider macht ein gewisser Benutzer:

Code: Select all

Mar 19 21:00:54 h2964 sshd[10076]: Received disconnect from ::ffff:88.214.208.27: 11: Bye Bye
Mar 19 21:00:55 h2964 sshd[10077]: Failed password for root from ::ffff:88.214.208.27 port 55922 ssh2
Mar 19 21:00:55 h2964 sshd[10077]: Received disconnect from ::ffff:88.214.208.27: 11: Bye Bye
Mar 19 21:00:56 h2964 sshd[10078]: Failed password for root from ::ffff:88.214.208.27 port 56153 ssh2
Mar 19 21:00:57 h2964 sshd[10078]: Received disconnect from ::ffff:88.214.208.27: 11: Bye Bye
Mar 19 21:00:58 h2964 sshd[10080]: Failed password for root from ::ffff:88.214.208.27 port 56442 ssh2
Mar 19 21:00:58 h2964 sshd[10080]: Received disconnect from ::ffff:88.214.208.27: 11: Bye Bye
Mar 19 21:01:00 h2964 sshd[10083]: Failed password for root from ::ffff:88.214.208.27 port 56798 ssh2
Was ist nun wirklich die beste Möglichkeit dieses zu unterbinden, da ich zur zeit mehr downtime als uptime des Servers habe.
Ich brauche jedoch von überall access weiterhin drauf, meinetwegen nmit bissel umwege aber net zuviel

codc
Posts: 97
Joined: 2004-01-08 02:55
Location: Tübingen

Re: SSH-Zugriffsversuch

Post by codc » 2007-03-19 23:30

@buggy - lesen:
jfreund wrote:Auch wenn es wieder keiner hören will: zu allererst auf pubkey-Authentifizierung umsteigen und Auth per User/Passwort komplett verbieten.

danu
Posts: 263
Joined: 2005-02-02 11:15

Re: SSH-Zugriffsversuch

Post by danu » 2007-03-20 02:21

denyhost bewirkt immerhin dass die Anzahl erfolgloser Loginversuche wirkungsvoll eingeschränkt wird, und somit die Chance, das richtige Passwort zu erraten. Ausserdem schreibt denyhost in die /etc/hosts.deny

Code: Select all

sshd: 219.80.34.78
sshd: 85.158.181.11
.
.
.
bei wiederholten Angriffswellen von derselben IP. Ich sehe darin einen wesentlichen Schutz. Dazu ist /var/log/messages von 2MB auf 1MB geschrumpft.

rootsvr
Posts: 538
Joined: 2005-09-02 11:12

Re: SSH-Zugriffsversuch

Post by rootsvr » 2007-03-20 16:22

codc wrote:@buggy - lesen:
jfreund wrote:Auch wenn es wieder keiner hören will: zu allererst auf pubkey-Authentifizierung umsteigen und Auth per User/Passwort komplett verbieten.
wie war das im Hetznerforum mit demjenigen der alles per publickey eingerichtet hat und dann mit der Lara (kein PublicKey) sich nicht lokal an seinem Server anmelden konnte.

Generell sind die Tests auf hirnlose Passwörter ungefährlich, machen nur ein paar Logeinträge. Wenn Du allerdings Passwörter wie "password", "sex", "admin" oder "root" hast wäre dir eh nicht zu helfen.

Key ist toll, bei sicheren (langen) passwörtern würde ich mir allerdings keine übergroßen Sorgen machen.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: SSH-Zugriffsversuch

Post by Joe User » 2007-03-20 16:27

danu wrote:denyhost bewirkt immerhin dass die Anzahl erfolgloser Loginversuche wirkungsvoll eingeschränkt wird...
Und funktioniert nur, wenn der SSHd mit Unterstützung für tcp-wrapper kompiliert wurde...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

blattlaus
Posts: 52
Joined: 2007-03-08 13:45

Re: SSH-Zugriffsversuch

Post by blattlaus » 2007-03-20 16:42

Erwähnt schon jemand fail2ban?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: SSH-Zugriffsversuch

Post by Roger Wilco » 2007-03-20 17:47

Blattlaus wrote:Erwähnt schon jemand fail2ban?
KuMpEl2 wrote:gut für dich vielleicht fail2ban.

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: SSH-Zugriffsversuch

Post by daemotron » 2007-03-20 18:27

matzewe01 wrote:Herje, immer diese Diskussionen.

Er hat nach gefragt... ist definitiv eine Methode, die die Sicherheit von SSH verbessert.
matzewe01 wrote:Mit Allowuser habe ich einen recht cryptischen Benutzername erlaubt.
Meine Erfahrung mit der sshd_config von Benutzern, die so etwas schreiben (nicht persönlich auf den Poster gemünzt, eher allgemein gesprochen, also nicht böse sein :wink:):
Ich war der Meinung, dass wenn ich über meine Firewall den Port 22 für SSH blocke
I. d. R. ist weder der Login als root verboten, noch der Zugriff auf eine Bestimmte Gruppe limitiert. Teilweise haben System-User /bin/bash als Shell eingetragen - von schwer zu erratenden Benutzernamen und kryptischen Passwörtern mal ganz zu schweigen... Die Praxis gibt mir leider immer wieder recht, wenn ich darauf poche, erst mal die Möglichkeiten von OpenSSH selbst auszuschöpfen, als auf Workarounds wie denyhosts & Co. auszuweichen. Mal davon abgesehen, dass die Code-Qualität bei OpenSSH um einiges höher sein dürfte als bei abenteuerlichen Perl- und Python-Skripten (nicht wegen der Programmiersprache, aber das ist quasi ein Markenzeichen der OpenBSD-Leute :wink: *SCNR*)

timeless2
Posts: 416
Joined: 2005-03-04 14:45
Location: Paris

Re: SSH-Zugriffsversuch

Post by timeless2 » 2007-03-21 00:47

matzewe01 wrote:Naja, und bei Deiner Erfahrung mit der Allgemeinheit, musst Du früher oder später damit rechnen, dass jemand hier aufschlägt und fragt, wie man auf einen Server kommt, wo man seinen ssh-key verloren hat. 8O
Oder den Super-kryptischen Benutzernamen oder/und Passwort 8O

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: SSH-Zugriffsversuch

Post by captaincrunch » 2007-03-21 07:23

Um mal einen neuen Punkt in die "sichere Passwort"-Diskussion einzubringen: (aber Achtung,) Schleichwerbung ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: SSH-Zugriffsversuch

Post by daemotron » 2007-03-21 07:54

matzewe01 wrote:Und was man sich im Kopf merken kann, geht bei einem Plattencrash nicht einfach so verloren.
Das's ja mal ein Argument - wozu gibt es USB-Sticks und Backups? OK, ist wahrscheinlich nicht ganz so weit hergeholt, dass Leute ihren Key zu Hause auf einem RAID0 ohne jedes Backup speichern... *Autsch*
matzewe01 wrote:Ich erwähne hierbei nur mal nebenbei der Zugang per Remote Console, den viele Provider anbieten.
Diesen Service kann man in vielen Fällen per Webinterface aktivieren.
Wenn man eine solche Möglichkeit hat, kann man durchaus einen authkey einsetzen.
Kann man auch, wenn man keine Remote Console hat - einen Provider ohne Rettungssystem würde ich erst gar nicht in Betracht ziehen...

Mal abgesehen davon drehen wir uns im Kreis. Mein Standpunkt: Man kann einen sshd auch ohne pubkey-Authentifizierung einigermaßen sicher betreiben - Voraussetzung sind aber Restriktionen für den SSH-Zugriff auf Benutzer- oder Gruppenebene und entsprechend sicher gewählte Usernamen und Passwörter. In den meisten Fällen, wenn solche Themen hier auf die Tagsordnung gebracht werden, ist aber keine dieser Maßnahmen umgesetzt worden.

So, zu guter letzt hier noch ein Beispiel für eine sshd_config, die einem den meisten Ärger vom Hals halten dürfte (außer private Schlüssel ohne Backup auf einem gecrashten RAID0 zu Hause) - ich beschränke mich durchaus nicht auf pubkey-auth bei der Absicherung:

Code: Select all

#Optional: Port verlegen, um Logs klein zu halten
Port 9922
Protocol 2

#Funktioniert nicht mit älteren OpenSSH-Versionen:
AddressFamily inet

#Wer mehrere IPs hat, kann hier einschränken
#ListenAddress 0.0.0.0

PermitRootLogin forced-commands-only
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

Subsystem sftp /usr/lib/misc/sftp-server

#Nur Mitglieder von wheel dürfen (und bei mir können auch nur die su ausführen)
AllowGroups wheel

Anonymous

Re: SSH-Zugriffsversuch

Post by Anonymous » 2007-07-13 16:40

Vielleicht bereits nicht mehr aktuell, trotzdem möcht ichs nicht versäumen, noch einen meiner Meinung nach viel zu wenig angesprochenen Lösungsansatz gegen Bruteforce Attacken zu nennen: iptables!
Ich halte mir die unliebsamen Bruteforcer so vom Hals:

Code: Select all

# SSH erlauben - aber vor bruteforce schützen
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 90 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 90 --hitcount 4 --rttl --name SSH -j DROP
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
Danebst sind sicherlich die root Logins generell auszuschalten, diesen Benutzernamen muss man gar nicht erst erraten, daher ist die Gefahr diesen zu "knacken" noch um einiges höher.
Obige Befehle (aus meinem Firewall script) bewerkstelligen, dass ein Verbindungsversuch auf den Port 22 von derselben IP aus bloss max. 3 Mal versucht werden kann, resp. genau genommen, dass maximal bis zu 3 Verbindungen innerhalb 90 sek. auf dem Port 22 von derselben IP aus erstellt werden können. Ab dem 4. Versuch werden die Pakete verworfen. Die Gegenstelle sitzt dann da und kriegt ein Timeout. Das schlimmste was passieren kann, ist dass man sich selbst 3 Mal vertippt und dann eineinhalb Minuten warten muss, um eine neue Verbindung aufzubauen...
Ich verzeichne damit einen nennenswerten Erfolg:

Code: Select all

Jul 13 06:20:01 [cron] (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
Jul 13 06:23:19 [kernel] SSH_brute_force IN=eth4 OUT= MAC=00:40:95:30:a8:15:00:14:f1:1b:23:01:08:00 SRC=88.115.65.242 DST=80.218.194.96 LEN=60 TOS=0x00 PREC=0x00 TTL=50 ID=14039 DF PROTO=TCP SPT=3669 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 
Jul 13 06:23:22 [kernel] SSH_brute_force IN=eth4 OUT= MAC=00:40:95:30:a8:15:00:14:f1:1b:23:01:08:00 SRC=88.115.65.242 DST=80.218.194.96 LEN=60 TOS=0x00 PREC=0x00 TTL=50 ID=14040 DF PROTO=TCP SPT=3669 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 
Jul 13 06:23:28 [kernel] SSH_brute_force IN=eth4 OUT= MAC=00:40:95:30:a8:15:00:14:f1:1b:23:01:08:00 SRC=88.115.65.242 DST=80.218.194.96 LEN=60 TOS=0x00 PREC=0x00 TTL=50 ID=14041 DF PROTO=TCP SPT=3669 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 
Jul 13 06:30:01 [cron] (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
Der "hacker" hat nach drei erfolgslosen Verbindungsversuchen abgebrochen. Bruteforce, bei welcher nach drei Versuchen bis zur nächsten Verbindung 90 sek. lang gewartet werden muss, lohnt sich nicht!