URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90017
[ Назад ]

Исходное сообщение
"iptables проблемма"

Отправлено xservices , 13-Окт-10 03:01 
Добавил такую цепочку правил в iptbales
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 2020 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1194 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT
iptables -A INPUT -s 192.168.137.2 -j ACCEPT
iptables -A INPUT -s 192.168.20.4 -j ACCEPT
iptables -A INPUT -s 192.168.20.5 -j ACCEPT
iptables -A INPUT -s 192.168.20.6 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -m icmp -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 2020 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2020 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.20.5
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited

И все работает. Но кога убераю из нее

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


То все блокируеться и ssh в том числе..

Помогите модорнизировать

20.5
20.4
20.6
Это нат пакетов с внешнего на внтурнеений.


Содержание

Сообщения в этом обсуждении
"iptables проблемма"
Отправлено xservices , 13-Окт-10 07:14 
По подсказке Павела, группирую правила
За указание направления не говорить все укажу.

#Разрешить уже установленные INPUT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#Разрешить петлю
iptables -A INPUT -i lo -j ACCEPT

#Разрешить по входящие на порты 22  и 1194
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1194 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT

#Разрешить входящие с 192.168.137.2
iptables -A INPUT -s 192.168.137.2 -j ACCEPT

#Пропустить входящие icmp пакеты
iptables -A INPUT -p icmp -m icmp -j ACCEPT

#Остальной INPUT отклонять
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited

#Пропустить уже установленные FORWARD
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

#Разрешить форвард на порты
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 2020 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT

#Нат на внутреннию
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2020 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.20.5

#Остальной форвард отклонять
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited

И вот когда убираю...
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Все что установленны он обрывает.
И все и на 22 порт не подключишься и форвард не пашет запрешен и даже VPN отрубает..
Где я ошибся?


"iptables проблемма"
Отправлено Xaionaro , 13-Окт-10 07:47 
>[оверквотинг удален]
> DNAT --to-destination 192.168.20.5
> #Остальной форвард отклонять
> iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
> И вот когда убираю...
> iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
> iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
> Все что установленны он обрывает.
> И все и на 22 порт не подключишься и форвард не пашет
> запрешен и даже VPN отрубает..
> Где я ошибся?

А почему вы считаете, что он должен вам разрешать 22-ой порт, когда вы убираете упомянутые правила? Он и не должен вас пускать. Вы разрешаете только NEW по 22-ому порту, а уже, например, ESTABLISHED не пропускаете.

man iptabes /ESTABLISHED


"iptables проблемма"
Отправлено Xaionaro , 13-Окт-10 08:07 
> 20.5
> 20.4
> 20.6
> Это нат пакетов с внешнего на внтурнеений.

P.S.: Что-то я не вижу в ваших правилах адрес 192.168.20.6. :)


"iptables проблемма"
Отправлено xservices , 13-Окт-10 13:18 
>> 20.5
>> 20.4
>> 20.6
>> Это нат пакетов с внешнего на внтурнеений.
> P.S.: Что-то я не вижу в ваших правилах адрес 192.168.20.6. :)

Затупил нет там 20.6 )))) сори )



"iptables проблемма"
Отправлено xservices , 13-Окт-10 13:17 
>[оверквотинг удален]
>> iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
>> Все что установленны он обрывает.
>> И все и на 22 порт не подключишься и форвард не пашет
>> запрешен и даже VPN отрубает..
>> Где я ошибся?
> А почему вы считаете, что он должен вам разрешать 22-ой порт, когда
> вы убираете упомянутые правила? Он и не должен вас пускать. Вы
> разрешаете только NEW по 22-ому порту, а уже, например, ESTABLISHED не
> пропускаете.
> man iptabes /ESTABLISHED

Ну я понимаю что это уже установленные с конкретно допустим моего ип сесия ssh.
вот я убераю правила. жду пока сесия скинеться  и пытаюсь как NEW но сервер не пускает..
Или я что то из вида упускаю?


"iptables проблемма"
Отправлено Andrey Mitrofanov , 13-Окт-10 15:27 
>> man iptabes /ESTABLISHED
> Ну я понимаю что это уже установленные с конкретно допустим моего ип
> сесия ssh.
> Или я что то из вида упускаю?

Да: "сессия" состоит из ip пакетов, правила [в -t filter] применяются к _каждому пакету ==> первый пакет "смотрится" правилом с NEW, все следующие - правилом с ETABLISHED.

Угадай что, когда ты "убираю вот эту вот ненужную строчку", да?


"iptables проблемма"
Отправлено ze6ra , 13-Окт-10 08:16 

> Где я ошибся?

в действии "И вот когда убираю..."
верните на место.


