Un client knockd pour iPhone, iPad et Mac
knockd ouvre un port lorsqu’une adresse atteint à temps une séquence secrète de ports. Secret Knock envoie cette séquence depuis votre iPhone, iPad, Mac ou Apple Watch, vérifie que le port répond et ouvre votre app SSH.
Ce que Secret Knock envoie
Chaque étape d’une porte est une frappe TCP ou UDP vers un port, avec un délai facultatif avant celle-ci et, pour UDP, une charge utile facultative sous forme de texte ou d’hexadécimal. Une frappe TCP correspond à une tentative de connexion : l’app envoie un seul SYN et ferme immédiatement la tentative, afin que le système d’exploitation ne le retransmette pas — knockd 0.8 réinitialise une séquence en cas de SYN répété.
Les séquences à usage unique (one_time_sequences de knockd) fonctionnent également : choisissez Type de frappe › Séquences à usage unique et saisissez la liste ; après une frappe qui a ouvert la porte, Secret Knock passe à la séquence suivante. L’importation d’un knockd.conf ne lit pas le fichier de séquences — l’importation l’indique — saisissez donc cette liste manuellement.
Configurer le serveur
Une section knockd minimale qui ouvre SSH pendant 10 secondes pour l’adresse qui frappe. Choisissez vos propres ports — ne réutilisez jamais des exemples publiés.
[options]
UseSyslog
[openSSH]
sequence = 7311:tcp,8822:tcp,9133:udp
seq_timeout = 10
tcpflags = syn
start_command = /usr/sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
cmd_timeout = 10
stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT Ajouter la porte dans l’app
- 1Choisissez Nouvelle porte › Commencer à partir d’un modèle › knockd (exemple : 7000, 8000, 9000). Ce modèle renseigne une séquence TCP à trois ports et SSH comme port à vérifier ; remplacez les ports par les vôtres.
- 2Ou + › Importer depuis un fichier, puis choisissez votre knockd.conf : chaque section contenant une séquence devient une porte.
- 3Verrouillez IPv4 ou IPv6 pour la porte si le knockd de votre serveur n’écoute que sur une seule famille.
- 4Maintenez le heurtoir en laiton enfoncé. La porte affiche Porte entrouverte une fois que le port 22 répond, et Ouvrir SSH vous permet de passer à votre app SSH.
Tous les exemples sur GitHub → Toutes les configurations de cette page, prêtes à copier : github.com/mobilcomm/secretknock-examples (domaine public).
Questions
Cela fonctionne-t-il avec tcpflags = syn de knockd ?
Oui. Chaque frappe TCP est un seul SYN, ce qui correspond exactement à ce que tcpflags = syn compte.
Puis-je voir la même frappe sous forme de commande ?
Oui. L’éditeur de porte affiche la frappe sous forme de commande knock pour votre terminal, prête à être collée.
Guides pour votre configuration
- Le port knocking expliqué →
- SPA fwknop sur iPhone, Mac et Apple Watch →
- Port knocking MikroTik →
- Port knocking DrayTek Vigor →
- Masquer SSH derrière le port knocking →
- Port knocking sur Apple Watch →
- Pourquoi une frappe n’ouvre pas le port →
- Exemples de knockd.conf →
- configuration du serveur fwknop →
- Port knocking, VPN ou fail2ban ? →