Port knocking pre MikroTik z iPhonu, iPadu a Macu
RouterOS nemá démona na zaklopanie, no jeho firewall dokáže zaklopanie realizovať pomocou zoznamov adries: každý zodpovedajúci paket zaradí zdroj do zoznamu a posledný zoznam otvorí Winbox alebo SSH. Secret Knock odosiela oba typy zaklopania pre MikroTik — porty aj veľkosti pingov.
Zaklopanie pomocou portov
Tri pokusy o pripojenie v správnom poradí presunú adresu zo zoznamu do zoznamu; Winbox (8291) dosiahne iba adresa v poslednom zozname. Tieto pravidlá umiestnite nad všetky pravidlá, ktoré zahadzujú vstupnú komunikáciu.
/ip firewall filter
add chain=input protocol=tcp dst-port=4311 action=add-src-to-address-list \
address-list=knock-1 address-list-timeout=10s comment="knock 1"
add chain=input protocol=tcp dst-port=5822 src-address-list=knock-1 \
action=add-src-to-address-list address-list=knock-2 address-list-timeout=10s comment="knock 2"
add chain=input protocol=udp dst-port=6133 src-address-list=knock-2 \
action=add-src-to-address-list address-list=knocked address-list-timeout=1h comment="knock 3"
add chain=input protocol=tcp dst-port=8291 src-address-list=knocked action=accept comment="Winbox after the knock"
add chain=input protocol=tcp dst-port=8291 action=drop comment="Winbox for everyone else" Zaklopanie pomocou veľkostí pingov
RouterOS dokáže porovnávať aj veľkosť požiadaviek ICMP echo. packet-size predstavuje celý paket IPv4: 20 bajtov hlavičky IP, 8 bajtov hlavičky ICMP a dáta pingu, takže 100 bajtov dát dorazí ako 128. V editore pingov v Secret Knock zadávate veľkosť dát; zobrazuje výsledné veľkosti paketov ICMP, IPv4 a IPv6 a upozorní pri hodnote nad 1280 bajtov, pri ktorej môžu byť pakety fragmentované.
/ip firewall filter
add chain=input protocol=icmp packet-size=128 action=add-src-to-address-list \
address-list=ping-1 address-list-timeout=10s comment="ping 100 bytes of data"
add chain=input protocol=icmp packet-size=308 src-address-list=ping-1 \
action=add-src-to-address-list address-list=knocked address-list-timeout=1h comment="ping 280 bytes of data"
add chain=input protocol=tcp dst-port=8291 src-address-list=knocked action=accept
add chain=input protocol=tcp dst-port=8291 action=drop Pridanie dverí v apke
- 1Vyberte Nové dvere › Začať zo šablóny › „MikroTik — sekvencia portov“ alebo „MikroTik — veľkosti pingov“. Obe šablóny nastavia Winbox (8291) ako port na kontrolu.
- 2Zadajte porty alebo veľkosti dát a počty pingov.
- 3Zaklopte, počkajte na Pootvorené dvere a potom otvorte Winbox.
Všetky príklady na GitHube → Každá konfigurácia z tejto stránky pripravená na skopírovanie: github.com/mobilcomm/secretknock-examples (voľné dielo).
Otázky
Prečo sa po zaklopaní na MikroTik neotvoria dvere?
Skontrolujte poradie pravidiel (pravidlá zaklopania musia byť pred pravidlom zahadzovania), časové limity address-listov a či smerovač vidí adresu, z ktorej zaklopávate — Secret Knock ju zobrazuje na domovskej obrazovke.
Návody pre vašu konfiguráciu
- Vysvetlenie techniky port knocking →
- knockd na iPhone, iPade a Macu →
- fwknop SPA na iPhone, Macu a Apple Watch →
- Zaklopanie na porty DrayTek Vigor →
- Skryte SSH pomocou port knockingu →
- Port knocking na Apple Watch →
- Prečo zaklopanie neotvorí port →
- Príklady knockd.conf →
- nastavenie servera fwknop →
- Port knocking, VPN alebo fail2ban? →