Добавил такую цепочку правил в 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
Это нат пакетов с внешнего на внтурнеений.
По подсказке Павела, группирую правила
За указание направления не говорить все укажу.#Разрешить уже установленные 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 отрубает..
Где я ошибся?
>[оверквотинг удален]
> 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
> 20.5
> 20.4
> 20.6
> Это нат пакетов с внешнего на внтурнеений.P.S.: Что-то я не вижу в ваших правилах адрес 192.168.20.6. :)
>> 20.5
>> 20.4
>> 20.6
>> Это нат пакетов с внешнего на внтурнеений.
> P.S.: Что-то я не вижу в ваших правилах адрес 192.168.20.6. :)Затупил нет там 20.6 )))) сори )
>[оверквотинг удален]
>> iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
>> Все что установленны он обрывает.
>> И все и на 22 порт не подключишься и форвард не пашет
>> запрешен и даже VPN отрубает..
>> Где я ошибся?
> А почему вы считаете, что он должен вам разрешать 22-ой порт, когда
> вы убираете упомянутые правила? Он и не должен вас пускать. Вы
> разрешаете только NEW по 22-ому порту, а уже, например, ESTABLISHED не
> пропускаете.
> man iptabes /ESTABLISHEDНу я понимаю что это уже установленные с конкретно допустим моего ип сесия ssh.
вот я убераю правила. жду пока сесия скинеться и пытаюсь как NEW но сервер не пускает..
Или я что то из вида упускаю?
>> man iptabes /ESTABLISHED
> Ну я понимаю что это уже установленные с конкретно допустим моего ип
> сесия ssh.
> Или я что то из вида упускаю?Да: "сессия" состоит из ip пакетов, правила [в -t filter] применяются к _каждому пакету ==> первый пакет "смотрится" правилом с NEW, все следующие - правилом с ETABLISHED.
Угадай что, когда ты "убираю вот эту вот ненужную строчку", да?
> Где я ошибся?в действии "И вот когда убираю..."
верните на место.
>> Где я ошибся?
> в действии "И вот когда убираю..."
> верните на место.Когда все отвалилось так и сделал )))
В цепочке форвард лучше уточнить -d 192.168.20.4, -d 192.168.20.5 а то как то слишком общие правила.
> В цепочке форвард лучше уточнить -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 -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
Но правила так и не смог применить
>[оверквотинг удален]
> 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, подходит идеально.
>Зависит от того, какие функции выполняет данный роутер.Почтовый релей + VPN + проброс во внтуреннюю сеть портов
>Ну тут есть 4 выхода:
3 устраивает но не могу активировать правило.
> iptables -A INPUT -s 192.168.137.2 -j ACCEPT
> я думаю еще указать интерфейс а то как то тоже по общему?Я думаю лучше точнее, но предполагаю, что чем больше критериев в правиле фильтрации, тем больше ресурсов задействуется.