Re: Заблокировать доступ по IP?

kahirin1978 на gmail.com kahirin1978 на gmail.com
Пт Сен 16 08:34:31 UTC 2011


Добавлю 5 копеек, осторожно с иптабле на удаленной машине себя можно отрезать очень легко
-- 
Отправлено с мобильного телефона через К-9 Mail. Извините за краткость, пожалуйста.

Alex Emergy <alex.emergy на gmail.com> написал(а):

Если долбится человек, а не бот, смена порта 100% не поможет.
Банально nmap -A -v <ip> все расскажет. Странно что не сработал hosts.deny.

Людмила если не можете осилить iptables - попробуйте shorewall. Это 
генератор правил для iptables на основе вполне вменяемых и понятных 
конфигов. Есть русскоязычная документация 
(http://www.shorewall.net/standalone_ru.html), все очень просто.

Пример настройки для бубунты:

Устанавливаем:

sudo apt-get install shorewall

Смотрим ман:
zcat /usr/share/doc/shorewall/README.Debian.gz|less
узнаем от туда, что дефолтные конфиги в 
(/usr/share/doc/shorewall/default-config/) и о том, что надо поправить 
файл /etc/default/shorewall.

Правим /etc/default/shorewall
Для того чтобы он запускался startup=0 меняем на startup=1

Основные конфиги:
# ls -1 /etc/shorewall/
interfaces - описание интерфейсов
Makefile
masq - раздача интернет в NAT
policy - политика файрвола
rules - правила файрвола
shorewall.conf - основной конфиг (зачастую в нём ничего не 
меняется, но если к примеру мы раздаём инет во внутреннюю сеть, то 
IP_FORWARDING должен быть Yes. Или к примеру используется телевидение на 
мультикасте то MULTICAST=Yes)
shorewall.conf.dpkg-dist
start
zones - зоны файрвола

Приступаем к настройке:

К примеру у нас есть 3 интефейса. Два физических и один pppoe или vpn, в 
общем: eth0, eth1 и ppp0.

eth0 - локалка провайдера
eth1 - внутренняя домашняя сеть
ppp0 - впн или pppoe. В общем интернет.

В первую очередь включаем IP_FORWARDING в shorewall.conf

Зоны:
cp /usr/share/doc/shorewall/default-config/zones /etc/shorewall/
vi /etc/shorewall/zones

# локалка
loc ipv4
# внутренняя домашняя сеть
nat ipv4
# интернет
net ipv4

название зоны максимум 4 символа

Назначаем каждой зоне интерфейс:
cp /usr/share/doc/shorewall/default-config/interfaces /etc/shorewall/
vi /etc/shorewall//interfaces

loc eth0
nat eth1
net ppp0

Политика файрвола:
cp /usr/share/doc/shorewall/default-config/policy /etc/shorewall/
vi /etc/shorewall/policy

# fw - это сам шаршрутизатор. Т.е. локальная машина.
# разрешаем fw ходить куда угодно
fw all ACCEPT
# разрешаем из домашней сети ходить в инет и локалку
nat net ACCEPT
nat loc ACCEPT
# все остальное дропаем
all all DROP

Правила файрвола:
cp /usr/share/doc/shorewall/default-config/rules /etc/shorewall/rules
vi /etc/shorewall/rules

# Разрешаем SSH на маршрутезатор
SSH/ACCEPT all $FW
# запрещаем с ip 8.8.8.8
SSH/DROP net:8.8.8.8 $FW

#разрешаем доступ по веб на маршрутизатор
Web/ACCEPT all $FW

#Прокидываем порт 3389 на машину в домашней сети
DNAT all nat:192.168.1.181 tcp 3389
#Тоже самое но с готовым макросом FTP
FTP/DNAT all nat:192.168.1.181

#Разрешаем пинги
Ping/ACCEPT all $FW

Макросы можно посмотреть в /usr/share/shorewall/macro.*
по сути это почти готовые правила к примеру макрос Web:
$ grep -vE '^$|^#' /usr/share/shorewall/macro.Web
PARAM - - tcp 80 # HTTP (plaintext)
PARAM - - tcp 443 # HTTPS (over SSL)

Раздача интернета:
vi /etc/shorewall/masq
ppp0 eth1
eth0 eth1

Если на интерфейсах разный размер MTU, следует включить фрагментацию
vi /etc/shorewall/start
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS 
--clamp-mss-to-pmtu
dmesg -n5

Вторая строчка избавляет от флуда в консоль об этом написано в 
README.Debian.gz (который мы читали вначале)

Осталось "перезагрузить демон". В реале нет никакого демона, просто 
генерируются правила и всё.
service shorewall restart

можно любоваться сгенерированными правилами iptables

iptables -L

Или даже сохранить их с помощью iptables-save и удалить shorewall)))


Удачи!

16.09.2011 09:26, Илья Телегин пишет:
> Смени порт SSH сервера - мне помогло от 80% таких вот мягко говоря уродов.
> 100% случая мне помогло настройка SSH сервера, а именно при не удачных
> 5 попытках банить IP адрес с помощью правил Firewall на 30 мин. Честно
> говоря я это делал под FreeBSD, но под Ubuntu точно это можно сделать.
>
> 16 сентября 2011 г. 1:29 пользователь Людмила Бандурина
> <bigdogs.ru на gmail.com> написал:
>> Здравствуйте всем,
>> Подскажите, пожалуйста, как в Ubuntu заблокировать определенному IP доступ к
>> серверу по всем портам (включая открытые для всех 80 и 8080)?
>> Попробовала прописать в /etc/hosts.deny
>> ALL: 196.46.242.38
>> Не помогает :-( Продолжает брутить и по SSH, и во все админки, которые
>> доступны по http. Fail2Ban стоит, но оно начинает долбиться сразу после
>> снятия бана снова. Уже на протяжении месяца долбится... хоть пароли стоят
>> сложные, но при таком упорстве ведь ему может и повезти...
>>
>> --
>> С уважением, Людмила
>>
>> --
>> ubuntu-ru mailing list
>> ubuntu-ru на lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru
>>
>>

-- 
С уважением,
Alex Emergy


-- 
ubuntu-ru mailing list
ubuntu-ru на lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru

----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <https://lists.ubuntu.com/archives/ubuntu-ru/attachments/20110916/7f9aeda1/attachment.html>


Подробная информация о списке рассылки ubuntu-ru