Zum Inhalt springen

ssh login spam /var/log/auth.log


Gast

Empfohlene Beiträge

hi,

hab meinen debian etch server mal wieder fit gemacht und mal in den logs gestoebert ob jemand versucht meinen ssh key zu bruteforcen... dabei is mir aufgefallen das jemand ununterbrochen versucht sich mit lustigen namen einzuloggen und wuerde das gerne irgendwie unterbinden, damit mir nich der traffic bzw. logspace um die ohren fliegt?

am besten irgendwie alles von der ip per iptables sperren?

  5061	May 30 17:01:15 h1342328 sshd[14170]: Invalid user bacp from xxx.xxx.xxx.xxx

  5062	May 30 17:01:17 h1342328 sshd[14172]: Invalid user radmin from xxx.xxx.xxx.xxx

  5063	May 30 17:01:18 h1342328 sshd[14174]: Invalid user q from xxx.xxx.xxx.xxx

  5064	May 30 17:01:19 h1342328 sshd[14176]: Invalid user ae from xxx.xxx.xxx.xxx

  5065	May 30 17:01:20 h1342328 sshd[14178]: Invalid user kw from xxx.xxx.xxx.xxx

  5066	May 30 17:01:22 h1342328 sshd[14180]: Invalid user er from xxx.xxx.xxx.xxx

  5067	May 30 17:01:23 h1342328 sshd[14182]: Invalid user sms from xxx.xxx.xxx.xxx

  5068	May 30 17:01:24 h1342328 sshd[14184]: Invalid user http from xxx.xxx.xxx.xxx

  5069	May 30 17:01:25 h1342328 sshd[14187]: Invalid user http from xxx.xxx.xxx.xxx

  5070	May 30 17:01:29 h1342328 sshd[14193]: Invalid user apache2 from xxx.xxx.xxx.xxx

  5071	May 30 17:01:30 h1342328 sshd[14195]: Invalid user apache2 from xxx.xxx.xxx.xxx

  5072	May 30 17:01:31 h1342328 sshd[14197]: Invalid user fo from xxx.xxx.xxx.xxx

  5073	May 30 17:01:33 h1342328 sshd[14199]: Invalid user km from xxx.xxx.xxx.xxx

  5074	May 30 17:01:34 h1342328 sshd[14202]: Invalid user art from xxx.xxx.xxx.xxx

  5075	May 30 17:01:35 h1342328 sshd[14204]: Invalid user home from xxx.xxx.xxx.xxx

  5076	May 30 17:01:38 h1342328 sshd[14211]: Invalid user sg from xxx.xxx.xxx.xxx

  5077	May 30 17:01:39 h1342328 sshd[14213]: Invalid user kn from xxx.xxx.xxx.xxx

  5078	May 30 17:01:40 h1342328 sshd[14216]: Invalid user mn from xxx.xxx.xxx.xxx

  5079	May 30 17:01:42 h1342328 sshd[14218]: Invalid user fire from xxx.xxx.xxx.xxx

  5080	May 30 17:01:43 h1342328 sshd[14220]: Invalid user firewall from xxx.xxx.xxx.xxx

  5081	May 30 17:01:45 h1342328 sshd[14224]: Invalid user oracle from xxx.xxx.xxx.xxx

  5082	May 30 17:01:46 h1342328 sshd[14226]: Invalid user user from xxx.xxx.xxx.xxx

  5083	May 30 17:01:48 h1342328 sshd[14228]: Invalid user local from xxx.xxx.xxx.xxx

  5084	May 30 17:01:49 h1342328 sshd[14230]: Invalid user print from xxx.xxx.xxx.xxx

  5085	May 30 17:01:50 h1342328 sshd[14277]: Invalid user sd from xxx.xxx.xxx.xxx

edit:

hab die ip mal entffernt.. die seite is ja mal von der richtig ekligen pornoschiene

Bearbeitet von nini_knoxville
Link zu diesem Kommentar
Auf anderen Seiten teilen

Leg den SSH-Port einfach auf einen hohen Port um, dann bist du vor 99% der Brute-Force-Angriffe sicher, da sie fast immer nur einen Portscan auf den Standardport machen und schauen, ob SSH läuft.

Hatte das Problem bei meinem Server auch mal und seitdem ich einen Port über 5000 gewählt habe, habe ich da keine Probleme mehr mit.

Einfach in der /etc/ssh/sshd_config den Port auf z.B. 15243 stellen, abspeichern und SSH neu starten. DAnn versuchen einzuloggen und wenns funktioniert, kann die Verbindung getrennt werden. Den entsprechenden Port sollte man sich natürlich merken/aufschreiben.

Wenn die Brute Force Angriffe immer nur von einer IP ausgehen, kann man diese natürlich auch per iptables sperren. Dann kann es aber sein, dass kurz danach das über eine andere IP geht und man das Problem schon wieder hat und man in einem Kreislauf landet. Man könnte natürlich auch komplette IP-Bereiche sperren - von den anderen kann dann aber trotzdem noch was kommen.

[edit]

Als zusätzliche Absicherung den root-Zugang auf jeden Fall verbieten und den Zugang nur mit einem gültigen SSH-Key erlauben. Dann kann, solange man mit seinem privaten Key sorgsam umgeht, darüber schonmal keiner mehr auf den rechner kommen. Ist zwar vielleicht etwas umständlicher, aber einen USB-Stick mit dem Key immer dabei zu haben ist ja auch normal kein Problem.

