bruteforce von vs161020...

ElNino

Registered User
Hallo Forum,

wie soll(te) ich reagieren? Habe bereits den Webmaster der ersten IP kontaktiert, für die andere IP verucht einen MX-Record zu bekommen, um den Zuständigen zu kontaktieren- leider negativ. Ist hier eine abuse@vserver.de angebracht?

Vielleicht kann jemand mit "erweiterten" Möglichkeiten den Kollegen informieren, er soll das bitte abstellen.

Schaut euch mal die Seite der ersten IP an. :confused:
Was soll ich tun, ein iptablesrule, welches auf die anklopfende IP weiterleitet?

Wäre für Tips dankbar,
Gruß Tom


PHP:
Feb 20 14:31:21 xxxxxx xinetd[21664]: START: ssh pid=14087 from=62.141.36.177
Feb 20 14:31:32 xxxxxx sshd[14087]: Did not receive identification string from 62.141.36.177

Feb 20 14:32:43 xxxxxx xinetd[21664]: START: ssh pid=13920 from=62.75.161.20hed
Feb 20 14:32:47 xxxxxx sshd[13920]: Failed password for nobody from 62.75.161.20 port 50161 ssh2
Feb 20 14:32:47 xxxxxx xinetd[21664]: START: ssh pid=17380 from=62.75.161.20
Feb 20 14:32:48 xxxxxx sshd[17380]: Illegal user patrick from 62.75.161.20
Feb 20 14:32:51 xxxxxx sshd[17380]: Failed password for illegal user patrick from 62.75.161.20 port 50254 ssh2
Feb 20 14:32:51 xxxxxx xinetd[21664]: START: ssh pid=19296 from=62.75.161.20
Feb 20 14:32:53 xxxxxx sshd[19296]: Illegal user patrick from 62.75.161.20
Feb 20 14:32:55 xxxxxx sshd[19296]: Failed password for illegal user patrick from 62.75.161.20 port 50333 ssh2
Feb 20 14:32:55 xxxxxx xinetd[21664]: START: ssh pid=23266 from=62.75.161.20
Feb 20 14:32:59 xxxxxx sshd[23266]: Failed password for root from 62.75.161.20 port 50435 ssh2
Feb 20 14:32:59 xxxxxx xinetd[21664]: START: ssh pid=27682 from=62.75.161.20
Feb 20 14:33:05 xxxxxx sshd[27682]: Failed password for root from 62.75.161.20 port 50532 ssh2
Feb 20 14:33:05 xxxxxx xinetd[21664]: START: ssh pid=4228 from=62.75.161.20
Feb 20 14:33:08 xxxxxx sshd[4228]: Failed password for root from 62.75.161.20 port 50652 ssh2
Feb 20 14:33:08 xxxxxx xinetd[21664]: START: ssh pid=9027 from=62.75.161.20
Feb 20 14:33:13 xxxxxx sshd[9027]: Failed password for root from 62.75.161.20 port 50730 ssh2
Feb 20 14:33:13 xxxxxx xinetd[21664]: START: ssh pid=14048 from=62.75.161.20
Feb 20 14:33:17 xxxxxx sshd[14048]: Failed password for root from 62.75.161.20 port 50833 ssh2
Feb 20 14:33:17 xxxxxx xinetd[21664]: START: ssh pid=18043 from=62.75.161.20
Feb 20 14:33:20 xxxxxx sshd[18043]: Illegal user rolo from 62.75.161.20TEN
Feb 20 14:33:23 xxxxxx sshd[18043]: Failed password for illegal user rolo from 62.75.161.20 port 50934 ssh2
Feb 20 14:33:23 xxxxxx xinetd[21664]: START: ssh pid=25348 from=62.75.161.20
Feb 20 14:33:23 xxxxxx sshd[25348]: Illegal user iceuser from 62.75.161.20
Feb 20 14:33:26 xxxxxx sshd[25348]: Failed password for illegal user iceuser from 62.75.161.20 port 51087 ssh2
Feb 20 14:33:26 xxxxxx xinetd[21664]: START: ssh pid=30151 from=62.75.161.20
Feb 20 14:33:28 xxxxxx sshd[30151]: Illegal user horde from 62.75.161.20EN
Feb 20 14:33:30 xxxxxx sshd[30151]: Failed password for illegal user horde from 62.75.161.20 port 51188 ssh2
Feb 20 14:33:30 xxxxxx xinetd[21664]: START: ssh pid=4162 from=62.75.161.20SHED
Feb 20 14:33:31 xxxxxx sshd[4162]: Illegal user cyrus from 62.75.161.20
Feb 20 14:33:34 xxxxxx sshd[4162]: Failed password for illegal user cyrus from 62.75.161.20 port 51339 ssh2
Feb 20 14:33:34 xxxxxx xinetd[21664]: START: ssh pid=9985 from=62.75.161.20
Feb 20 14:33:35 xxxxxx sshd[9985]: Illegal user www from 62.75.161.20
Feb 20 14:33:37 xxxxxx sshd[9985]: Failed password for illegal user www from 62.75.161.20 port 51457 ssh2
Feb 20 14:33:37 xxxxxx xinetd[21664]: START: ssh pid=14273 from=62.75.161.20
Feb 20 14:33:39 xxxxxx sshd[14273]: Illegal user wwwrun from 62.75.161.20
Feb 20 14:33:41 xxxxxx sshd[14273]: Failed password for illegal user wwwrun from 62.75.161.20 port 51554 ssh2
Feb 20 14:33:41 xxxxxx xinetd[21664]: START: ssh pid=19525 from=62.75.161.20
Feb 20 14:33:43 xxxxxx sshd[19525]: Illegal user matt from 62.75.161.20
Feb 20 14:33:45 xxxxxx sshd[19525]: Failed password for illegal user matt from 62.75.161.20 port 51694 ssh2
Feb 20 14:33:45 xxxxxx xinetd[21664]: START: ssh pid=23844 from=62.75.161.20
Feb 20 14:33:50 xxxxxx sshd[23844]: Illegal user test from 62.75.161.20
Feb 20 14:33:52 xxxxxx sshd[23844]: Failed password for illegal user test from 62.75.161.20 port 51811 ssh2
Feb 20 14:33:52 xxxxxx xinetd[21664]: START: ssh pid=32069 from=62.75.161.20
Feb 20 14:33:54 xxxxxx sshd[32069]: Illegal user test from 62.75.161.20
Feb 20 14:33:57 xxxxxx sshd[32069]: Failed password for illegal user test from 62.75.161.20 port 52021 ssh2
Feb 20 14:33:57 xxxxxx xinetd[21664]: START: ssh pid=6118 from=62.75.161.20
Feb 20 14:33:58 xxxxxx sshd[6118]: Illegal user test from 62.75.161.20
Feb 20 14:34:00 xxxxxx sshd[6118]: Failed password for illegal user test from 62.75.161.20 port 52207 ssh2
Feb 20 14:34:00 xxxxxx xinetd[21664]: START: ssh pid=12672 from=62.75.161.20
Feb 20 14:34:02 xxxxxx sshd[12672]: Illegal user test from 62.75.161.20
Feb 20 14:34:04 xxxxxx sshd[12672]: Failed password for illegal user test from 62.75.161.20 port 52330 ssh2
Feb 20 14:34:04 xxxxxx xinetd[21664]: START: ssh pid=18021 from=62.75.161.20
Feb 20 14:34:08 xxxxxx sshd[18021]: Illegal user www-data from 62.75.161.20
Feb 20 14:34:10 xxxxxx sshd[18021]: Failed password for illegal user www-data from 62.75.161.20 port 52462 ssh2
Feb 20 14:34:10 xxxxxx xinetd[21664]: START: ssh pid=25377 from=62.75.161.20
Feb 20 14:34:14 xxxxxx sshd[25377]: Failed password for mysql from 62.75.161.20 port 52631 ssh2
Feb 20 14:34:14 xxxxxx xinetd[21664]: START: ssh pid=31523 from=62.75.161.20
Feb 20 14:34:18 xxxxxx sshd[31523]: Failed password for operator from 62.75.161.20 port 52764 ssh2
Feb 20 14:34:18 xxxxxx xinetd[21664]: START: ssh pid=4896 from=62.75.161.20
Feb 20 14:34:22 xxxxxx sshd[4896]: Failed password for adm from 62.75.161.20 port 52890 ssh2
Feb 20 14:34:22 xxxxxx xinetd[21664]: START: ssh pid=9860 from=62.75.161.20
Feb 20 14:34:26 xxxxxx sshd[9860]: Failed password for apache from 62.75.161.20 port 52993 ssh2
Feb 20 14:34:26 xxxxxx xinetd[21664]: START: ssh pid=14433 from=62.75.161.20
<<<Logfile gekürzt>>>
Feb 20 14:38:03 xxxxxx sshd[28675]: Failed password for root from 62.75.161.20 port 57526 ssh2
Feb 20 14:38:12 xxxxxx xinetd[21664]: START: ssh pid=12933 from=62.75.161.20
Feb 20 14:38:14 xxxxxx sshd[12933]: Did not receive identification string from 62.75.161.20
 
