Por que o daemon do NTP continua escutando no UDP6?

6

Eu tenho uma instalação limpa do Debian 7, e eu inseri manualmente as seguintes linhas em /etc/ntp.conf:

interface ignore wildcard
interface listen <local_nic_ip>

Esperando que o NTP não escute mais no UDP6, mas depois de um reinício, ele ainda faz:

5:udp        0      0 <local_nic_ip>:123       0.0.0.0:*                           9172/ntpd       
6:udp        0      0 127.0.0.1:123           0.0.0.0:*                           9172/ntpd       
8:udp6       0      0 ::1:123                 :::*                                9172/ntpd

A linha de comando do NTP não mostra nada incomum:

/usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 121:130

Como impedir que o NTP ouça essa porta UDP6?

    
por Howard 05.02.2014 / 14:27

3 respostas

13

Eu consegui desativar o IPv6 para NTP no meu Debian 5/6/7 e Ubuntu 12.04 desta maneira:

Edite o arquivo /etc/default/ntp e substitua

NTPD_OPTS='-g'

por

NTPD_OPTS='-4 -g'

Então, você pode manter suas diretivas em ntp.conf , elas não são ignoradas:

interface ignore wildcard
interface listen <local_nic_ip>
  • Sem interface ignore wildcard NTP também ouvirá em 0.0.0.0
  • Sem interface listen <local_nic_ip> NTP só vai ouvir 127.0.0.1 (claro)

Isso resultará em:

# netstat -anp | grep :123
udp    0      0 192.168.0.38:123     0.0.0.0:*                 2901/ntpd
udp    0      0 127.0.0.1:123        0.0.0.0:*                 2901/ntpd

Além disso, confirmo que OpenNTPD escuta onde você pede que ele ouça mais amigável (não é necessário editar vários arquivos de configuração). Por padrão, ele não escuta nada até você configurá-lo para fazer isso (muito seguro);)

No arquivo de configuração, apenas descomente a linha

listen on 127.0.0.1

E adicione linha

listen on <local_nic_ip>

Resultados em:

# netstat -anp | grep :123
udp   0    0 192.168.0.38:123     0.0.0.0:*                 8581/ntpd
udp   0    0 127.0.0.1:123        0.0.0.0:*                 8581/ntpd
    
por 05.02.2014 / 19:01
4

Se você considera isso um bug (e eu certamente faço: ntpd está ignorando uma diretiva de configuração) você terá que fazer isso com o mantenedor do pacote ou com os autores do upstream. Eu não acredito que nenhum deles fique por aqui - consulte as informações do pacote para obter detalhes de contato.

Como alternativa, você pode tentar outra implementação NTP (como OpenNTPD - Eu não usei isso pessoalmente, mas o pessoal do OpenBSD tende a ser absolutamente paranóico sobre segurança, então eu imagino que só escuta onde isso é dito).

Como Sander apontou, seu daemon NTP está ouvindo em localhost ( 127.0.0.1 & ::1 ) - Se você está preocupado em ser hackeado do localhost, provavelmente terá problemas maiores do que o daemon NTP. Estou um pouco irritado porque o daemon está ignorando uma diretiva de configuração, mas eu não consideraria isso uma séria preocupação de segurança.

    
por 05.02.2014 / 17:45
-3

O ntpd não está fazendo isso; ntpdate é. Veja abaixo a explicação. Eu não tinha nenhum destes no meu arquivo conf:

    interface ignore wildcard
    interface listen <local_nic_ip>

Eu inicializei e o sudo netstat -tunlp me deu isto:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           1433/ntpd       
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           1433/ntpd       

Liguei minha conexão de rede e o netstat me deu isto:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      4432/dnsmasq    
    udp        0      0 127.0.1.1:53            0.0.0.0:*                           4432/dnsmasq    
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           4501/ntpdate    
    udp6       0      0 :::123                  :::*                                4501/ntpdate    

Observe que os dois primeiros são DNS, não ntp. Role para a direita para ver o nome do programa.

Eu esperei um pouco, então netstat me deu isso:

    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      4432/dnsmasq    
    udp        0      0 127.0.1.1:53            0.0.0.0:*                           4432/dnsmasq    
    udp        0      0 192.168.5.5:123         0.0.0.0:*                           4542/ntpd       
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           4542/ntpd       
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           4542/ntpd       

Estranho. De qualquer forma, parece que o ntpdate é o que (temporariamente) te dá a conexão udp6. Você tem que usar o sudo para ver o PID e o nome do programa, caso contrário é muito enganador.

(mais tarde) Ah, não importa, parece que o seu é realmente ntp ...

    
por 12.02.2016 / 02:15