Gately v0.6.5.5 lançado
11 de novembro de 2026
Baixar v0.6.5.5 · GitHub Release
Port Knocking (#80)
O novo módulo Port Knocking (no grupo "Rede") oferece autorização por pacote único (SPA) compatível com o cliente fwknop: as portas protegidas ficam inacessíveis de fora, o cliente envia primeiro um pacote de knock criptografado e autenticado e, depois de aceito, só esse endereço de origem é liberado por um tempo limitado. É indicado para proteger o acesso SSH direto, para que scp, desenvolvimento remoto pela IDE e outros usos que o terminal Web não cobre possam se conectar com segurança pela internet.
- Segurança: os pacotes são criptografados com AES e autenticados com HMAC, e o HMAC é verificado antes da descriptografia; cada pacote só pode ser usado uma vez (proteção contra repetição) e pacotes com carimbo de tempo fora da validade (120 segundos por padrão) são recusados; uma regra pode restringir o nome de usuário e exigir que o pacote informe o endereço a liberar;
- Bloqueio no firewall: os pacotes de knock são recebidos por padrão na UDP 62201; uma regra pode gravar as portas protegidas no firewall do sistema (nftables; iptables + ipset quando o kernel não tem nf_tables), e um endereço que fez o knock pode abrir novas conexões durante o tempo de liberação (30 segundos por padrão); conexões já estabelecidas não são afetadas;
- Sem ficar trancado do lado de fora: «Knock dispensado na rede local» vem ativado por padrão, então endereços privados e os prefixos IPv6 públicos das interfaces locais não precisam de knock (a faixa de NAT de operadora 100.64.0.0/10 não está incluída), e é possível adicionar uma lista de isenção;
- Entradas do Gately liberadas por knock: o controle de acesso por IP do redirecionamento de portas, do roteamento por protocolo e do encaminhamento integrado do STUN pode usar «Exigir knock»; quem decide é o próprio Gately, sem permissões de firewall, então funciona também no Windows, no macOS e em contêineres sem
NET_ADMIN; - Uma única porta aberta: o roteamento por protocolo pode exigir knock por rota e ganha uma rota «Port Knocking» (protocolo
spa) que recebe pacotes de knock por TCP (fwknop -P tcp); a mesma porta recebe o knock e depois libera SSH e outras rotas; - Prevenção de intrusão: knocks recusados podem servir de fonte de eventos, e o modelo integrado «Falha de port knocking» bloqueia por um dia após 5 falhas em 10 minutos por padrão; pacotes UDP que falham na autenticação HMAC são apenas contados e não são usados, porque a origem pode ser falsificada; knocks aceitos e recusados podem ser assinados na Central de notificações;
- Configuração do cliente: «Cliente» no cartão da regra gera a linha de comando do fwknop e um bloco do
~/.fwknoprc, com chaves no mesmo formato defwknop -k.
Veja Port Knocking.
Wake-on-LAN: desligamento remoto por agente
O desligamento remoto ganha o método "Agente": instale um agente no Windows, Linux, macOS ou OpenWrt (como tarefa agendada ou como serviço systemd / OpenRC, launchd ou procd). O agente consulta o Gately por long polling para receber comandos, então o dispositivo não precisa de portas abertas e o Gately não guarda credenciais de login do dispositivo.
- O agente executa apenas três ações fixas: desligar, reiniciar e suspender; a API
POST /api/wol/devices/{key}/shutdownaceita{"action": "reboot"}ou{"action": "sleep"}para reiniciar ou suspender; - Um comando vale por 10 segundos após o envio: o agente confirma primeiro e só executa depois da resposta do Gately; se o agente estiver offline, a requisição falha na hora e nunca fica na fila para a próxima conexão;
- O comando de instalação verifica primeiro o SHA-256 do script e para se não corresponder; as credenciais vão no corpo da requisição e em variáveis de ambiente e nunca aparecem em URLs nem em argumentos de linha de comando;
- O cartão do dispositivo mostra se o agente está online, com o nome do host, o sistema e o endereço de origem informados; ao gerar a credencial novamente, o agente antigo é desconectado na hora.
Há também o novo método "Requisição HTTP" para Home Assistant, tomadas inteligentes e outros serviços com API HTTP: informe a URL, o método, os cabeçalhos e o corpo; um código de status 2xx conta como sucesso. Veja Wake-on-LAN · Agente.
Serviço Web: confiar em usuários autenticados (#81)
Os sites ganham a opção "Confiar em usuários autenticados": visitantes autenticados pela autenticação do Gately deste site pulam o WAF e suas requisições não contam na sondagem de caminhos web da Prevenção de intrusão, para os casos em que o WAF ou regras de caminhos-isca bloqueiam seus próprios usuários. São confiáveis as sessões de autenticação Web, as identidades de login de terceiros listadas uma a uma na lista de permitidos, o login único de usuários compartilhados e a autenticação básica verificada; identidades permitidas por um curinga provedor:* como github:* não são confiáveis. Bloqueios, controle de acesso por IP e país e limites de taxa continuam valendo. Veja Firewall WAF.
Distribuição por usuário para mais tipos de site (#79)
Sites de redirecionamento, arquivos estáticos, painel de navegação e texto fixo também podem distribuir por usuário autenticado: usuários que correspondem a uma regra passam pelo proxy reverso para o backend dela, e os demais visitantes são tratados conforme o tipo de site, como antes; por exemplo, administradores entram na administração enquanto outros usuários logados são redirecionados para uma página informativa. Veja Serviço Web · Distribuir por usuário.
Requisições de administradores pulam o WAF do site
Quando a interface de administração é acessada por um site com WAF, requisições com uma sessão de administrador válida desta instância pulam o WAF do site, então salvar configurações com caminhos de arquivo, HTML ou scripts não é mais bloqueado com 403 pelas regras CRS. Contas somente leitura, visitantes e requisições de administração de outras instâncias continuam sendo verificados.
Correções
- Pacotes OpenWrt (#82): o apk do OpenWrt 25.12 substitui os arquivos mesmo depois de a verificação de arquitetura falhar, então um pacote arm64 misturado à pasta offline ao embutir pacotes numa imagem de firmware fazia o programa travar em loop depois de gravar o firmware. Agora, quando o apk instala um pacote de outra arquitetura, o programa gately em execução é mantido e uma mensagem avisa. Ao embutir pacotes no firmware ou instalar offline, deixe na pasta só o pacote gately da arquitetura do dispositivo; veja Instalação · OpenWrt.
Outras melhorias
- A documentação da API lista os endpoints de módulos sem login (como a consulta, a confirmação e o download de scripts do agente do Wake-on-LAN), informa que usam as credenciais próprias do módulo e inclui os campos do Port Knocking.
Notas de atualização
- Docker: baixe a nova imagem e recrie o contêiner. OpenWrt: instale o novo
.apk/.ipksobre o anterior e instale também oluci-app-gatelyda mesma versão se quiser a página do LuCI. fnOS: instale manualmente o novo.fpkna Central de aplicativos. As demais instalações podem ser atualizadas online em "Configurações do sistema". - O bloqueio no firewall do Port Knocking precisa de root ou
CAP_NET_ADMIN; no Docker, use a rede host ecap_add: NET_ADMIN.