Beim ersten der beiden Servern kannste davon ausgehen, dass es sich um einen PHPbb-Hack handelt.

Der zweite ist schon etwas problematischer, ein Portscan war nicht wirklich erfolgreich.

Als erstes würd ich die Anfragen mit iptables ins leere laufen lassen:

Code:
iptables -A INPUT -p tcp --dport 22 --source 62.75.161.20 -j DROP

Du kannst versuchen den Provider (www.server4you.de) zu kontaktieren, vielleicht wird der Kunde informiert.

Mehr wird nicht drin sein.
 
Hallo nochmal

erst einmal ein Danke für die Antworten.

Mittlerweile hat sich die Sache allerdings etwas verschärft. Ich weiss nicht weshalb, mein Server wird nun aber mit ssh brute force-Attacken regelrecht bombardiert. Ich bräuchte dringend etwas Unterstützung, bitte.

Im Netz habe ich etwas gefunden, was es den Angreifern etwas schwerer machen wird. Die Iptables Chain soll, soweit ich das verstanden habe (bitte um Korrektur, wenn nicht) nur innerhalb einer Periode von 60sec 3 Verbindungen von einer gleichen IP zulassen, welche sich bei erfolglosem Connect nicht für weiter 60sec wiederverbinden darf. Zusätzlich wird eine whitelist abgefragt, in welcher die IP´s bisheriger erfolgreicher Connects geführt werden, die wiederum die ZeitSperre umgehen soll.

