Skip to content
Esta página foi traduzida com IA e pode conter imprecisões. Ajude a melhorar no GitHub.

Gately v0.6.3 lançado ​

2 de novembro de 2026

Baixar v0.6.3 · GitHub Release

Monitoramento de desempenho (#59) ​

O novo módulo "Desempenho" coleta a cada 5 segundos CPU, memória, disco e carga do host, além de CPU, memória, descritores de arquivo e goroutines do processo do Gately:

  • a página mostra tendências de 60 segundos / 1 hora / 24 horas, ao lado das requisições em andamento, requisições por segundo, proporção de 5xx, tempo até o primeiro byte (P95) e estado dos backends dos sites em execução; clicar em um site abre suas estatísticas;
  • os sites Web passam a medir o tempo até o primeiro byte (do recebimento da requisição ao envio dos cabeçalhos da resposta), as estatísticas de site ganham curvas P50 / P95, o Prometheus ganha gately_site_request_duration_seconds e as métricas gately_host_* e gately_process_*, e o painel do Grafana foi atualizado;
  • uma regra de alerta escolhe uma métrica, uma comparação e um limite, e depois uma duração (1 a 1440 minutos); ela só dispara quando a condição se mantém durante toda a duração, e uma notificação de recuperação é enviada ao normalizar. A proporção de 5xx e a latência aceitam um número mínimo de requisições, para que pouco tráfego não seja avaliado. Os alertas saem pela Central de notificações, e a página avisa quando nenhuma regra de notificação os assina.

O histórico fica apenas na memória e recomeça após uma reinicialização. Veja Desempenho.

WAF com SafeLine ​

Uma instância de WAF pode entregar as requisições ao seu mecanismo de detecção SafeLine Community Edition próprio para análise semântica, sem outro proxy reverso antes ou depois do Gately:

  • informe o endereço do detector (host:port, ou unix: mais o caminho de snserver.sock); "Testar conexão" envia um heartbeat e uma injeção SQL de exemplo, e mostra o tempo de ida e volta e o ID de evento registrado pelo SafeLine;
  • o SafeLine roda antes dos grupos de regras, que podem ficar vazios quando só o SafeLine é usado; o modo "Apenas detectar" registra as detecções sem bloquear;
  • os bloqueios entram nos contadores do WAF, no log do WAF (com o ID de evento), nos logs de acesso, nas estatísticas de site e na Prevenção de intrusão;
  • dá para definir o tempo limite de detecção (1 segundo por padrão), o limite do corpo inspecionado (1024 KB por padrão, o restante é encaminhado sem alteração) e se as requisições são liberadas ou respondidas com 503 quando o mecanismo está indisponível (liberadas por padrão).

Veja Firewall WAF · Usar o SafeLine.

Operações em lote (#57) ​

O modo "Ordenar" das listas passa a se chamar "Ordenar e lote": depois de marcar itens, é possível ativá-los, desativá-los e excluí-los de uma vez, e os nomes são listados para confirmação antes de excluir. Os sites dos Serviços Web podem ser marcados entre vários listeners para adicionar ou remover domínios em massa, trocar o sufixo do domínio principal (old.com → new.com também reescreve www.old.com e *.old.com) e alterar em massa compressão, logs de acesso, CORS, cabeçalhos encaminhados, encerrar conexão ao recusar e referências ao WAF; as opções não alteradas mantêm o valor de cada site. O lote inteiro é validado primeiro e salvo de uma só vez, nada entra em vigor se um item falhar, e apenas os listeners afetados são recarregados, sem derrubar as conexões existentes. A API é composta pelos genéricos PUT <caminho>-enable e POST <caminho>-delete, além de POST /api/webservice/sites/batch.

STUN: liberar portas do firewall automaticamente ​

As regras STUN ganham "Liberar porta no firewall": quando ativada, o Gately libera a porta de travessia no firewall desta máquina (junto com a porta interna UPnP / NAT-PMP, se definida) e a remove quando a regra é parada ou excluída. Há suporte a nftables (OpenWrt fw4, firewalld) e iptables (fw3, ufw), as regras são restauradas em até 30 segundos após um recarregamento do firewall, e o cartão da regra mostra o resultado ou o motivo de uma falha. Veja Travessia STUN.

Correção: falha de emissão por CNAMEs curinga (#61) ​

Quando um domínio tem um curinga como *.example.com apontando para example.com, _acme-challenge também resolve para um CNAME, o registro de validação DNS-01 era gravado em @, e a CA informava que não encontrava o registro TXT. Agora o Gately decide por conta própria: um CNAME definido explicitamente continua sendo seguido, o que permite delegar a validação a outro domínio; um CNAME produzido por um curinga é reconhecido e o registro é gravado em _acme-challenge.<domínio>. Os certificados também ganham a opção "Não seguir o CNAME de _acme-challenge". Veja Certificados SSL.

Logs dos Serviços Web (#62) ​

  • Os logs de acesso registram o motivo de um bloqueio (banimento, lista de IP, país, limite de taxa, WAF), e as requisições que carregam uma sessão de login do painel desta instância registram o nome de usuário do painel;
  • a página de logs ganha "Ocultar origens banidas" (desativado por padrão, para que as requisições que causaram um banimento continuem visíveis em auditorias) e "Ocultar requisições do painel" (ativado por padrão); ambos afetam apenas a exibição, e os logs são salvos como antes;
  • o filtro de IP aceita exclusões iniciadas por ! ou -, como endereços, intervalos ou endereços parciais.

Outras melhorias ​

  • A topologia de rede ganha "Filtrar": por listener, apenas nós com problemas e sites por motivo de bloqueio; o mascaramento ganha o estilo "Apelidos", que substitui endereços por números como Visitor-01 e Backend-01 (#54);
  • o vídeo de tour do README começa direto no cartão de introdução;
  • dependências atualizadas: go-jose para v4.1.7 e klauspost/compress para v1.18.7.

Correções e reforços ​

  • Quando o backend de um site com WAF retorna 403 por conta própria, isso deixa de ser tratado como bloqueio do WAF: antes somava aos contadores de bloqueio e emitia um evento waf.blocked, de modo que uma regra de Prevenção de intrusão inscrita nos bloqueios do WAF podia banir um visitante normal;
  • "Ocultar requisições do painel" só confia em sessões de administrador, então o cookie de login de uma conta somente leitura não serve para marcar requisições como do painel; requisições bloqueadas não levam a marca do painel;
  • as operações em lote limitam o número de itens enviados antes de remover duplicatas, e um lote que define uma instância de WAF inexistente é rejeitado;
  • quando vários Gately rodam no mesmo host, as regras de firewall abertas automaticamente são distinguidas por instância e não apagam umas às outras.

Notas de atualização ​

  • Docker: baixe a nova imagem e recrie o contêiner; com o socket do Docker montado, o Gately também pode se atualizar pela própria página Docker. OpenWrt: instale o novo .apk / .ipk por cima do anterior. fnOS: instale o novo .fpk manualmente na Central de Aplicativos. Outras implantações podem atualizar online em Configurações.

Distribuído sob a licença Apache-2.0.