Страница 2 из 9

Re: RegExp как API

Добавлено: 11 авг 2022, 15:18
Brook
Чтобы не использовать сервис www, нужно отлавливать пакеты в NAT, в цепочке dstnat.

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

К примеру 

http://myip:8087/securekey/scriptname

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

Отловится правилом

ip firewall nat add chain=dstnat protocol=tcp dst-port=8087 layer7-protocol=scriptName action=<на усмотрение>

Re: RegExp как API

Добавлено: 11 авг 2022, 15:47
Inner
xvo писал(а): 11 авг 2022, 15:05 Все, понял.
Request то только в уже установленной сессии отправляется.
Тогда хотя бы порт нестандартный используйте.

Ну а вообще, держать вебку открытой наружу ради вот этого всего...
Надо обладать недюжинной смелостью и верой в микротик :-)
Думаю, если использовать сложные логин и пароль - ничего страшного не случится. У меня 3 устройства смотрят стандартным winbox'ом в интернет. И всё хорошо уже лет 5. Главное своевременно обновлять ros и банить ip с неудачными попытками входа.

Re: RegExp как API

Добавлено: 11 авг 2022, 15:50
Inner
Brook писал(а): 11 авг 2022, 15:18 Чтобы не использовать сервис www, нужно отлавливать пакеты в NAT, в цепочке dstnat.

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

К примеру 

http://myip:8087/securekey/scriptname

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

Отловится правилом

ip firewall nat add chain=dstnat protocol=tcp dst-port=8087 layer7-protocol=scriptName action=<на усмотрение>
А это отличная заплатка в безопасности. Решает кучу проблем

Re: RegExp как API

Добавлено: 11 авг 2022, 16:09
xvo
Brook писал(а): 11 авг 2022, 15:18 Чтобы не использовать сервис www, нужно отлавливать пакеты в NAT, в цепочке dstnat.
С чего бы?
Та же история, что и с цепочкой prerouting - нужна установленная TCP сессия, если на этом конце сессию никто не установит, то http request клиент не отправит.
Inner писал(а): 11 авг 2022, 15:47 Думаю, если использовать сложные логин и пароль - ничего страшного не случится.
Ну вот в 18ом году много у кого случилось, без разницы, какой там был пароль :)

Re: RegExp как API

Добавлено: 11 авг 2022, 16:18
Inner
xvo писал(а): 11 авг 2022, 16:09
Brook писал(а): 11 авг 2022, 15:18 Чтобы не использовать сервис www, нужно отлавливать пакеты в NAT, в цепочке dstnat.
С чего бы?
Та же история, что и с цепочкой prerouting - нужна установленная TCP сессия, если на этом конце сессию никто не установит, то http request клиент не отправит.
Inner писал(а): 11 авг 2022, 15:47 Думаю, если использовать сложные логин и пароль - ничего страшного не случится.
Ну вот в 18ом году много у кого случилось, без разницы, какой там был пароль :)
Суть dst-nat в том, что можно 80 порт (или иной) переправить на что-то внутри. И просто перехватывать правилом L7 нужную ключевую пару. А касательно логина и пароля, я ж ещё добавил, что главное своевременно обновляться. Конечно использовать дополнительно нестандартный порт однозначно нужно. Но это уже базовые вещи.

Re: RegExp как API

Добавлено: 11 авг 2022, 16:21
xvo
Inner писал(а): 11 авг 2022, 16:18 Суть dst-nat в том, что можно 80 порт (или иной) переправить на что-то внутри. И просто перехватывать правилом L7 нужную ключевую пару.
"Внутри" тогда тоже нужно что-то, что будет устанавливать соединения на этом порту.

Re: RegExp как API

Добавлено: 11 авг 2022, 16:26
Brook
Друзья, в этом варианте никакой установленной сессии не нужно

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

ip firewall nat add chain=dstnat protocol=tcp dst-port=8087 layer7-protocol=scriptName action=add-dst-to-address-list address-list=scriptName
Мы ловим SYN пакеты и никуда дальше их не отправляем. В поле action ставим add-dst-to-address-list и получаем тот же профит, что и с mangle

Re: RegExp как API

Добавлено: 11 авг 2022, 16:30
Inner
xvo писал(а): 11 авг 2022, 16:21
Inner писал(а): 11 авг 2022, 16:18 Суть dst-nat в том, что можно 80 порт (или иной) переправить на что-то внутри. И просто перехватывать правилом L7 нужную ключевую пару.
"Внутри" тогда тоже нужно что-то, что будет устанавливать соединения на этом порту.
Ну, это может быть почти что угодно. Лишь бы оно могло ответить. В минимальной комплектации www включить на нестандартный порт. В средней, развернуть за роутером что-то что сможет ответить на запрос и форвордить туда (соответственно отлавливать). Максимальную даже сложно представить :-): Можно ж и порт кнокинг, и впн, и нестандартную длину пакета, и что-то за роутер, и вообще всё вместе. И наступит однажды день, когда и этого всего вместе окажется мало.

Но Ваш вопрос понятен. Нужно что-то максимально безопасное и в тоже время простое. Это интересно. Нужно подумать. Покачто идей мало, как это сделать в рамках одного роутера. Чуть позднее попробую доп правило на инпут по порту и скриптом ответы запросившему адресату. Чисто чтобы правило отработало. А может чего и ещё придумаю поинтереснее.

Re: RegExp как API

Добавлено: 11 авг 2022, 16:32
Inner
Brook писал(а): 11 авг 2022, 16:26 Друзья, в этом варианте никакой установленной сессии не нужно

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

ip firewall nat add chain=dstnat protocol=tcp dst-port=8087 layer7-protocol=scriptName action=add-dst-to-address-list address-list=scriptName
Мы ловим SYN пакеты и никуда дальше их не отправляем. В поле action ставим add-dst-to-address-list и получаем тот же профит, что и с mangle
Только что пробовал. Не ловит. Грешу на фаервол. С www проще, так как он игнорирует правила.

Re: RegExp как API

Добавлено: 11 авг 2022, 16:38
Brook
А у меня всё отработало.

Тут прописал порт 8087, можно любой прописать...
http://myip:8087/securekey/scriptname

Тут его указал... В layer7 выбрал правило Regexp
ip firewall nat add chain=dstnat protocol=tcp dst-port=8087 layer7-protocol=scriptName action=add-dst-to-address-list address-list=scriptName

Поймал пакеты. Адрес-лист создался... ЧЯДНТ?