Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Banowanie ludkow laczacych sie przez ssh
http://forum.freesco.pl/viewtopic.php?f=22&t=10841
Strona 1 z 2

Autor:  czerwo [ sobota, 21 stycznia 2006, 16:54 ]
Tytuł:  Banowanie ludkow laczacych sie przez ssh

Jako ze ostatnio mam miliony prob wlamania przez ssh naszkrobalem male co nieco :)
Po 6 nieudancyh probach blokuje ip ;]


#!/bin/sh

if [ ! -r /etc/ssh/stare ]; then
touch /etc/ssh/stare
fi
rm /etc/ssh/nowe
for IP in `cat /var/log/auth | grep "Invalid user" | awk '{print $10}' | uniq` ;do
ile=`cat /var/log/auth | grep -w $IP | wc -l`
if [ $ile -gt 6 ]; then
echo $IP >> /etc/ssh/nowe
fi
done
for IP in `comm -2 -3 /etc/ssh/nowe /etc/ssh/stare` ;do
iptables -I INPUT -s $IP -p tcp -j DROP
iptables -I FORWARD -s $IP -p tcp -j DROP
iptables -I INPUT -d $IP -p tcp -j DROP
iptables -I FORWARD -d $IP -p tcp -j DROP
echo $IP >> /etc/ssh/stare
done

Caly skrypt umiescilem w /etc/ssh pod nazwa blokada
Jeszcze do /etc/rc.d/rc.local dopisalem sobie

for IP in `cat /etc/ssh/stare` ;do
iptables -I INPUT -s $IP -p tcp -j DROP
iptables -I FORWARD -s $IP -p tcp -j DROP
iptables -I INPUT -d $IP -p tcp -j DROP
iptables -I FORWARD -d $IP -p tcp -j DROP
done

i jeszcze do crona trzeba dopisac
*/5 * * * * /etc/ssh/blokada

Autor:  Gość [ sobota, 21 stycznia 2006, 18:16 ]
Tytuł: 

Fajno ja też mam duuuużo prób logowania, napewno się przyda, zaraz przetestuje. A na jak długo jest banowany dany adres ip ??

Autor:  dzióra [ sobota, 21 stycznia 2006, 18:22 ]
Tytuł:  Re: Banpowanie ludkow laczacych sie przez ssh

czerwo pisze:
Caly skrypt umiescilem w /etc/ssh pod nazwa blokuj


czerwo pisze:
i jeszcze do crona trzeba dopisac
*/5 * * * * /etc/ssh/blokada


Sorki, ale czy tu nie wkradł się błąd. Sam myslałem o tym, ale moja wiedza na temat skryptów w bashu dopiero pęcznieje :) :D

Pozdrówka

Autor:  mih2 [ sobota, 21 stycznia 2006, 18:48 ]
Tytuł: 

A nie prościej zmienić port nasłuchu średnio na standardowym miałem 3-4 próby wlamania dzienie po zmianie chyba jeszcze niebylo. (dysk stary i jak zapisywał logi hałasował wiec postanowilem z tym coś zrobić no i zmieniłem :P:P)

Autor:  barte-k [ sobota, 21 stycznia 2006, 19:32 ]
Tytuł: 

OK, mam pytanie innej natury:

Czy nie wystrczy w hosts.allow wpisac:

sshd : 192.168.0.2

A w hosts.deny:

all:all deny

??

Autor:  blackangel [ sobota, 21 stycznia 2006, 21:04 ]
Tytuł: 

barte-k pisze:
OK, mam pytanie innej natury:

Czy nie wystrczy w hosts.allow wpisac:

sshd : 192.168.0.2

A w hosts.deny:

all:all deny

??


No tak ale jak ty się bedziesz chciał dostać z zewnątrz to jak się dostaniejsz?

Autor:  czerwo [ sobota, 21 stycznia 2006, 21:40 ]
Tytuł:  Re: Banpowanie ludkow laczacych sie przez ssh

dzióra pisze:
czerwo pisze:
Caly skrypt umiescilem w /etc/ssh pod nazwa blokuj


czerwo pisze:
i jeszcze do crona trzeba dopisac
*/5 * * * * /etc/ssh/blokada


Sorki, ale czy tu nie wkradł się błąd. Sam myslałem o tym, ale moja wiedza na temat skryptów w bashu dopiero pęcznieje :) :D

Pozdrówka


sorki pisalem z glowy oczywisice ze ma sie nazywac blokada albo w cronie inaczej wpisac.

