ssh daemon security

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
swar0g
Beiträge: 289
Registriert: 12.12.2002 22:07:17
Wohnort: Hannover

ssh daemon security

Beitrag von swar0g » 02.07.2005 10:33:59

Hab bei mir ständig einen ssh daemon laufen. Das ist nicht das Problem. Habe aber neuchlich in mein auth.log reingeschaut und bin ziemlich überrascht gewesen, wieviele Rechner aus dem Netz haben versucht, auf meinem Computer einzuloggen bzw zu hacken. Naja, was heißt hacken. Die haben versucht halt, mit einer bruteforce attack meinen usernamen/password rauszukriegen. Dies schaffen sie natürlich nicht, ist Blödsinn.

Aber immerhin. Da ich sehr paranoid bin, will ich versuchen, solche Arten von Angriffen abzuwehren. Hab keine entsprechende Option beim ssh daemon gefunden. Vielleicht gibt es irgendwelche anderen Möglichkeiten? Mit iptables? Ich bin dankbar für jeden Rat!



Und so sehen meine Logs aus. Megabytenweise.

Code: Alles auswählen

Jun 26 02:25:02 localhost sshd[15478]: Connection from 203.86.100.66 port 42606
Jun 26 02:25:04 localhost sshd[15478]: Invalid user mysql from 203.86.100.66
Jun 26 02:25:04 localhost sshd[15478]: Excess permission or bad ownership on file /var/log/btmp
Jun 26 02:25:04 localhost sshd[15478]: (pam_unix) check pass; user unknown
Jun 26 02:25:04 localhost sshd[15478]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=host1066.palcom.net 
Jun 26 02:25:06 localhost sshd[15478]: Failed password for invalid user mysql from 203.86.100.66 port 42606 ssh2
Jun 26 02:25:06 localhost sshd[15478]: Excess permission or bad ownership on file /var/log/btmp
Jun 26 02:25:07 localhost sshd[15481]: Connection from 203.86.100.66 port 42759
Jun 26 02:25:09 localhost sshd[15481]: Invalid user mysql from 203.86.100.66
Jun 26 02:25:09 localhost sshd[15481]: Excess permission or bad ownership on file /var/log/btmp
Jun 26 02:25:09 localhost sshd[15481]: (pam_unix) check pass; user unknown
Jun 26 02:25:09 localhost sshd[15481]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=host1066.palcom.net 
Jun 26 02:25:12 localhost sshd[15481]: Failed password for invalid user mysql from 203.86.100.66 port 42759 ssh2
Jun 26 02:25:12 localhost sshd[15481]: Excess permission or bad ownership on file /var/log/btmp
Jun 26 02:25:12 localhost sshd[15484]: Connection from 203.86.100.66 port 42917
Jun 26 02:25:14 localhost sshd[15484]: Invalid user mysql from 203.86.100.66
Jun 26 02:25:14 localhost sshd[15484]: Excess permission or bad ownership on file /var/log/btmp
Jun 26 02:25:14 localhost sshd[15484]: (pam_unix) check pass; user unknown
Jun 26 02:25:14 localhost sshd[15484]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=host1066.palcom.net 
Jun 26 02:25:17 localhost sshd[15484]: Failed password for invalid user mysql from 203.86.100.66 port 42917 ssh2
Jun 26 02:25:17 localhost sshd[15484]: Excess permission or bad ownership on file /var/log/btmp
Jun 26 02:25:17 localhost sshd[15487]: Connection from 203.86.100.66 port 43061
Jun 26 02:25:19 localhost sshd[15487]: Invalid user mysql from 203.86.100.66
Jun 26 02:25:19 localhost sshd[15487]: Excess permission or bad ownership on file /var/log/btmp
Jun 26 02:25:19 localhost sshd[15487]: (pam_unix) check pass; user unknown
d3 d0 c1 d3 c9 20 cd c9 d2 2c 20 d5 c2 c5 ca 20 d3 c5 c2 d1 0a

Benutzeravatar
Voyager_MP
Beiträge: 628
Registriert: 22.06.2004 10:04:07
Wohnort: Aachen

Beitrag von Voyager_MP » 02.07.2005 10:52:16

Hi, du könntest sshd so konfigurieren, das nur der zugriff von einer bestimmten ip möglich ist, das gleiche kannst du auch mit iptables realisieren.