Wenn dann noch jemand dauernd Logins probiert, hat derjenige es speziell auf den Rechner abgesehen. Per SSH einloggen wird er sich dann aber trotzdem nicht mehr können. Da müsste man dann schauen, was es sonst noch für Zugange oder Sicherheitslücken auf dem System gibt.

[/edit]

Bearbeitet von Crash2001
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab bei mir das "Problem" mit iptables gelöst:


iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl  --name SSH -j LOG --log-prefix "SSH_brute_force "

iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP

Sperrt ab dem 4. Anmeldeversuch pro Minute die SourceIP für 60 sek. Die meisten Brutefocre Tools geben dann ganz schnell auf. Lässt sich auch schön auf andere Dienste ausweiten, z.B. FTP (Auf einem Firmen FTP wäre das aber mit vorsicht zu geniessen ;) )

Eine Kombination aus beiden Lösungen is wohl etwas Paranoid, aber da es kaum Aufwand darstellt... wieso nicht :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Jahr später...

Nice catch, t3quill4b0y

Komplizierter Weg:

Du machst das über nen Python Script, welches /var/log/auth.log durchwühlt und nen Iptables Script schreibt um die bösen Leute wegzuschließen. Allerdings nur die bösen Leute, welche versucht haben sich per SSH mit nem User anzumelden, den es nicht gibt.

"Failed password for invalid user userxy from 61.178.14.112 port 49549 ssh2"

Ich weiß das Ding hat noch Macken ;) Z.B. dass mein Server abschmiert, wenn ich zuviele Iptables regeln reinballer xD (meine auth.log is > 120MB groß und gibt mir 520 einzigartige IP Adresse von bösen Leuten Oo)

iptables: Memory allocation problem

iptables: Memory allocation problem

iptables: Memory allocation problem

iptables: Memory allocation problem

iptables: Memory allocation problem

iptables: Memory allocation problem

iptables: Memory allocation problem

iptables: Memory allocation problem

iptables: Memory allocation problem

Python Script

#!/usr/bin/python -tt


import re

import sys

import os

import stat


def main():


        file = open("/var/log/auth.log","r")

        text = file.read()

        file.close()

        liste = re.findall(r"Failed password for invalid user \w+ from (\d+.\d+.\d+.\d+) port \d+",text)

        #Zu filternder String: Sep 16 16:24:54 pv321 sshd[5236]: Failed password for invalid user userxy from 61.178.14.112 port 49549 ssh2

        unique_liste = []

        for i in range (0,len(liste)):

                if liste[i] not in unique_liste:

                        unique_liste.append(liste[i])


        outputfile = open("/skripte/iptables.sh","w")

        outputfile.write("#!/bin/sh" + "\n")

        outputfile.write("IPTABLES=/sbin/iptables" + "\n")

        outputfile.write("$IPTABLES -F" + "\n")

        outputfile.write("$IPTABLES -P INPUT ACCEPT" + "\n")

        outputfile.write("$IPTABLES -P OUTPUT ACCEPT" + "\n")

        outputfile.write("$IPTABLES -P FORWARD ACCEPT" + "\n")

        #Automatisch erzeugte Regeln

        outputfile.write("#---- Automatisch erzeugte Regeln ----" + "\n")

        for i in range (0,len(unique_liste)):

                outputfile.write("$IPTABLES -I INPUT -s " + unique_liste[i] + " -i venet -j DROP" + '\n')

        outputfile.write("#-------------------------------------" + "\n")

        outputfile.write("###### forwarding ######" + "\n")

        outputfile.write("echo 1 > /proc/sys/net/ipv4/ip_forward" + "\n")

        outputfile.write("exit" + "\n")

        outputfile.close()


        #Dateirechte vergeben -rwx------ 

        os.chmod("/skripte/iptables.sh", 448)


if __name__ == '__main__':

  main()

Durch das Python Script erstelltes Iptables Script

#!/bin/sh

IPTABLES=/sbin/iptables

$IPTABLES -F

$IPTABLES -P INPUT ACCEPT

$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -P FORWARD ACCEPT

#---- Automatisch erzeugte Regeln ----

$IPTABLES -I INPUT -s 77.39.19.67 -i venet -j DROP

$IPTABLES -I INPUT -s 72.252.208.230 -i venet -j DROP

$IPTABLES -I INPUT -s 94.229.71.27 -i venet -j DROP

$IPTABLES -I INPUT -s 211.38.137.44 -i venet -j DROP

$IPTABLES -I INPUT -s 62.166.203.250 -i venet -j DROP

$IPTABLES -I INPUT -s 203.125.118.252 -i venet -j DROP

$IPTABLES -I INPUT -s 60.250.38.179 -i venet -j DROP


#-------------------------------------

###### forwarding ######

echo 1 > /proc/sys/net/ipv4/ip_forward

exit

Iptables -L Ausgabe
       

root@pv321:/skripte# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

DROP       0    --  60-250-38-179.HINET-IP.hinet.net  anywhere            

DROP       0    --  203.125.118.252      anywhere            

DROP       0    --  cust203-250.dsl.as47377.net  anywhere            

DROP       0    --  211.38.137.44        anywhere            

DROP       0    --  no.rdns-yet.ukservers.com  anywhere            

DROP       0    --  72.252.208.230       anywhere            

DROP       0    --  77.39.19.67          anywhere            


Chain FORWARD (policy ACCEPT)

target     prot opt source               destination         


Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination  

Zu kompliziert? Zieht auch die Pyhton Classes von Google rein..fängt

an.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...