Cytuj:
A nie prościej zmienić port nasłuchu średnio na standardowym miałem 3-4 próby wlamania dzienie po zmianie chyba jeszcze niebylo. (dysk stary i jak zapisywał logi hałasował wiec postanowilem z tym coś zrobić no i zmieniłem


wtedy nie moge kopiowac przez mc po powloce.....

Cytuj:
Fajno ja też mam duuuużo prób logowania, napewno się przyda, zaraz przetestuje. A na jak długo jest banowany dany adres ip ??

Na czas nieograniczony, wystarczy zrobic skrpt ktory zdejme blokade i dopisac do crona.

Autor:  barte-k [ niedziela, 22 stycznia 2006, 01:13 ]
Tytuł: 

blackangel pisze:
barte-k pisze:
OK, mam pytanie innej natury:
bla bla bla

??


No tak ale jak ty się bedziesz chciał dostać z zewnątrz to jak się dostaniejsz?

host.allow :
sshd : host/ip_z_ktorej_sie_lacze

:P

Autor:  MAC!EK [ niedziela, 22 stycznia 2006, 03:01 ]
Tytuł:  Re: Banpowanie ludkow laczacych sie przez ssh

czerwo pisze:
Cytuj:
A nie prościej zmienić port nasłuchu średnio na standardowym miałem 3-4 próby wlamania dzienie po zmianie chyba jeszcze niebylo. (dysk stary i jak zapisywał logi hałasował wiec postanowilem z tym coś zrobić no i zmieniłem


wtedy nie moge kopiowac przez mc po powloce.....

w /etc/ssh/ssh_config jest takie coś:
: [/] [] ()
   Port 22
jak zmienisz to będzie się domyślnie łączył na inny port, MC powinien też korzystać z tego

Autor:  czerwo [ niedziela, 22 stycznia 2006, 10:47 ]
Tytuł: 

Mozliwe nie sprawdzalem, ale narazie mi sie podoba to co zrobilem :)

Autor:  czerwo [ niedziela, 22 stycznia 2006, 11:15 ]
Tytuł: 

poprawka :) zapomnialem ze do comma trzeba posortowac :)

: [/] [] ()
#!/bin/sh
if [ ! -r /etc/ssh/stare ]; then
touch /etc/ssh/stare
fi

for IP in `cat /var/log/auth | grep "Invalid user" | awk '{print $10}' | uniq` ;do
ile=`cat /var/log/auth | grep -w $IP | wc -l`
if [ $ile -gt 3 ]; then
echo $IP >> /etc/ssh/nowe.1
fi
if [ ! -r /etc/ssh/nowe.1 ]; then
touch /etc/ssh/nowe.1
fi
sort /etc/ssh/nowe.1 > /etc/ssh/nowe
done
for IP in `comm -2 -3 /etc/ssh/nowe /etc/ssh/stare` ;do
iptables -I INPUT -s $IP -p tcp -j DROP
iptables -I FORWARD -s $IP -p tcp -j DROP
iptables -I INPUT -d $IP -p tcp -j DROP
iptables -I FORWARD -d $IP -p tcp -j DROP
echo $IP >> /etc/ssh/stare
done
sort /etc/ssh/stare > /etc/ssh/stare.1
cat /etc/ssh/stare.1 > /etc/ssh/stare
rm /etc/ssh/stare.1
rm /etc/ssh/nowe.1

Autor:  czerwo [ niedziela, 22 stycznia 2006, 12:28 ]
Tytuł: 

musialem comm zastapic grepem bo inaczej sie zajaczkowalo

: [/] [] ()
#!/bin/sh
if [ ! -r /etc/ssh/stare ]; then
touch /etc/ssh/stare
fi

for IP in `cat /var/log/auth | grep "Invalid user" | awk '{print $10}' | uniq` ;do
ile=`cat /var/log/auth | grep -w $IP | wc -l`
if [ $ile -gt 3 ]; then
echo $IP >> /etc/ssh/nowe
fi
done
if [ ! -r /etc/ssh/nowe ]; then
touch /etc/ssh/nowe
fi
for IP in `cat /etc/ssh/nowe` ;do
cat /etc/ssh/stare | grep -w $IP > /dev/null
let wynik=$?
if [ $wynik = 1 ]; then
iptables -I INPUT -s $IP -p tcp -j DROP
iptables -I FORWARD -s $IP -p tcp -j DROP
iptables -I INPUT -d $IP -p tcp -j DROP
iptables -I FORWARD -d $IP -p tcp -j DROP
echo $IP >> /etc/ssh/stare
fi
done
rm /etc/ssh/nowe

Autor:  Sadek [ niedziela, 22 stycznia 2006, 14:37 ]
Tytuł: 

a co się stanie jak przypadkiem spróbuję zalogować się raz z zewnątrz i sie pomylę, bo stosuję bardzo pokrętne hasło :D, czy wtedy ip z którego się logowałem będzie zabanowane? może warto ustawić to jakoś na 2 próby logowań

