Accéder au contenu
Secret Knock

Port knocking MikroTik depuis iPhone, iPad et Mac

RouterOS ne dispose pas de démon de frappe, mais son pare-feu peut gérer une frappe au moyen de listes d’adresses : chaque paquet correspondant ajoute la source à une liste, et la dernière liste ouvre Winbox ou SSH. Secret Knock envoie les deux types de frappe MikroTik : par ports et par tailles de ping.

Frapper avec des ports

Trois tentatives de connexion dans l’ordre déplacent l’adresse d’une liste à l’autre ; seule une adresse présente dans la dernière liste peut atteindre Winbox (8291). Placez ces règles avant toute règle qui bloque le trafic entrant.

/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"
Terminal RouterOS

Frapper avec des tailles de ping

RouterOS peut également faire correspondre la taille des requêtes d’écho ICMP. packet-size correspond à l’intégralité du paquet IPv4 : 20 octets d’en-tête IP, 8 octets d’en-tête ICMP et les données ping ; ainsi, 100 octets de données arrivent sous la forme de 128 octets. Dans l’éditeur de ping de Secret Knock, vous saisissez la taille des données ; il affiche les tailles de paquet ICMP, IPv4 et IPv6 résultantes, et avertit au-delà de 1280 octets, où les paquets peuvent être fragmentés.

/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
Terminal RouterOS

Ajouter la porte dans l’app

  1. 1Choisissez Nouvelle porte › Commencer à partir d’un modèle › « MikroTik — séquence de ports » ou « MikroTik — tailles de ping ». Les deux définissent Winbox (8291) comme port à vérifier.
  2. 2Saisissez vos ports, ou les tailles de données et le nombre de vos pings.
  3. 3Frappez, attendez Porte entrouverte, puis ouvrez Winbox.

Tous les exemples sur GitHub → Toutes les configurations de cette page, prêtes à copier : github.com/mobilcomm/secretknock-examples (domaine public).

Questions

Pourquoi ma frappe MikroTik n’ouvre-t-elle pas le port ?

Vérifiez l’ordre des règles (les règles de frappe doivent précéder la règle de blocage), les délais d’expiration des address-list, ainsi que le fait que le routeur voie l’adresse depuis laquelle vous frappez — Secret Knock l’affiche sur l’écran d’accueil.

Guides pour votre configuration