[ОТВЕТИТЬ]
Опции темы
31.08.2009 07:52  
OlegON
Занятно... Никогда не интересовался, кто сканирует порты моего внешнего IP. Оказалось зря. Вчера завел заглушку на xinetd, чтобы блокировала сканирующих. У меня нет ssh, соответственно, никто на 22 порт подключаться не должен. Делаем в xinet.conf
Цитата:
service fake_ssh
{
disable = no
protocol = tcp
port = 22
type = UNLISTED
socket_type = stream
wait = no
user = root
server = /usr/scripts/block_ip
server_args = 22
log_on_success = HOST
}
и в /usr/scripts/block_ip
Цитата:
#!/bin/bash
REMOTE_PORT=$1
echo $REMOTE_HOST BANNED! GET OUT!
echo
/sbin/iptables -A INPUT -s $REMOTE_HOST/255.255.255.255 -j DROP
echo $REMOTE_HOST:$REMOTE_PORT>>/home/blocked_hosts
с вечера уже улов...
Цитата:
cat blocked_hosts
211.38.137.44:22
77.92.142.204:22
190.176.228.237:22
117.14.188.100:22
122.89.7.49:22
92.149.17.226:22
202.39.210.120:22
114.39.231.24:22
114.47.70.200:22
 
31.08.2009 07:54  
OlegON
Поясню, что скрипт полностью блокирует (через drop, т.е. соединение "повисает") IP после попытки подключения на 22 порт по tcp/ip, таким образом перебор портов, как правило, блокируется.
Ваши замечания/пожелания/предложения?
 
31.08.2009 16:36  
Pyatak
Хм, интересно, надо будет попробовать. А на rdp порт?
 
31.08.2009 16:40  
OlegON
Цитата:
Сообщение от Pyatak
Хм, интересно, надо будет попробовать. А на rdp порт?
И на него :) Я просто тут список не разглашаю, но у меня портов таких штук 5-7. На самом деле у xinetd вроде у самого есть блокирующий механизм, но вроде как блокирует только на самого себя и рвет соединение, а тут соединение даже отзывается, но потом злобно глотает вообще все пакеты :) Соединение висит. Хочешь попробовать, как работает - ткнись на комп "хранилища" телнетом... ;) Пока в основном Корея и Тайвань палятся... Я себе модифицировал block_ip:
Цитата:
#!/bin/bash
REMOTE_PORT=$1
COUNTRY=`geoiplookup $REMOTE_HOST`
EVENT=`date`
echo $REMOTE_HOST BANNED! GET OUT!
echo
/sbin/iptables -A INPUT -s $REMOTE_HOST/255.255.255.255 -j DROP
echo $EVENT -- $REMOTE_HOST:$REMOTE_PORT - $COUNTRY>>/home/ftp/exchange/blocked_hosts
и по крону утром себе cat его и удаляю...
 
31.08.2009 18:36  
OlegON
Еще расширил :) Определяет, кто ломился с точностью до города:
Цитата:
#!/bin/bash
REMOTE_PORT=$1
echo $REMOTE_HOST BANNED! GET OUT!
echo
/sbin/iptables -A INPUT -s $REMOTE_HOST/255.255.255.255 -j DROP
EVENT=`date`
COUNTRY=`/usr/scripts/geoip_country $REMOTE_HOST`
CITY=`/usr/scripts/geoip_city $REMOTE_HOST`
echo $EVENT -- $REMOTE_HOST:$REMOTE_PORT - $COUNTRY :: $CITY>>/home/ftp/exchange/blocked_hosts
Цитата:
oops scripts # cat geoip_city
#!/bin/bash
links -dump ?ip=$1 | grep "City" | awk '{print $2}'
Цитата:
oops scripts # cat geoip_country
#!/bin/bash
links -dump ?ip=$1 | grep "Country" | awk '{print $2}'
 
07.10.2009 09:01  
OlegON
Последние версии:
Цитата:
#!/bin/bash
REMOTE_PORT=$1
echo $REMOTE_HOST BANNED! GET OUT!
echo
if [ $REMOTE_HOST != "127.0.0.1" ]
then
/sbin/iptables -A INPUT -s $REMOTE_HOST/255.255.255.255 -j DROP
fi
EVENT=`date`
COUNTRY=`/usr/scripts/geoip_country $REMOTE_HOST`
CITY=`/usr/scripts/geoip_city $REMOTE_HOST`
echo $EVENT -- $REMOTE_HOST:$REMOTE_PORT - $COUNTRY :: $CITY>>/home/ftp/exchange/blocked_hosts
Цитата:
oops scripts # cat geoip_city
#!/bin/bash
st=`links -http-proxy localhost:8123 -width 200 -dump ?ip=$1 | grep "City"`
echo $st | sed -e 's/Region.*$//' | sed -e 's/.*City //';
Цитата:
oops scripts # cat geoip_country
#!/bin/bash
st=`links -http-proxy localhost:8123 -width 200 -dump ?ip=$1 | grep "Country"`
echo $st | sed -e 's/Country Code.*$//' | sed -e 's/.*Country //' | sed -e 's/ //';
 
 
Опции темы



Часовой пояс GMT +3, время: 03:21.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.