Autor:  tasiorek [ niedziela, 22 stycznia 2006, 14:39 ]
Tytuł: 

Sadek pisze:
a co się stanie jak przypadkiem spróbuję zalogować się raz z zewnątrz i sie pomylę, bo stosuję bardzo pokrętne hasło :D, czy wtedy ip z którego się logowałem będzie zabanowane? może warto ustawić to jakoś na 2 próby logowań

Przeczytaj jeszcze raz dwa pierwsze zadania w tym watku.

Autor:  Sadek [ niedziela, 22 stycznia 2006, 14:45 ]
Tytuł: 

gafa :roll:

Autor:  czerwo [ niedziela, 22 stycznia 2006, 14:45 ]
Tytuł: 

ja mam ustawione na 3 bledne logowania co daje 6 hasel a naprad\wde plik jest sprawdzany co 5 minut jezeli tak ustawisz w cronie wiec w ciagu 5 minut mozesz sie wiecej razy blednie zalogowac :)ale jak juz zszczyta plik i 3 razy bedzie zle to beret :)

if [ $ile -gt 3 ]; then to odpowiada za ilosc blednych logowac a wpis w cornie odpowiada jak czesto ma czytac logi z ssh

Autor:  czerwo [ piątek, 10 lutego 2006, 10:39 ]
Tytuł: 

Dopiescilem skrypcik bo byl jeszcze blad :)

: [/] [] ()
#!/bin/sh
if [ ! -r /etc/ssh/stare ]; then
touch /etc/ssh/stare
fi

for IP in `cat /var/log/auth | grep "Invalid user" | awk '{print $10}' | uniq` ;do
ile=`cat /var/log/auth | grep "Invalid user" | grep -w $IP | wc -l`
if [ $ile -gt 3 ]; then
echo $IP >> /etc/ssh/nowe
fi
done
if [ ! -r /etc/ssh/nowe ]; then
touch /etc/ssh/nowe
fi
for IP in `cat /etc/ssh/nowe` ;do
cat /etc/ssh/stare | grep -w $IP > /dev/null
let wynik=$?
if [ $wynik = 1 ]; then
iptables -I INPUT -s $IP -p tcp -j DROP
iptables -I FORWARD -s $IP -p tcp -j DROP
iptables -I INPUT -d $IP -p tcp -j DROP
iptables -I FORWARD -d $IP -p tcp -j DROP
echo $IP >> /etc/ssh/stare
fi
done
rm /etc/ssh/nowe


do rc.local dopisac
: [/] [] ()
or IP in `cat /etc/ssh/stare` ;do
iptables -I INPUT -s $IP -p tcp -j DROP
iptables -I FORWARD -s $IP -p tcp -j DROP
iptables -I INPUT -d $IP -p tcp -j DROP
iptables -I FORWARD -d $IP -p tcp -j DROP
done


do crona:
: [/] [] ()
*/5 * * * * /etc/ssh/blokada


jezeli chcemy odblokowac jakies ip bo nam sie zablokowaloL:
: [/] [] ()
#!/bin/sh
IP="81.1.110.199"
iptables -I INPUT -s $IP -p tcp -j ACCEPT
iptables -I FORWARD -s $IP -p tcp -j ACCEPT
iptables -I INPUT -d $IP -p tcp -j ACCEPT
iptables -I FORWARD -d $IP -p tcp -j ACCEPT


i to chyba na tyle :)

Autor:  Mr Groch [ piątek, 24 marca 2006, 18:01 ]
Tytuł: 

Dopisalem prosty skrypcik do "odbanowania" starych IP
dla skryptu czerwa.

Moze byc przydatne jezeli iptables dluzej nie jest restartowane i regulki
moglyby sie bardzo rozrosnac....
: [/] [] ()
#!/bin/sh
if [ -r /etc/ssh/stare ]; then
for IP in `cat /etc/ssh/stare` ;do
iptables -D INPUT -s $IP -p tcp -j DROP
iptables -D FORWARD -s $IP -p tcp -j DROP
iptables -D INPUT -d $IP -p tcp -j DROP
iptables -D FORWARD -d $IP -p tcp -j DROP
done
fi


Mozna zapisac jako /etc/ssh/czysc_bany
Nadac atrybut wykonywalnosci i dopisac do crontaba (np
co 2 godziny)

Pozdrawiam

Autor:  czerwo [ sobota, 25 marca 2006, 10:12 ]
Tytuł: 

minimum 2 tygodnie :P
A po 2 ja czyszcze blokade przy reboocie :P

Autor:  jarekjarek [ sobota, 25 marca 2006, 12:42 ]
Tytuł: 

napiszcie jak wpisać w krona na tydzień i 2 tygodnie ja nie kumam jak to sie wpisuje

Strona 1 z 2 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/