SSH Bruteforce - Was tun?

Dieses Thema im Forum "Linux & BSD" wurde erstellt von ghma83, 16. November 2011 .

Schlagworte:
  1. 16. November 2011
    Hey,

    momentan versucht jemand vehement, meinen Server lahmzulegen und einzubrechen.
    Erst vor ein paar Tagen habe ich einen SYN DoS entdeckt.
    Der Feind hat sich in unserer Community auf primitive Schreibweise erkennbar gegeben (über VPN und Proxy allerdings, leider nicht nachzuverfolgen), dass er sich zum Ziel gesetzt hat, uns lahmzulegen.

    Jetzt kommt das nächste, ein ssh Bruteforce á la dem hier (über "lsof -i tcp" an der offenen sshd connection entdeckt):

    Code:
    Nov 16 20:33:01 xxx.net sshd[14104]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:01 xxx.net sshd[14104]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:03 xxx.net sshd[14104]: Failed password for invalid user tester from ***.106.86.67 port 36187 ssh2
    Nov 16 20:33:06 xxx.net sshd[14106]: Invalid user tester from ***.106.86.67
    Nov 16 20:33:06 xxx.net sshd[14106]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:06 xxx.net sshd[14106]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:08 xxx.net sshd[14106]: Failed password for invalid user tester from ***.106.86.67 port 43001 ssh2
    Nov 16 20:33:11 xxx.net sshd[14108]: Invalid user tester from ***.106.86.67
    Nov 16 20:33:11 xxx.net sshd[14108]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:11 xxx.net sshd[14108]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:13 xxx.net sshd[14108]: Failed password for invalid user tester from ***.106.86.67 port 50405 ssh2
    Nov 16 20:33:16 xxx.net sshd[14110]: Invalid user tester from ***.106.86.67
    Nov 16 20:33:16 xxx.net sshd[14110]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:16 xxx.net sshd[14110]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:18 xxx.net sshd[14110]: Failed password for invalid user tester from ***.106.86.67 port 56965 ssh2
    Nov 16 20:33:20 xxx.net sshd[14114]: Invalid user tester from ***.106.86.67
    Nov 16 20:33:20 xxx.net sshd[14114]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:20 xxx.net sshd[14114]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:22 xxx.net sshd[14114]: Failed password for invalid user tester from ***.106.86.67 port 53960 ssh2
    Nov 16 20:33:28 xxx.net sshd[14116]: Invalid user tester from ***.106.86.67
    Nov 16 20:33:28 xxx.net sshd[14116]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:28 xxx.net sshd[14116]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:30 xxx.net sshd[14116]: Failed password for invalid user tester from ***.106.86.67 port 59679 ssh2
    Nov 16 20:33:33 xxx.net sshd[14122]: Invalid user tester from ***.106.86.67
    Nov 16 20:33:33 xxx.net sshd[14122]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:33 xxx.net sshd[14122]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:35 xxx.net sshd[14122]: Failed password for invalid user tester from ***.106.86.67 port 42712 ssh2
    Nov 16 20:33:37 xxx.net sshd[14132]: Invalid user tester from ***.106.86.67
    Nov 16 20:33:37 xxx.net sshd[14132]: pam_unix(sshd:auth): check pass; user unknown
    Nov 16 20:33:37 xxx.net sshd[14132]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=***.106.86.67 
    Nov 16 20:33:40 xxx.net sshd[14132]: Failed password for invalid user tester from ***.106.86.67 port 48478 ssh2
    Mich nervt das mittlerweile nurnoch. Hab ihn jetzt mal über hosts.deny ausgesperrt.
    Ich habe schon von fail2ban gehört und auch ein wenig gelesen. Wäre das eine Möglichkeit um Angriffe zu verhindern, wenn man mal gerade nicht auf den Server schaut?

    Am schönsten wäre eigentlich auch ein Filter, der sich mit einer der vielen IP-Abuse Lists synct und denen garkeinen Zutritt gewährt.

    Vielen Dank im Voraus!
     
  2. 16. November 2011
    AW: SSH Bruteforce - Was tun?

    Ich hatte das gleiche Problem wie du und hab dann fail2ban versucht und alles lief dann auch wunderbar.

    Der erste satz auf der Seite sagt doch schon alles aus:

    Fail2ban scans log files like /var/log/pwdfail or /var/log/apache/error_log and bans IP that makes too many password failures. It updates firewall rules to reject the IP address.

    Ist doch genau das was du willst
     
  3. 16. November 2011
    AW: SSH Bruteforce - Was tun?

    Kann da meinem vorredner nur zustimmen. Fail2ban und ruhe is.
    Ich hab auch ein script für php-Anfragen für fail2ban. dann bist die ständigen anfragen nach php-myadmin und so auch los (google phpmyadmin fail2ban)

    Greetz jojo
     
  4. 16. November 2011
    AW: SSH Bruteforce - Was tun?

    Hey,

    könntest auch den SSH Port ändern. So Attacken gehen ja meistens sofort an Port 22.


    lulox
     
  5. 17. November 2011
    AW: SSH Bruteforce - Was tun?

    iptables ip blocken (oder gleich ein limit pro anfragen an den ssh port setzen).

    Ansonsten abuse schreiben und ignorieren.

    Deine SSH User sollten sich ja eh nur per sicherem Passwort oder Zertifikat authentisieren können.
     
  6. 17. November 2011
    AW: SSH Bruteforce - Was tun?

    Hab ich mein meinem Server auch so gemacht. Seit dem ist Ruhe in der auth.log
     
  7. 17. November 2011
    AW: SSH Bruteforce - Was tun?

    Nein nein nein... Nur Fail2Ban und ruhe ist defintiv die falsche Lösung .. rofl
    Um den SSH_Dienst abzusichern:
    Port ändern auf min XXXXX, keine Passwortauthentitizierung, nur mit Keyfile - dann haste ruhe und kannst auch sicher sein, dass niemand trotz bruteforce, was au immer an Fail2ban vorbei kommt...

    Bei einem frisch aufgesetztn Root, füllt sich der SSH-Fail log recht schnell. Hat nichtma was zu sagen das dir jemand was will, sondern is alles automatisch, Range scannen, wo Port 22 offen is und try & error so nachn motto.

    Wichtige Logins ala phpmyadmin, falls man das überhaupt umbedingt braucht immer .htaccess .....
     
  8. 17. November 2011
    AW: SSH Bruteforce - Was tun?

    iptables-limit nicht vergessen, schau hier mal nach: SSH iptables limit recipe. – tummy.com, ltd.
    ...mfg coach
     
  9. 17. November 2011
    AW: SSH Bruteforce - Was tun?

    Naja, wenn man das zeug schon unbedingt braucht, würde ich den Zugriff nur von erlaubten Ips / Ranges (Falls es nicht anders geht) zulassen. Selbes gilt auch für SSH, und sonstige Dienste, die nicht für die Öffentlichkeit gedacht sind.
     
  10. 20. November 2011
    AW: SSH Bruteforce - Was tun?

    es gibt da noch andere mögliche spielereien wie z.b. den KnockD.
    nach außen scheint der server keine offenen ports zu haben, tatsächlich horcht der knockd auf allenm ports und wartet darauf von einem knock clienten ein bestimmtes pingmuster auf verschiedene ports zu erhalten. wenn ein passendes muster erkannt wurde, öffnet der knockd für die quell-id für eine bestimmte zeitspanne einen bestimmten port, z.b. den ssh port.
    hat allerdings auch nachteile:
    - alle pakete auf alle ports (oder zumindest die überwachten) müssen vom knockd überwacht und analysiert werden.
    - kackt der knockd ab, hast du ein problem ^^
     
  11. 20. November 2011
    AW: SSH Bruteforce - Was tun?

    jops, wenn portknocking, dann mit failover-strategie^^ könntest nen kleines watchdog-skript schreiben oder nen entsprechendes programm benutzen. dann solltest langsam sicher genug sein mit den tipps hier xD ...mfg coach
     
  12. 20. November 2011
    AW: SSH Bruteforce - Was tun?

    portknocking mit so nem programm kann man aber vorm abstürzen auch noch absichern. Kleiner Cronjob, checkt alle X Minuten ob der Prozess läuft und wenn nicht restart des prozesses ... bzw einmal am tag so restarten.
     
  13. 21. November 2011
    AW: SSH Bruteforce - Was tun?

    Ich verwende Denyhosts.

    Fail2Ban ist etwas unpraktikabel da man hin und wieder auch selbst mal das PW falsch eintippt wird bei "Success" nicht der counter resetet. Fail2Ban für alles andere aber nicht SSH.

    Port umlegen ist natürlich eine Lösung, fällt bei mir aber praktisch weg da ich sonst von der Arbeit nicht draufkomme. Daher Denyhosts, bin absolut zufrieden und bekomme auch immer schön Reports.

    Denyhosts Blockierungen greifen natürlich nur bei Programmen die die hosts.deny abfragen.

    Meist schafft der Angreifer 3 Anfragen dann is Ruhe.


    Gruß
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.