Oculte o SSH com port knocking
Uma porta SSH aberta recebe tentativas de login de toda a internet. O port knocking mantém a porta fechada até que você prove conhecer um segredo — então a abre apenas para o seu endereço, por alguns segundos.
Com knockd e nftables
Bloqueie o SSH por padrão e aceite-o apenas de endereços em um conjunto com tempo limite. knockd adiciona o endereço que fez a batida a esse conjunto; nftables o remove quando o tempo limite expira, e a sessão SSH estabelecida continua funcionando.
table inet filter {
set knocked4 {
type ipv4_addr
flags timeout
}
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif "lo" accept
tcp dport 22 ip saddr @knocked4 accept
}
} A seção do knockd que preenche o conjunto:
[openSSH]
sequence = 7311:tcp,8822:tcp,9133:udp
seq_timeout = 10
tcpflags = syn
start_command = /usr/sbin/nft add element inet filter knocked4 { %IP% timeout 30s } Mantenha o acesso permanente separado
Se você também permitir permanentemente alguns endereços, mantenha-os em um conjunto separado, sem tempo limite. Adicionar um endereço que já está em um conjunto temporizado não reinicia seu tempo limite; portanto, misturar os dois tipos de entrada em um único conjunto pode bloquear seu acesso quando o tempo expirar.
Ou use fwknop
O SPA do fwknop é mais forte do que uma sequência: um pacote criptografado e autenticado que não pode ser reutilizado. Consulte o guia do fwknop.
Do iPhone ao SSH
- 1Mantenha pressionada a aldrava de latão. Secret Knock verifica se a porta 22 responde e mostra por quanto tempo ela permanece aberta.
- 2Abrir SSH abre seu app SSH com um link ssh:// para o servidor.
- 3A opção “Manter a porta aberta enquanto a tela da porta estiver visível” envia outra batida pouco antes de a janela terminar, enquanto a porta está na tela.
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
Isso substitui as chaves SSH?
Não. O port knocking oculta o serviço; use também chaves SSH fortes e desative os logins por senha.
Guias para sua configuração
- Port knocking explicado →
- knockd no iPhone, iPad e Mac →
- SPA do fwknop no iPhone, Mac e Apple Watch →
- Port knocking no MikroTik →
- Port knocking do DrayTek Vigor →
- Port knocking no Apple Watch →
- Por que uma batida de porta não abre →
- exemplos de knockd.conf →
- configuração do servidor fwknop →
- Port knocking, VPN ou fail2ban? →