Hak na bruteforce – SSH blacklist

Iptables, Ściąga Admina Zostaw komentarz

Bruteforce na SSH to strasznie irytująca plaga, szanse na udane włamanie są niewielkie gdy admin dba o serwer.
Jednakże wiecznie zaśmiecone logi i sam fakt … no krew zalewa.
Opisałem już wcześniej metodę opartą o haslimit, działa dobrze ale… dziś dodamy jeszcze jedno rozwiązanie.

Powstał fajny projekt, sshbl.org – (the SSH blacklist), co 15 minut tworzona jest czarna lista adresów IP z których przeprowadzane są ataki.
W prosty sposób wykorzystamy tą listę.

mkdir /etc/ssh-brute
cd /etc/ssh-brute
touch ssh.brute
chmod +x ssh.brute

w plik ssh.brute umieszczamy zawartość:

————————————————————————————————–
#!/bin/bash

PATH=”/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin”

adresy=`cat /tmp/ipki | grep [0-9] | grep -v „#”`
for x in $adresy
do
iptables -D INPUT -s $x -j DROP
done

wget http://www.sshbl.org/lists/base.txt -O /tmp/ipki

adresy=`cat /tmp/ipki | grep [0-9] | grep -v „#”`
for x in $adresy
do
iptables -I INPUT -s $x -j DROP
done
————————————————————————————————–

Teraz do crona dodamy wywołanie skryptu:
*/15 * * * * root /etc/ssh-brute/ssh.brute &>/dev/null

Powodzenia 😉

Update:

Kilka maszyn szalało przy dodaniu kolejnych paru tysięcy wpisów w iptables. Dlatego też pomyślałem o innej metodzie blokowania listy hostów z sshbl.org.
Padło na routing.

Gotowy skrypt:
######################################

#!/bin/bash

PATH=”/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin”

rm /tmp/ipki
wget -q http://www.sshbl.org/lists/base.txt -O /tmp/ipki

adresy=`route -n | grep \!H | awk ‚{print $1}’`
for x in $adresy
do
route del -host $x reject
done

adresy=`cat /tmp/ipki | grep [0-9] | grep -v „#”`
for x in $adresy
do
route add -host $x reject
done

###########################################

Działa wyśmienicie 😉

Share and Enjoy:
  • Print
  • Facebook
  • Twitter
  • Google Bookmarks

Potrzebujesz pomocy w Hak na bruteforce – SSH blacklist ? skontaktuj się z administratorem sieci oraz serwerów.

7 komentarzy do “Hak na bruteforce – SSH blacklist”

  1. essay sale Says:

    Nigdy w szczególności nie uczestniczy, ale teraz będę wiedział. Dzięki

  2. szyman Says:

    Masz tutaj drobny feler w skrypcie, cześć się powtarza

  3. szyman Says:

    cofam ostatnie 😛

  4. tier Says:

    nie dziala na slackware 13.2

    root@webserver:/etc/ssh-brute# ./ssh.brute
    awk: .{print
    awk: ^ syntax error
    awk: cmd. line:1: .{print
    awk: cmd. line:1: ^ unexpected newline or end of string
    #: Unknown host
    Mon: Unknown host
    Sep: Unknown host
    SIOCADDRT: File exists
    07:52:03: Unknown host
    SIOCADDRT: File exists
    CET: Unknown host

  5. k4c Says:

    A jeszcze prostsze rozwiązanie zmienić domyślny port sshd na jakiś wysoki port, np 70022 🙂

  6. lukasamd Says:

    Nie lepszy będzie np. fail2ban?

  7. OpenBL.org Says:

    Hi,

    the sshbl.org project is now the OpenBL.org project and while there are redirects configured the new URL should be used if possible.

    http://www.openbl.org/lists/base.txt

    Thanks!

Zostaw komentarz

WordPress - Hosting: Twój hosting - Skórka: N.Design Studio - Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj się