MikroTik Port Knocking через HTTP

Web Knocking для MikroTik

Screenshot

Как это работает

Это веб-сервер на Python.

Если запрос правильный, то IP-адрес того, кто сделал этот запрос, добавляется в белый список на маршрутизаторе. IP-адреса плохих запросов попадают в чёрный список.

Предполагается, что для белого списка вы что-то разрешаете, а для чёрного списка блокируются любые входящие соединения.

Пользователям, которым нужно подключиться вне офиса, даём ссылку вида:

http://100.100.1.2:2020/access_SeCrEtCoDe

Теоретически можно сделать и для других устройств с помощью netmiko, но мне не на чём проверить.

Установка

Вариант 1: EXE

Просто скачайте архив со страницы релизов.

Вариант 2: Python

Требования: Python 3.8; Windows 7+

Теоретически должно работать и на Linux, но я не проверял.

Просто скачайте проект. Без зависимостей от нестандартных модулей.

Использование

Измените настройки в settings.ini на свои.

Очень рекомендуется добавить свой IP адрес в safe_hosts, чтобы при тестировании не занести себя в чёрный список.

Пробросьте в маршрутизаторе порт из настроек на компьютер, на котором запущен Web Knocking.

Включите в маршрутизаторе доступ к API с этого компьютера (ip services — api-ssl или api).

Для белого и чёрного списка настройте правила в соответствии с вашими нуждами. Например проброс 80 порта для MikroTik:

/ip firewall nat add src-address-list=white_list in-interface=WAN \
dst-port=80 action=dst-nat to-addresses=192.168.0.10 to-ports=80

Помощь проекту

  • Расскажите о проекте друзьям
  • Присылайте отчёты об ошибках

Оставьте комментарий