bin mir nicht sicher, ob ich das richtig verstanden habe, insbesondere was die Whitelist angeht.

http://blog.andrew.net.au/tech/security

1. Kette für whitelist erstellen
======================
iptables -N SSH_WHITELIST

2. der/die zugelassenen host(s) der Kette hinzufügen
=======================================
iptables -A SSH_WHITELIST -s $TRUSTED_HOST -m recent --remove --name SSH -j ACCEPT

3. die eigentlichen iptables der Kette
===========================
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_WHITELIST
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j ULOG --ulog-prefix SSH_brute_force
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP


Wird das so funktionieren? Wenn ja, wie bekomme ich diese Regel statisch eingebunden?

Besten Dank schon mal,

Gruß Tom
 
ssh sshd Port ändern

Hallo Forum,

hier ein kleines Newbie-HowTo zum "härten" von sshd (Redhat) ohne dass man sich selbst ausschliesst. :D Kritik, Verbesserung sind natürlich erwünscht.

1. User anlegen
===============
ssh-login mit root(-Rechten)

#useradd -m $username
; $username= der Loginname den des neuen Users
; "-m" erstellt ein home/$username Verzeichnis

#passwd $username
; 2 x Passwort eingeben

2. sshd Port ändern
===================
editieren von etc/ssh/sshd_config

