Небольшая задача

Обсуждение общих вопросов, не касающихся настройки оборудования и ОС
Ответить
joslan
Сообщения: 29
Зарегистрирован: 06 июн 2017, 20:46

Например я перенаправляю с внешнего интернета порт в локальную сеть

например порт 8080

как написать правило для ограничения количества одновременных tcp подключений на этот порт с 1 ip ???
То есть например 3 подключения делал дальше дроп

пример того что я хочу только: IPTABLES

iptables -A INPUT -p tcp --dport 8080 -m connlimit --connlimit-above 3 -j REJECT


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

connection-limit (integer,netmask) – ограничивает количество доступных подключений на адрес или блок адресов;

Это во вкладке Extra в правилах фаервола. Вот только это ограничивает количество подключений на один адрес, а уж сколько этих подключений затребует та или иная программа - это вопрос другой.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
joslan
Сообщения: 29
Зарегистрирован: 06 июн 2017, 20:46

Это именно в правиле именно перенаправляющее порт?


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Интересные вопросы вы задаете. Ваше правило, вы его писали, вы ему определили место и цепочку, вам и решать, какие параметры в нем оговаривать.
Я лишь указал на раздел в фаерволе, который может вас заинтересовать. Я не думаю, что это гарантированное решение проблемы, я бы ее так не решал, точно. ( Да я бы вообще ее не решал, если честнее). Поэтому не воспринимайте мой пост, как руководство к действию.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
joslan
Сообщения: 29
Зарегистрирован: 06 июн 2017, 20:46

podarok66 писал(а):Интересные вопросы вы задаете. Ваше правило, вы его писали, вы ему определили место и цепочку, вам и решать, какие параметры в нем оговаривать.
Я лишь указал на раздел в фаерволе, который может вас заинтересовать. Я не думаю, что это гарантированное решение проблемы, я бы ее так не решал, точно. ( Да я бы вообще ее не решал, если честнее). Поэтому не воспринимайте мой пост, как руководство к действию.

Я не писал не каких правил для микротик, Я у вас спрашиваю как его написать именно для микротик)
Я лишь пример привел на подобии ИПТАБЛЕС

задача ограничить подключение на указанный порт с определенного IP
То есть чтоб человек только трижды смог подключиться на указанный порт и всё


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Микротиковский фаервол не iptables, часть того, что в последнем с легкостью реализуется, в Микротике впрямую не сделать. Во всяком случае именно в том виде, как вы написали правило одной строкой не реализовать. Тот параметр, который я упомянул, лишь только помогает ограничить количество подключений в единичный момент. А ваш запрос можно попробовать реализовать, как защиту от брутфорса.
Есть традиционный метод из нескольких правил с адрес-листами, действенный, жесткий и часто применяемый. Что-то типа:

Код: Выделить всё

/ip firewall filter add chain=input protocol=tcp dst-port=8080 src-address-list=ssh_blacklist action=drop comment="drop ssh brute forcers" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=10d comment="" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m comment="" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no

В итоге после неудачных трех попыток подключится неудачника отправит в бан на 10 дней.
И есть более короткий, в пару строк и без адрес-листов способ. Употребляют редко, хотя по мне, так этот способ имеет право на жизнь не менее, чем предыдущий:

Код: Выделить всё

/ip firewall filter add chain=input connection-state=new dst-limit=1/1m,2,src-address/5m dst-port=8080 per-connection-classifier=src-address:1/0 protocol=tcp
/ip firewall filter add action=reject chain=input connection-state=new dst-port=8080 protocol=tcp reject-with=tcp-reset

В приведенном примере после трех неудачных попыток в течение минуты с одного адреса, дальнейшие попытки будут отбрасываться в течение минуты. Затем опять будет три попытки.
Выбирать вам.
P.S.: Все способы легко гуглятся по запросу "mikrotik защита от брутфорса". Искренне сочувствую забаненым в Гугле. Предлагаю плюнуть на принципы и попробовать другой поисковик хотя бы до конца бана.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
joslan
Сообщения: 29
Зарегистрирован: 06 июн 2017, 20:46

podarok66 писал(а):Микротиковский фаервол не iptables, часть того, что в последнем с легкостью реализуется, в Микротике впрямую не сделать. Во всяком случае именно в том виде, как вы написали правило одной строкой не реализовать. Тот параметр, который я упомянул, лишь только помогает ограничить количество подключений в единичный момент. А ваш запрос можно попробовать реализовать, как защиту от брутфорса.
Есть традиционный метод из нескольких правил с адрес-листами, действенный, жесткий и часто применяемый. Что-то типа:

Код: Выделить всё

/ip firewall filter add chain=input protocol=tcp dst-port=8080 src-address-list=ssh_blacklist action=drop comment="drop ssh brute forcers" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=10d comment="" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m comment="" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
/ip firewall filter add chain=input protocol=tcp dst-port=8080 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no

В итоге после неудачных трех попыток подключится неудачника отправит в бан на 10 дней.
И есть более короткий, в пару строк и без адрес-листов способ. Употребляют редко, хотя по мне, так этот способ имеет право на жизнь не менее, чем предыдущий:

Код: Выделить всё

/ip firewall filter add chain=input connection-state=new dst-limit=1/1m,2,src-address/5m dst-port=8080 per-connection-classifier=src-address:1/0 protocol=tcp
/ip firewall filter add action=reject chain=input connection-state=new dst-port=8080 protocol=tcp reject-with=tcp-reset

В приведенном примере после трех неудачных попыток в течение минуты с одного адреса, дальнейшие попытки будут отбрасываться в течение минуты. Затем опять будет три попытки.
Выбирать вам.
P.S.: Все способы легко гуглятся по запросу "mikrotik защита от брутфорса". Искренне сочувствую забаненым в Гугле. Предлагаю плюнуть на принципы и попробовать другой поисковик хотя бы до конца бана.

Огромное спасибо очень пригодится эти правила конечно но, это не то суть правила,дать клиенту IP подключиться к порту в еденицу времени не больше N Конектов
То есть просто не больше 3 одновременных подключений сразу


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Ну попробуйте переписать правила, используя параметр connection-limit. Я у себя сейчас не могу нигде ничего поменять, все железки в работе, даже старички для опытов как-то разошлись по точкам. Поэтому только самостоятельно. Прошу прощения за ситуацию, но ужался с резервами на данный момент.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить