Ir al contenido
Secret Knock

Un cliente de knockd para iPhone, iPad y Mac

knockd abre un puerto cuando una dirección alcanza a tiempo una secuencia secreta de puertos. Secret Knock envía esa secuencia desde el iPhone, iPad, Mac o Apple Watch, comprueba que el puerto responde y abre la app SSH.

Qué envía Secret Knock

Cada paso de una puerta es un toque TCP o UDP a un puerto, con un retraso opcional antes y, para UDP, una carga útil opcional como texto o hexadecimal. Un toque TCP es un intento de conexión: la app envía un único SYN y cierra el intento de inmediato, para que el sistema operativo no lo retransmita; knockd 0.8 reinicia una secuencia cuando recibe un SYN repetido.

Las secuencias de un solo uso (one_time_sequences de knockd) también funcionan: elige Tipo de toque › Secuencias de un solo uso e introduce la lista; después de un toque que haya abierto la puerta, Secret Knock pasa a la siguiente secuencia. Al importar un knockd.conf no se lee el archivo de secuencias —la importación lo indica—, así que introduce esa lista manualmente.

Configura el servidor

Una sección mínima de knockd que abre SSH durante 10 segundos para la dirección que llama. Elige tus propios puertos; nunca reutilices ejemplos publicados.

[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
/etc/knockd.conf

Añade la puerta en la app

  1. 1Nueva puerta › Empezar con una plantilla › el ejemplo de knockd rellena una secuencia TCP de tres puertos y SSH como puerto que comprobar; sustituye los puertos por los tuyos.
  2. 2O bien, + › Importar desde archivo y elige tu knockd.conf: cada sección con una secuencia se convierte en una puerta.
  3. 3Fija IPv4 o IPv6 para la puerta si el knockd de tu servidor escucha solo en una familia.
  4. 4Mantén pulsado el llamador de latón. La puerta muestra Puerta entreabierta cuando el puerto 22 responde, y Abrir SSH te lleva a tu app SSH.

Todos los ejemplos en GitHub → Todas las configuraciones de esta página, listas para copiar: github.com/mobilcomm/secretknock-examples (dominio público).

Preguntas

¿Funciona con tcpflags = syn de knockd?

Sí. Cada toque TCP es un único SYN, que es exactamente lo que cuenta tcpflags = syn.

¿Puedo ver el mismo toque como un comando?

Sí. El editor de puertas muestra el toque como un comando knock para el terminal, listo para pegar.

Guías para tu configuración