Zeile "#Port 22"
ändern in:
"Port 23456"
; anstatt 23456, eine gewünschte Portnummer eingeben, welcher >1024
; und von keinem anderen Dienst belegt ist, netstat -ant !

Zeile "#PermitRootLogin yes"
ändern in:
"PermitRootLogin no"

3. xinetd.d
====================
editieren von /etc/xinetd.d/sshd

Zeile "port 22"
ändern in:
"port 23456"

4. Neuen Userlogin testen
=========================
; hierfür eine weitere! ssh-session aufmachen, falls etwas beim useradd schief gegangen ist. die eigentliche Session geöffnet lassen.

ssh-login: $username
#password: ***
#su - root
; superuser werden,
; "-" ist wichtig, dass pfade für root neu gesetzt werden

5. sshd neu starten
===================
#/etc/initd.d/xinetd.d restart
; bestehende ssh-session über Port 22 bleibt erhalten

6. checken ob sshd auf neuem Port läuft
=======================================
#netstat -ant

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:23456 0.0.0.0:* LISTEN

7. weitere ssh-session auf neuen Port öffnen
============================================
ssh-login @Port:23456
; putty/scp anpassen nicht vergessen

#su - root
; superuser werden
; wenn das funktioniert, alle anderen bestehenden ssh-Sessions hostseitig beenden.

#netstat -ant
;überprüfen ob noch Port:22 Daemon laufen
; könnte so aussehen:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 xxx.xxx.xxx.xxx:* ESTABLISHED/FIN-WAIT

wenn ja, dann mit

#pstree -c -p
;prozess-id herausfinden und

#kill (prozess id)
; ID des alten! Port:22 Daemons

###


Gruß Tom
 
Was spricht gegen reine Publickey-Authentification? Da kann jemand wenn er will, sein Leben lang Pws ausprobieren und kommt nicht rein.
 
FPK said:
Was spricht gegen reine Publickey-Authentification? Da kann jemand wenn er will, sein Leben lang Pws ausprobieren und kommt nicht rein.
Advantages & disadvantages ;)
Vorteil hast du ja schon genannt, jedoch was machst du, wenn mal ganz dringend an den Server dran musst, wenn du unterwegs oder halt an einem anderen PC bist?
Immer einen USB-Notfalls-Stick dabeihaben?
Ich weiß ja nicht!
 
Wenn ich nicht selber der Admin eines PCs bin oder den Admin nicht kenne/vertraue traue ich auch nicht dem PC => Keine Chance das ich mich da mit Passwort oder Publickey bei meinem Server anmelde.
Bei PCs den ich traue hab ich mein Publickey gespeichert. Im letzten Urlaub hab ich mich mit Notebook ins Internetcafe gesetzt ;)

Zum Tutorial: Läuft ssh bei Redhat üder xinetd oder sshd? Sieht etwas konfus aus...
 
Last edited by a moderator:
Es ist unnötig den Port in Schritt 2 bzw etc/ssh/sshd_config zu ändern wenn ssh über xinetd läuft.
Für Schritt 4 braucht man keine neue ssh-seesion, ein einfaches login reicht aus. "su -" ist besser als "su - root", so wird sichergestellt das man auf jedenfall rootrechte bekommt, egal ob der User mit UserID 0 "root" oder sonstwie heißt. IMHO kann man den Schritt auch überspringen, man testet den Useraccount ja auch bei Schritt 7
#netstat -ant
#pstree -c -p
netstat -ltp #ist für sowas i.A. besser geeignet
;überprüfen ob noch Port:22 Daemon laufen
; könnte so aussehen:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 xxx.xxx.xxx.xxx:* ESTABLISHED/FIN-WAIT
ESTABLISHED/FIN-WAIT != LISTEN, das ist nur eine Verbindung die bald von alleine gekappt wird. Wenn man bei Schritt 3 und 5 alles richtig gemacht hat ist der Port 22 geschlossen und der Schritt unnötig. Wenn nicht lauscht xinetd noch auf Port 22 und wenn man den killt ist auch der neue ssh Port nicht mehr zu erreichen.
 
Last edited by a moderator:
Back
Top