Mikrotik. Port knocking
Описание
Выполнение определенных действий (в данном примере добавление IP клиентов в определенный адрес-лист) на маршрутизаторе Mikrotik при обращении по определенным протоколам и портам к определенному интерфейсу
Настройка
2 шага обращения
Mikrotik
/ip firewall filter
add action=add-src-to-address-list address-list=portKnockingTest1 address-list-timeout=20s chain=input comment=portKnockingTestCheck packet-size=328 protocol=icmp
add action=add-src-to-address-list address-list=portKnockingTest address-list-timeout=none-static chain=input comment=portKnockingTest log=yes log-prefix=portKnockingTest packet-size=428 protocol=icmp src-address-list=portKnockingTest1
Windows client
alert.cmd, который отправляет пакеты:
ping 192.168.28.8 -f -n 1 -l 300 > NUL timeout 5 > NUL ping 192.168.28.8 -f -n 1 -l 400 > NUL
Linux client
alert.sh
#!/bin/bash ping 192.168.17.8 -c 1 -s 300 ping 127.0.0.1 -c 5 ping 192.168.17.8 -c 1 -s 400
В итоге src-адрес клиента добавлен в адрес-лист portKnockingTest
3 шага обращения
Mikrotik
/ip firewall filter
add action=add-src-to-address-list address-list=keyAccess1 address-list-timeout=20s chain=input comment="keyAccess =keyAccess-port-knock=" packet-size=140 protocol=icmp
add action=add-src-to-address-list address-list=keyAccess2 address-list-timeout=20s chain=input comment="keyAccess =keyAccess-port-knock=" packet-size=360 protocol=icmp \
src-address-list=keyAccess1
add action=add-src-to-address-list address-list=keyAccess address-list-timeout=none-static chain=input comment="keyAccess =keyAccess-port-knock=" log=yes log-prefix=keyAccess \
packet-size=250 protocol=icmp src-address-list=keyAccess2
Windows client
alert.cmd, который отправляет пакеты:
SET host=office.cless.pro ping %host% -f -n 1 -l 112 > NUL timeout 3 > NUL ping %host% -f -n 1 -l 332 > NUL timeout 3 > NUL ping %host% -f -n 1 -l 222 > NUL
Linux client
alert.sh
#!/bin/bash
host="office.cless.pro"
ping ${host} -c 1 -s 112
ping 127.0.0.1 -c 3
ping ${host} -c 1 -s 332
ping 127.0.0.1 -c 3
ping ${host} -c 1 -s 222
В итоге src-адрес клиента добавлен в адрес-лист keyAccess