Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[FreeBSD] ssh brute force van meerdere ip's

Pagina: 1
Acties:

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
Hi,

Ik zit met een hele irritante ssh aanval..
Ik denk dat ik niet de enige ben, ik gok dat ik er een van velen ben in een lijstje met servers...

Nou vraag ik me af wat kan ik er tegen doen. Het is de laatste tijd nogal druk met ssh brute forers, maar daar heb ik sshguard voor geinstalleerd en toen was het vrij snel over.

Nu komt de aanval alleen van divese ip adressen, waarschijnlijk dus een botnetwerk..
Wat doe ik daar nou weer tegen?

Ik heb nu gelijk mijn ssh port van buitenaf gefirewalled maar dat is rete irritant als ik er zelf bij wil, dat moet ik nu via een vpn doen..

Zijn er nog slimmeriken die hier een idee over hebben?
Die ene user (ikzelf) heeft een prima password op zich, en ze zullen echt niet binnen komen, maar ik vind het gewoon irritant en ik hoop nog wat technieken op te steken op deze manier om zoiets tegen te gaan.

Google geeft me alleen maar oplossingen voor als het van 1 ip afkomstig is, maar dat had ik dus al afgevangen..

  • LuckY
  • Registratie: December 2007
  • Niet online
Je draait het ook op een andere poort?
en je gebruikt ok keys ,
Ik weet dat dat voor linux distro's helpt maar weet niet of dat ook voor BSD is

  • Blonde Tux
  • Registratie: Januari 2008
  • Laatst online: 26-11 14:54

Blonde Tux

<advertisement>

Deze heb ik momenteel draaien op mijn OpenBSD servert.

Werkt ongeveer gelijk met DenyHosts, maar hij exclude gewoon alle adressen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/ksh
#
#

NUM_TRIES=3

SSH_INVALID_USERS=`grep 'Invalid user' /var/log/authlog | awk '{ print $10 }' | sort -u`

for iu in $SSH_INVALID_USERS; do
   num=`grep $iu /var/log/authlog | wc -l`
   if [ $num -gt $NUM_TRIES ]; then
     echo "$iu" >> /var/tmp/invalid_users.list
   fi
done

cat /var/tmp/invalid_users.list | sort -u > /var/tmp/invalid_users.list

SSH_FAILED_PASSWORD=`grep 'Failed password for' /var/log/authlog | grep -v 'invalid user' | awk '{ print $11 }' | sort -u`

for fp in $SSH_FAILED_PASSWORD; do
   num=`grep $fp /var/log/authlog | wc -l`
   if [ $num -gt $NUM_TRIES ]; then
     echo "$fp" >> /var/tmp/failed_passwords.list
   fi
done

cat /var/tmp/failed_passwords.list | sort -u > /var/tmp/failed_passwords.list

cat /var/tmp/invalid_users.list /var/tmp/failed_passwords.list | sort -u > /var/tmp/blockers.list

pfctl -t kiddies -vTadd -f /var/tmp/blockers.list


Om te testen kan je pfctl -t kiddies -vTshow draaien.

Een andere is Fail2Ban.
Deze scan je /var/log/apache/error_log en bant alle IP met te veel PWD logins. Je kan zelf een quotum aan stellen, zodat je altijd zelf een paar kleine foutjes kan permiteren

Heet zand zand omdat het tussen zee en land ligt?


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Tja, er zijn inderdaad distributed-attacks op ssh tegenwoordig, dus dat is lastig.

je zou kunnen overwegen om alleen bepaalde bron-ips toe te staan, of je kunt wachtwoord-authentificatie uitschakelen, portknocking werkt wellicht ook. Voorlopig zal het veranderen van de port ook nog wel wat verlichting brengen.

Op zich is het ook niet zo erg natuurlijk, maar er is wel behoorlijk wat ruis in de logbestanden...

[ Voor 14% gewijzigd door begintmeta op 09-12-2008 15:40 ]


Verwijderd

Als je poort 11000 (oid) gebruikt blijven de attacks dan?

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Tja, het probleem is natuurlijk dat de aanvallers te limits niet snel bereiken omdat het een distributed attack is, als je het maar genoeg distribueert komt er maar een poging van elk IP.

Ook moet je altijd uitkijken dat je het de aanvaller niet makkelijker maakt een denial-of-service attack te doen of ook exploits in aanvullende programma's te gebruiken.

Omdat ik weet dat de wachtwoorden die bij mij gebruikt worden OK zijn, kan ik best leven met wat snel groeiende authlogs die wat teveel ruis bevatten.

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
Ik vroeg me eigenlijk af of het niet mogelijk was om bijvoorbeeld alleen vanaf bepaalde ip-ranges password logins toe te laten, en dat alles buiten die range een certificaat nodig heeft.. zoeen die je met sshkeygen genereert.

Kan dit? Via ssh zelf? of ander via pam?

Ik kan er zelf niet echt iets zinvols over vinden, het is of het een of het ander, maar een combinatie is niet terug te vinden.
Dat kan natuurlijk betekenen dat het gewoonweg niet mogelijk is... :/

Verwijderd

Volgens mij is dit niet mogelijk.

Ik zit toevallig bij xs4all en heb daar ook shell access. Ik allow alleen ssh connecties van bekende ip's (zoals werk, vrienden etc.) en van de shell servers van xs4all. Op die manier kan ik, als ik van een ip kom die niet wordt toegelaten, eerst ssh'en naar een shell server van xs4all en dan door hoppen naar m'n eigen bak. Zo leg ik eigenlijk het probleem bij xs4all neer.

  • serkoon
  • Registratie: April 2000
  • Niet online

serkoon

mekker.

Dit is wat ik doe:

code:
1
ngrep -drl0 -l -q SSH-2.0-libssh-0.2 port 22 | grep --line-buffered "^T" | while read line ; do echo $line | awk '{print $2}' | cut -d ':' -f1 >> /etc/lamers; pf.reload >/dev/null 2>&1; done


De file /etc/lamers is in PF als table gedefinieerd die vervolgens volledig geblockt wordt. Het scriptje 'pf.reload' herlaadt de PF ruleset.

(Het is overigens zo'n lelijke one-liner vanwege buffering issues.. het script is nu, bij mij, alsnog te traag om de attempt te voorkomen, maar het blockt de attacker iig voor de volgende keer)

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Ben ff te lam om je scriptregel te doorgronden, wat doe je nou precies om distributed attacks te voorkomen?

  • serkoon
  • Registratie: April 2000
  • Niet online

serkoon

mekker.

Wat mij opviel was dat al die attacks zichzelf met een banner 'SSH-2.0-libssh-0.2' melden. Ik grep dus door het netwerkverkeer naar die string en filter elk adres wat zich daarmee meldt op port 22. Lekker lomp dus :)

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
hmm, tot ze random strings gaan gebruiken.

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
Maar tot die tijd werkt het wel.....
Die oplossing van vanaf de xs4all server ssh-en is ook wel een strak plan.. ik zit ook bij xs4all dus die mogelijkheid heb ik ook.
Pagina: 1