aber sshd ist schon recht sicher, ich setzt es überall in der Firma ein und auch privat.
seit 5 Jahren ;)
Gruß Michel

Benutzeravatar
swar0g
Beiträge: 289
Registriert: 12.12.2002 22:07:17
Wohnort: Hannover

Beitrag von swar0g » 02.07.2005 11:02:49

Voyager_MP hat geschrieben:Hi, du könntest sshd so konfigurieren, das nur der zugriff von einer bestimmten ip möglich ist, das gleiche kannst du auch mit iptables realisieren.

aber sshd ist schon recht sicher, ich setzt es überall in der Firma ein und auch privat.
seit 5 Jahren ;)
Dies wird bei mir nicht gehen. Ich hab bei dyndns die IP Adresse meines Rechners eingetragen, um von überall einen Zugriff zu haben. Ist sehr bequem, wenn man grad nicht zuhause ist, mit putty & co auf dem Rechner was zu erledigen bzw eine Datei per sftp runterzuladen.

Woran ich denke, ist, wenn massenhafte Verbindungsversuche von irgendeiner IP Adresse kommen, diese IP Adresse für einige Zeit in eine Art Blacklist zu verbannen. Dabei soll das ganze System dennoch ein wenig tolerant sein, wenn ich von anderswo einlogge und paar Mal das falsche Passwort eintippe.

Ich weiß nur net, wie ich das realisieren soll :(
d3 d0 c1 d3 c9 20 cd c9 d2 2c 20 d5 c2 c5 ca 20 d3 c5 c2 d1 0a

peyote
Beiträge: 241
Registriert: 11.10.2003 19:00:42

Beitrag von peyote » 02.07.2005 12:16:44

Die Eintragungen im log nerven zwar etwas, aber falls Deine Passwörter nicht ganz schlecht gewählt sind besteht wohl keine echte Gefahr solange kein remote exploit in Umlauf ist. Schliesslich kann der Angreifer es ja nicht allzuoft pro Zeiteinheit probieren sich anzumelden. Den Wert kannst Du auch noch etwas runtersetzten, indem Du im Konfigfile die Anzahl gleichzeitiger, nicht authentifizierter Verbindungen runter setzt.
Recht effektiv ist auch die Mölichkeit den port für ssh einfach zu wechseln, dann ist auch Ruhe und Du bist sogar relativ sicher, falls es mal einen 0-day exploit gibt, denn die Angreifer scannen ja in der Regel nur den Standardport.
Den Port musst Du ja nichtmal tatsächlich ändern, denn es reicht ja einfach ein entsprechendes portforwarding am Router.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 04.07.2005 09:40:27

Das mit der Blacklist kann auch nach hinten losgehen. Wenn der Angreifer mit gefakten IPs kommt, kann er die echten IPs quasi aussperren ;)

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 04.07.2005 10:21:57

ich denke, ein wirkungsvolles mMittel ist das authentifizieren über Keys.
ausserdem ist es bequemer, falls man ssh-agent benutzt :)

Benutzeravatar
chu-i
Beiträge: 157
Registriert: 10.11.2005 23:29:01
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Berlin

Beitrag von chu-i » 31.12.2005 03:25:28

Ich habe ungefähr die gleicheZusammenstellung wie Du.
Für eine Blackliste würde ich ein Script laufen lassen das die Einträge in den Logs nach BruteForce scant.
Danach kannst Du die IP Adressen entweder über die iptables oder die /etc/hosts.deny sperren.
Ich denke jedoch das der Programmieraufwand den Nutzen nicht wert ist. :wink:

Ich hatte auch mal was gelesen mit einem Activator Port.
Funtzt ungefähr so.
Telnet auf Port xxx, wird von IPTABLES geblockt und gelogt.
Durch scannen des Logs wird für die abgewiesene IP-Adresse der sshd in einem Zeitfenster geöffnet.
z.B. 2 Min.
Danach wird der sshd wieder deaktiviert, falls es zu keiner gültigen Verbindungsaufnahme von der IP-Adresse aus kam.


Ist aber alles letztentlich nur "Sicherheit durch Verschleierung" und somit nicht wirklich geeky! :oops:
Thx & cya Chu-i

„Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren.“
Benjamin Franklin (1706-1790†)

Antworten