SRV_ADMIN Telegram 2374
​​Расскажу про технологию, которую возможно не все знают. Речь пойдёт про port knocking, который я иногда использую. Это очень простой способ защитить подключение к какому-то сервису через интернет.

Суть метода в том, что разрешающее правило на firewall создаётся после поступления определённой последовательности пакетов. Чаще всего в качестве такой последовательности выбирают icmp пакеты определённой длины. Но совсем не обязательно ограничиваться только этим. Тут можно придумать любую последовательность и использовать различные порты, протоколы, tcp флаги и т.д.

Вот простейший пример реализации port knocking на Mikrotik.

add action=add-src-to-address-list \
address-list=winbox_remote \
address-list-timeout=30m \
chain=input comment="icmp port knocking" \
in-interface=ether1-wan packet-size=144 protocol=icmp

Создаём правило в firewall, которое будет на 30 минут добавлять в список winbox_remote все ip, откуда придёт пакет размером 144 байта по протоколу icmp.

Теперь разрешим всем ip адресам из этого списка подключаться по winbox:

add action=accept chain=input \
comment="accept winbox_remote" \
dst-port=8291 in-interface=ether1-wan \
protocol=tcp src-address-list=winbox_remote

Важно поставить эти два правила выше блокирующего правила для input. Теперь достаточно выполнить с любого устройства ping:

ping 1.2.3.4 -l 116 -n 1
(размер пакета ставим 116, потому что 28 байт добавит заголовок)

И роутер откроет доступ к tcp порту 8291, чтобы можно было подключиться по winbox. Через 30 минут адрес будет удалён из списка и новое подключение будет сделать невозможно. По такому же принципу, можно сделать и закрывающее правило. Поработали, отправили определённую последовательность и очистили список winbox_remote.

Таким простым и нехитрым способом можно очень надёжно прикрыть какой-то сервис. Например, тот же rdp. Достаточно настроить port knocking на шлюзе, а пользователю дать батник, который будет сначала пинговать, а потом подключаться. Причём можно использовать более сложную последовательность действий из нескольких шагов. Подобный пример описан в статье. Я его реально применяю очень давно.

В Linux реализацию port knocking тоже настроить не сложно. Есть готовый софт для этого. Например, knockd. При желании, можно и вручную написать правила для iptables, если хорошо разбираетесь в них. Реализаций может быть тоже великое множество, в том числе с использованием списков ipset или более современных nftables. Тема легко гуглится и решается.

#mikrotik #security #gateway



tgoop.com/srv_admin/2374
Create:
Last Update:

​​Расскажу про технологию, которую возможно не все знают. Речь пойдёт про port knocking, который я иногда использую. Это очень простой способ защитить подключение к какому-то сервису через интернет.

Суть метода в том, что разрешающее правило на firewall создаётся после поступления определённой последовательности пакетов. Чаще всего в качестве такой последовательности выбирают icmp пакеты определённой длины. Но совсем не обязательно ограничиваться только этим. Тут можно придумать любую последовательность и использовать различные порты, протоколы, tcp флаги и т.д.

Вот простейший пример реализации port knocking на Mikrotik.

add action=add-src-to-address-list \
address-list=winbox_remote \
address-list-timeout=30m \
chain=input comment="icmp port knocking" \
in-interface=ether1-wan packet-size=144 protocol=icmp

Создаём правило в firewall, которое будет на 30 минут добавлять в список winbox_remote все ip, откуда придёт пакет размером 144 байта по протоколу icmp.

Теперь разрешим всем ip адресам из этого списка подключаться по winbox:

add action=accept chain=input \
comment="accept winbox_remote" \
dst-port=8291 in-interface=ether1-wan \
protocol=tcp src-address-list=winbox_remote

Важно поставить эти два правила выше блокирующего правила для input. Теперь достаточно выполнить с любого устройства ping:

ping 1.2.3.4 -l 116 -n 1
(размер пакета ставим 116, потому что 28 байт добавит заголовок)

И роутер откроет доступ к tcp порту 8291, чтобы можно было подключиться по winbox. Через 30 минут адрес будет удалён из списка и новое подключение будет сделать невозможно. По такому же принципу, можно сделать и закрывающее правило. Поработали, отправили определённую последовательность и очистили список winbox_remote.

Таким простым и нехитрым способом можно очень надёжно прикрыть какой-то сервис. Например, тот же rdp. Достаточно настроить port knocking на шлюзе, а пользователю дать батник, который будет сначала пинговать, а потом подключаться. Причём можно использовать более сложную последовательность действий из нескольких шагов. Подобный пример описан в статье. Я его реально применяю очень давно.

В Linux реализацию port knocking тоже настроить не сложно. Есть готовый софт для этого. Например, knockd. При желании, можно и вручную написать правила для iptables, если хорошо разбираетесь в них. Реализаций может быть тоже великое множество, в том числе с использованием списков ipset или более современных nftables. Тема легко гуглится и решается.

#mikrotik #security #gateway

BY ServerAdmin.ru




Share with your friend now:
tgoop.com/srv_admin/2374

View MORE
Open in Telegram


Telegram News

Date: |

As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. How to Create a Private or Public Channel on Telegram? 1What is Telegram Channels? Polls
from us


Telegram ServerAdmin.ru
FROM American