Como Configurar NTP Seguro no VyOS com Autokey

11 min de leitura Redes e Segurança
Como Configurar NTP Seguro no VyOS com Autokey

O VyOS é um sistema operacional de roteamento de código aberto baseado em Linux, amplamente utilizado para gerenciar infraestrutura de rede moderna. Uma das tarefas críticas em qualquer ambiente de TI é a sincronização precisa do tempo. Protocolos como TLS/SSL, autenticação Kerberos e logs forenses dependem estritamente da consistência temporal entre os dispositivos.

A configuração padrão do NTP (Network Time Protocol) no VyOS geralmente utiliza chaves simétricas ou solicita públicas. No entanto, para ambientes que exigem um nível elevado de segurança contra ataques de spoofing de pacotes e manipulação de tempo, o uso do NTP Autokey se destaca. Este protocolo utiliza criptografia de chave pública (RSA) para autenticar os servidores de tempo, garantindo que o relógio local só sincronize com fontes confiáveis verificadas matematicamente.

Neste tutorial, você aprenderá a configurar o NTP Autokey no VyOS passo a passo. O processo envolve a geração de chaves RSA, configuração do daemon ntpd, definição de fontes de tempo e aplicação das regras. Este guia é essencial para administradores de sistemas, engenheiros de rede e profissionais de segurança que buscam endurecer a infraestrutura de seus roteadores VyOS.

Pré-requisitos e Preparação do Ambiente

Antes de iniciar a configuração, certifique-se de que você tem acesso SSH com privilégios de superusuário ao seu roteador VyOS. A versão do VyOS deve ser recente (série 1.3 ou superior) para garantir compatibilidade com os parâmetros modernos de segurança.

O primeiro passo lógico é entender a estrutura de diretórios onde o VyOS armazena as configurações persistentes. Diferente de outros sistemas, o VyOS usa uma abordagem baseada em comandos que se traduz em arquivos de configuração no sistema de arquivos. Para operações avançadas como geração de chaves criptográficas, precisamos acessar o shell do Linux subjacente.

Inicie uma sessão SSH e entre no modo de configuração do VyOS:

vyos@router:~$ configure

Você estará agora dentro do prompt de configuração. Para executar comandos do sistema operacional sem sair da configuração, utilize o comando vtysh ou simplesmente escape para o shell com exit. Neste tutorial, utilizaremos a abordagem direta de comandos de shell para gerar as chaves, pois isso oferece maior controle sobre os arquivos gerados.

Geração do Par de Chaves RSA

O protocolo Autokey depende da troca de chaves públicas. O VyOS precisa de um par de chaves RSA: uma chave privada, que deve ser mantida em segredo absoluto, e uma chave pública, que será enviada aos clientes ou usada para verificar assinaturas dos servidores.

Acesse o diretório onde as chaves do NTP serão armazenadas. O local padrão recomendado é /var/lib/ntp/autokey. Crie esse diretório se ele não existir:

sudo mkdir -p /var/lib/ntp/autokey

Navegue até o diretório e gere as chaves. Utilize a ferramenta openssl, que já está disponível no VyOS, para criar uma chave RSA de 2048 bits ou superior. Chaves menores que 2048 bits são consideradas inseguras em padrões modernos.

cd /var/lib/ntp/autokey
sudo openssl genrsa -out server.key 2048

Em seguida, extraia a chave pública do arquivo gerado. O NTP Autokey espera que a chave pública tenha uma extensão específica ou seja identificada corretamente pelo daemon.

sudo openssl rsa -in server.key -out server.pub -pubout

Agora, defina as permissões de arquivo corretas. A chave privada (server.key) deve ser legível apenas pelo usuário root ou pelo usuário que executa o serviço NTP (geralmente ntp ou root, dependendo da implementação). A chave pública pode ter permissões mais abertas, mas é boa prática restringi-la.

sudo chmod 600 server.key
sudo chmod 644 server.pub

Essas chaves são o coração do seu esquema de segurança. Se alguém obtiver acesso à server.key, poderá forjar pacotes NTP e manipular a hora do seu sistema, comprometendo logs e autenticações.

Configuração do Daemon NTP no VyOS

Agora que temos as chaves criptográficas, devemos instruir o VyOS a utilizar o protocolo Autokey em vez dos métodos padrão. A configuração é feita através da interface de linha de comando (CLI) do VyOS.

Definindo as Fontes de Tempo

O primeiro passo é definir quais servidores NTP serão utilizados como fonte primária. Para o Autokey funcionar corretamente, os servidores externos também devem suportar o protocolo ou ser configurados para atuar como ponte. No entanto, a configuração local define quem você confia.

set system ntp server 'time.nist.gov' autokey
set system ntp server 'time.google.com' autokey

Ao adicionar o flag autokey ao final do comando do servidor, estamos informando ao VyOS que ele deve esperar uma assinatura criptográfica desses servidores. Se os servidores externos não suportarem Autokey nativamente (o que é comum para grandes pools públicos), você pode precisar configurar um servidor intermediário local ou usar o modo mode 1 (solicitação pública) dependendo da versão do VyOS e da compatibilidade.

No entanto, a configuração mais segura e recomendada para ambientes corporativos é ter um servidor NTP interno dedicado que tenha sincronizado via Autokey com fontes externas confiáveis, e então configurar os clientes VyOS para confiar apenas nesse servidor interno ou usar o Autokey em uma topologia de malha.

Se você estiver configurando este VyOS como um servidor NTP para sua rede local, adicione a diretiva interface para especificar em quais interfaces o serviço responderá:

set system ntp interface 'eth0'
set system ntp interface 'eth1'

Habilitando Autokey Globalmente

Além de configurar os servidores, você precisa garantir que o daemon NTP saiba onde encontrar as chaves geradas anteriormente. Isso é feito configurando o caminho para o diretório autokey.

set system ntp autokey directory '/var/lib/ntp/autokey'

Também é recomendável definir a política de segurança do Autokey. Por padrão, o VyOS pode exigir verificações rigorosas. Você pode ajustar o nível de verificação se necessário, mas para a maioria dos casos, os padrões são suficientes.

set system ntp autokey policy 'verify'

Este comando garante que o sistema verifique as assinaturas digitais antes de aceitar qualquer ajuste de tempo. Se a assinatura não corresponder à chave pública esperada, o pacote será descartado e um erro será registrado.

Ajustando Parâmetros de Segurança Adicionais

Para aumentar a segurança, desative a atualização manual da hora via hwclock se você estiver usando NTP como fonte primária, pois conflitos podem ocorrer. Além disso, restrinja o acesso ao serviço NTP apenas às subnets confiáveis.

set system ntp disable-hw-clock-update
set access host-based ntp allow-source '192.168.1.0/24'

O comando disable-hw-clock-update impede que o NTP tente escrever diretamente no hardware RTC (Relógio em Tempo Real) a cada atualização, reduzindo a sobrecarga de I/O e evitando inconsistências se o serviço falhar. A regra de acesso garante que apenas máquinas na rede local 192.168.1.0/24 possam solicitar sincronização.

Aplicação e Verificação da Configuração

Depois de inserir todos os comandos, você deve confirmar a configuração no VyOS:

show configuration commands

Revise as linhas relacionadas ao NTP. Deve haver entradas para os servidores, o diretório autokey e as restrições de interface/ACL. Se estiver tudo correto, saia do modo de configuração e salve:

exit
save

O VyOS reiniciará o serviço NTP automaticamente após a aplicação da configuração. Para verificar se o serviço está rodando corretamente, use os comandos de status do sistema.

Verificando o Status do Serviço

Confirme que o processo ntpd está ativo:

sudo systemctl status ntpd

Se o serviço falhar, verifique os logs para erros de permissão ou caminho incorreto das chaves.

Analisando a Sincronização com Autokey

Para verificar se o Autokey está realmente sendo usado e se as assinaturas estão sendo validadas, utilize o comando ntpq. Este é um utilitário padrão do NTP que fornece detalhes sobre a associação.

sudo ntpq -c peers

A saída mostrará uma lista de servidores. Procure por indicadores de que o modo Autokey está ativo. Em versões modernas, você pode ver colunas indicando a confiança da chave ou o estado de verificação. Se houver problemas de sincronização devido à falha na verificação da chave pública, o status do servidor ficará como unreachable ou invalid.

Outra ferramenta útil é o ntpstat, que fornece um resumo simples do estado:

sudo ntpstat

Uma saída indicando "synchronized" confirma que o VyOS está recebendo tempo válido. Para detalhes mais profundos sobre as chaves carregadas, verifique os logs do sistema:

sudo tail -f /var/log/syslog | grep ntpd

Você deve ver mensagens indicando que as chaves foram carregadas com sucesso do diretório especificado.

Troubleshooting Comum e Boas Práticas

A configuração de criptografia pode introduzir complexidades. Abaixo estão os problemas mais frequentes ao configurar NTP Autokey no VyOS:

  1. Permissões Incorretas nos Arquivos de Chave: O daemon NTP falhará silenciosamente ou não carregará as chaves se server.key estiver com permissões abertas (ex: 644). Lembre-se: a chave privada deve ser 600.
  2. Caminho do Diretório Equivocado: Certifique-se de que o caminho configurado em system ntp autokey directory corresponde exatamente ao local onde você gerou as chaves. O VyOS não segue links simbólicos por padrão nesta configuração específica.
  3. Incompatibilidade de Versão do Protocolo: Alguns servidores NTP públicos antigos podem não responder corretamente a solicitações Autokey complexas. Se a sincronização falhar, tente alternar temporariamente para o modo padrão (sem autokey) para isolar se o problema é de conectividade ou de criptografia.
  4. Fusos Horários e DST: O NTP Autokey não lida com regras de horário de verão. Certifique-se de que o fuso horário do VyOS está configurado corretamente via set system time-zone.

Para manutenção futura, faça backup regular das chaves RSA. Se você substituir o roteador ou restaurar um backup, essas chaves devem ser copiadas para o novo sistema, caso contrário, a cadeia de confiança será quebrada e os clientes perderão a sincronização segura.

Conclusão

A configuração do NTP Autokey no VyOS é uma etapa poderosa para hardening de rede. Ao mover da autenticação baseada em senhas simples ou nenhuma autenticação para um esquema de chave pública RSA, você protege sua infraestrutura contra ataques de manipulação de tempo que poderiam comprometer a integridade dos seus logs e serviços de autenticação.

Lembre-se sempre de testar a configuração em um ambiente de laboratório antes de aplicar em produção. A sincronização de tempo é crítica; uma falha na comunicação com os servidores NTP pode impedir o boot de alguns serviços dependentes ou causar desincronizações graves em clusters distribuídos.

Aplique estas configurações, monitore os logs e mantenha suas chaves privadas seguras. Seu roteador VyOS estará agora alinhado aos padrões mais rigorosos de segurança de rede para sincronização temporal.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000