Pular para o conteúdo
Secret Knock

Um cliente knockd para iPhone, iPad e Mac

O knockd abre uma porta quando um endereço acessa uma sequência secreta de portas no tempo certo. O Secret Knock envia essa sequência pelo iPhone, iPad, Mac ou Apple Watch, verifica se a porta responde e abre seu app de SSH.

O que o Secret Knock envia

Cada etapa de uma porta é uma batida TCP ou UDP em uma porta, com um atraso opcional antes dela e, para UDP, uma carga útil opcional em texto ou hexadecimal. Uma batida TCP é uma única tentativa de conexão: o app envia um único SYN e encerra a tentativa imediatamente, para que o sistema operacional não o retransmita — o knockd 0.8 redefine uma sequência em caso de SYN repetido.

As sequências de uso único (one_time_sequences do knockd) também funcionam: escolha Tipo de batida › Sequências de uso único e insira a lista; após uma batida que abriu a porta, o Secret Knock passa para a sequência seguinte. A importação de um knockd.conf não lê o arquivo de sequências — a importação informa isso —, portanto, insira essa lista manualmente.

Configure o servidor

Uma seção mínima do knockd que abre SSH para o endereço que bateu por 10 segundos. Escolha suas próprias portas — nunca reutilize exemplos 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

Adicione a porta ao app

  1. 1Nova porta › Começar com um modelo › exemplo do knockd preenche uma sequência TCP de três portas e SSH como a porta a verificar; substitua as portas pelas suas.
  2. 2Ou + › Importar de arquivo e escolha seu knockd.conf: cada seção com uma sequência se torna uma porta.
  3. 3Fixe IPv4 ou IPv6 para a porta se o knockd do seu servidor escutar apenas em uma família.
  4. 4Mantenha pressionada a aldrava de latão. A porta mostra Porta entreaberta quando a porta 22 responde, e Abrir SSH transfere você para seu app de SSH.

Todos os exemplos no GitHub → Todas as configurações desta página, prontas para copiar: github.com/mobilcomm/secretknock-examples (domínio público).

Perguntas

Funciona com tcpflags = syn do knockd?

Sim. Cada batida TCP é um único SYN, que é exatamente o que tcpflags = syn contabiliza.

Posso ver a mesma batida como um comando?

Sim. O editor da porta mostra a batida como um comando knock para seu terminal, pronto para colar.

Guias para sua configuração