"iptables проблемма"
Отправлено xservices , 13-Окт-10 13:18 
>> Где я ошибся?
> в действии "И вот когда убираю..."
> верните на место.

Когда все отвалилось так и сделал )))



"iptables проблемма"
Отправлено tux2002 , 13-Окт-10 12:17 
В цепочке форвард лучше уточнить -d 192.168.20.4, -d 192.168.20.5 а то как то слишком общие правила.



"iptables проблемма"
Отправлено xservices , 13-Окт-10 13:19 
> В цепочке форвард лучше уточнить -d 192.168.20.4, -d 192.168.20.5 а то как
> то слишком общие правила.

То есть лучше так?

iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.4 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.4 --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.4 --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.4 --dport 2020 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.5 --dport 110 -j ACCEPT


"iptables проблемма"
Отправлено xservices , 13-Окт-10 13:35 
Спасибо всем так и сделал получилось так.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1194 -j ACCEPT
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT
iptables -A INPUT -s 192.168.137.2 -j ACCEPT
iptables -A INPUT -p icmp -m icmp -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.4 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.4 --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.4 --dport 2020 -j ACCEPT
iptables -A FORWARD -p tcp -m state --state NEW -m tcp -d 192.168.20.5 --dport 110 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2020 -j DNAT --to-destination 192.168.20.4
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.20.5
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited


У меня еще вопрос есть по улучшению
вот тут
iptables -A INPUT -s 192.168.137.2 -j ACCEPT
я думаю еще указать интерфейс а то как то тоже по общему?
Тоесть вот так
iptables -A INPUT -i tap0 -s 192.168.137.2 -j ACCEPT

А вот ту у меня разрешения пропускать входящий icmp трафик.
iptables -A INPUT -p icmp -m icmp -j ACCEPT

Как его можно улучшить какой трафик icmp надо запретить а какой пропустить?

Еще сталкнулся с большой проблеммой брутфорса паролей ssh
Постоянно перебирают пароли.
Думал сменить порт глупо.
Ставить отдельный софт не правильно для меня.
А вот в нете нашел много информации по iptables и по ssh brutforce
Но правила так и не смог применить


"iptables проблемма"
Отправлено Xaionaro , 13-Окт-10 18:53 
>[оверквотинг удален]
> DNAT --to-destination 192.168.20.4
> iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2020 -j
> DNAT --to-destination 192.168.20.4
> iptables -t nat -A PREROUTING -p tcp -m tcp --dport 110 -j
> DNAT --to-destination 192.168.20.5
> iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
> У меня еще вопрос есть по улучшению
> вот тут
> iptables -A INPUT -s 192.168.137.2 -j ACCEPT
> я думаю еще указать интерфейс а то как то тоже по общему?

Если хотите немного комильфо, то тогда делайте более разветлённые правила, используйте multiports. Лично у меня бы данные правила выглядяли бы совсем иначе, т.к. тут постоянно повторяются одни и те же проверки :)

> Тоесть вот так
> iptables -A INPUT -i tap0 -s 192.168.137.2 -j ACCEPT
> А вот ту у меня разрешения пропускать входящий icmp трафик.
> iptables -A INPUT -p icmp -m icmp -j ACCEPT
> Как его можно улучшить какой трафик icmp надо запретить а какой пропустить?

Зависит от того, какие функции выполняет данный роутер.


> Еще сталкнулся с большой проблеммой брутфорса паролей ssh
> Постоянно перебирают пароли.
> Думал сменить порт глупо.
> Ставить отдельный софт не правильно для меня.
> А вот в нете нашел много информации по iptables и по ssh
> brutforce
> Но правила так и не смог применить

Ну тут есть 4 выхода:
1.) сменить порт, что вас не устраивает
2.) использовать внешнюю утилиту fail2ban, что вас не устраивает :)
3.) использовать hashlimit и recent в iptables и банить тех, кто слишком часто шлёт NEW (или по --syn) на 22-ой порт
4.) блокировать ssh и использовать port-knocking.

Лично я в вашем случае использую "3" с возможностью обойти бан через port-knocking. Против бот-нетов, IMHO, подходит идеально.


"iptables проблемма"
Отправлено xservices , 13-Окт-10 21:17 
>Зависит от того, какие функции выполняет данный роутер.

Почтовый релей + VPN + проброс во внтуреннюю сеть портов

>Ну тут есть 4 выхода:

3 устраивает но не могу активировать правило.


"iptables проблемма"
Отправлено tux2002 , 23-Окт-10 12:14 

> iptables -A INPUT -s 192.168.137.2 -j ACCEPT
> я думаю еще указать интерфейс а то как то тоже по общему?

Я думаю лучше точнее, но предполагаю, что чем больше критериев в правиле фильтрации, тем больше ресурсов задействуется.