Hardening NTP/Chrony no Linux

A segurança e sincronização de horários tornou-se crítica atualmente.
Hoje, a sincronização de tempo não serve apenas para "deixar o relógio certo", mas é um requisito de segurança e funcionamento para quase tudo em uma rede moderna.

[ Hits: 1.565 ]

Por: Buckminster em 05/02/2026


CONCLUSÃO



Boas práticas

Use múltiplas fontes: Configure pelo menos 4 servidores NTP.

Isolamento: Utilize um servidor NTP interno, por exemplo, o Chrony, sincronizado com os servidores https://ntp.br/.

NTS: Considere o uso de NTS para autenticação criptográfica moderna.

Autenticação NTP: Use chaves simétricas para garantir que o servidor Web sincronize somente com servidores NTP autorizados (O Chrony usa Network Time Security (NTS) nativo que é mais seguro).

Caso tenha firewall (IPTables, NFTables, PFSense, UFW, etc), libere a porta 4460 para o NTS funcionar.

Exemplos:

$ sudo ufw allow out 4460/tcp

$ sudo iptables -A OUTPUT -p tcp --dport 4460 -j ACCEPT

No nftables.conf:

table inet filter {
    chain output {
        type filter hook output priority 0; policy drop;
        
        # Tráfego para sincronização de tempo (NTP.br)
        tcp dport 4460 accept comment "NTS Key Exchange"
        udp dport 123 accept comment "NTP Traffic"
        
        # Permitir tráfego já estabelecido
        ct state established,related accept
    }
}

Passo a Passo no pfSense:

Vá em Firewall > Rules.

Selecione a aba da interface onde seu servidor está (geralmente LAN).

Clique em Add (seta para cima) para criar uma nova regra:

  • Action: Pass
  • Interface: LAN
  • Address Family: IPv4 (ou IPv4+IPv6 se usar ambos)
  • Protocol: TCP
  • Source: O IP fixo do seu servidor (recomendado) ou LAN net.
  • Destination: Any (ou crie um Alias com os IPs do NTP.br para ser mais rígido).
  • Destination Port Range: From 4460 to 4460.
  • Description: Permitir NTS Key Exchange (Chrony)

Clique em Save e depois em Apply Changes.

Muitas vezes, além da regra de porta, o pfSense pode ter o pacote pfBlockerNG ou Snort/Suricata instalado. Se eles estiverem ativos, podem estar identificando o tráfego na porta 4460 como "não padrão" e descartando a conexão.

Testando no Chrony

Após aplicar as regras e reiniciar o firewall, teste novamente a conectividade.

Reinicie o Chrony:

$ sudo systemctl restart chrony

Teste de rede:

$ nc -zv a.st1.ntp.br 4460

(Deve retornar Connection to ... succeeded).

Caso retornar algo como:

KeyID 0/KLen 0: A conexão segura não foi estabelecida.

Verifique o handshake:

$ sudo chronyc authdata

Atmp (Attempts): O número 2 em Last Atmp mostra que o Chrony tentou, mas não obteve sucesso recente em renovar os cookies de segurança.

Todos os servidores agora devem exibir KeyID maior que 0 e KLen como 256.

Comandos úteis Chrony:

$ sudo systemctl restart chrony

$ sudo service chrony restart

$ sudo chronyc sources

$ sudo chronyc authdata

$ sudo chronyc tracking

$ nc -zv time.cloudflare.com 4460

$ nc -zv nts.netnod.se 4460

$ nc -zv a.st1.ntp.br 4460

$ sudo journalctl -u chrony | grep -i nts

$ ping -s 1400 a.st1.ntp.br

Se você quiser ver em tempo real o que seu Linux está fazendo ao reiniciar, abra um segundo terminal e deixe rodando:

$ sudo journalctl -f -u chrony

Instalação e configuração do Chrony:


Guia de configuração NTS no Linux com Chrony:


Página anterior    

Páginas do artigo
   1. INTRODUÇÃO
   2. CONFIGURANDO
   3. CONCLUSÃO
Outros artigos deste autor

Instalação do PostgreSQL, Apache2 e PHP8 no Debian Buster 10 e no Stretch 9

Instalar e configurar o Nftables com exemplos básicos de configurações

O que é uma VPN?

Descritores de Arquivos e Swappiness

Squid - Entendendo um pouco as configurações

Leitura recomendada

Auditorias Teste de Invasão para Proteção de Redes Corporativas

Cliente "automágico" Linux logando no domínio NT/Samba

Quad9 - O que é e como usar

Nessus Portscanner

Single Honeypot

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts