Como testar se o servidor NTP está seguro ou não

Como testar se o servidor NTP está seguro ou não

Estamos tentando algumas configurações de NTP no arquivo ntp.conf e queremos ter certeza se o servidor NTP está seguro ou não.

Seguindo a recomendação fornecida aqui: https://support.ntp.org/Support/AccessRestrictions#Section_6.5.1.2.1.

nós adicionamos :

IPV4: restrict -4 default limited kod nomodify notrap nopeer noquery

IPv6: restrict -6 default limited kod nomodify notrap nopeer noquery

Agora a pergunta é: Com base na linha escrita na documentação:

Como você está disposto a permitir que outros obtenham o horário do seu ntpd, você permitirá que eles vejam as informações de status do seu servidor (mesmo que isso possa revelar informações sobre o seu sistema operacional e a versão do ntpd)?

Como podemos ter certeza se o servidor está enviando seu status ou alguma outra informação do sistema operacional ou não?

Além disso, qual é a diferença se não adicionarmos a opção 'noquery' na restrição e como podemos testar com e sem a opção 'noquery', ou seja, se adicionar tal opção tem algum reflexo ou não? (Queremos testar do ponto de vista da segurança)

Podemos usar o wireshark para recuperar o status ou informações do sistema operacional para testar nossas opções de configuração?

Responder1

A implementação de referência do ntpd expõe muitas de suas variáveis ​​de implementação através dos programasntpq(entpdcalgo que só o seu autor aprecia). Estes utilizam um protocolo de controle em pacotes NTP especiais. É possível que o canal de controle possa alterar a configuração do ntpd, embora isso raramente seja usado na era moderna, onde você pode automatizar a implantação de arquivos de configuração em qualquer número de hosts.

Os riscos de manter o NTPD são principalmenteimpedindo a amplificação de IP para endereços falsificadose protegendo sua configuração de sincronização de horário contra alterações de endereços IP não autorizados nas redes.

Como sempre, manter o patch atenua algumas falhas. Um ataque de amplificação através da função "monlist" resultou emCVE-2013-5211. Esta deveria ter sido uma atualização anos atrás, mas verifique setodosdos seus hosts estão em uma distribuição suportada e recebem atenção de um mantenedor.

Toda a atenção ao monlist resultou em algumas ferramentas para digitalizá-lo facilmente. Por exemplo,script nmap ntp-monlist.

A lista completa de funções é acomandos documentados para ntpq. Essas linhas na configuração escolha sua própria configuração do wiki diferem por noquery, o que nega totalmente todas as consultas ntpq. Manter o serviço de tempo funcionando. Por exemplo, esse script nmap não retornaria nada. O contraste com nomodfyé uma regra de acesso que controla apenas os comandos que alteram a configuração. Claramente nomodifydeve ser fortemente restrito, possivelmente apenas para localhost.

Compare com configurações de exemplo em outros lugares, como o pacote do seu disto favorito.Ntp.conf do RHEL 7sugere isso como ponto de partida para o controle de acesso:

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery
    
# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
    
restrict 127.0.0.1 
restrict ::1
    
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    
# Disable the monitoring facility to prevent amplification attacks using ntpdc  
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor

Observe a mitigação do monlist, embora o ntpd já esteja corrigido. Além disso, o padrão para hosts remotos não pode consultar ou modificar. Com pequenas modificações, isso poderia tornar um host NTP pronto para servir a Internet pública.

Naturalmente, quando você souber o que ntp.conf deseja, implante-o. Automatize a configuração dos servidores NTP, obtenha uma configuração razoável nas imagens de modelo de todos os hosts.

Toda essa discussão monlist não cobre sua pergunta original sobre sistema operacional e identificação de plataforma via ntp. De acordo com os documentos ntpq, essas informações de compilação podem aparecer nas variáveis ​​do sistema por meio do readvarcomando de controle. Como em um servidor remoto: ntpq -c readvar time.example.net. Embora existam alguns detalhes de implementação para decodificar aqui, como qual ID de associação é o host NTP em questão.

Pessoalmente, não estou muito preocupado em expor informações de compilação sobre o ntpd. Alguém descobre que meu ntpd está atualizado e algumas máquinas de estado, não há muito que possam fazer com isso. Um invasor espalharia pacotes NTP forjados em todos os hosts que pudesse, na esperança de amplificação.

informação relacionada