GNU/Linux >> Linux Esercitazione >  >> Linux

Perché ntpd è in ascolto su così tante porte/indirizzi?

Soluzione 1:

Non è affatto promiscuo. È solo vincolante per gli indirizzi IP dell'interfaccia e localhost, sia sui protocolli ipv4 che ipv6. Se pensi che non dovrebbe essere in ascolto di alcuni di questi, cambia semplicemente listen config come spiegato nel manuale (questo potrebbe essere per una versione diversa che stai usando):

 listen on address
         Specify a local IP address or a hostname the ntpd(8) daemon
         should listen on. If it appears multiple times, ntpd(8) will
         listen on each given address. If the exact string '*' is given as
         an address, ntpd(8) will listen on all local addresses. Other-
         wise, address can be followed by an asterisk ('*') and a UDP port
         number to listen on instead of the default 123. ntpd(8) does not
         listen on any address by default. For example:

               listen on *
               listen on 127.0.0.1
               listen on ::1

In alcune altre versioni sarà necessario modificare le opzioni in ntpd demone stesso per cambiare su quali protocolli/interfacce ascoltare (opzioni come -4 , -6 , -I )

Soluzione 2:

Dalla mia lettura di questa pagina, sembra che ntp non utilizzi INADDR_ANY 0.0.0.0 indirizzo esclusivamente in parte per motivi di sicurezza e in parte per motivi di autenticazione.

La prima porta 123 è inferiore a 1024, quindi è considerata una porta privilegiata e solo root può collegarsi a quella porta. Ntp è in genere impostato per eliminare i privilegi dopo l'avvio. Da quello che ho capito dagli elenchi di posta e dall'articolo una volta eliminati i privilegi non è possibile aprire un socket per rispondere dalla porta di origine corretta di 123, quindi ntp apre i socket per ogni indirizzo assegnato prima di eliminare i privilegi.

Da quello che ho letto, alcuni dei meccanismi di autenticazione per ntp richiedono fondamentalmente che la porta di origine e di destinazione sia 123 e nient'altro.

La questione non è del tutto chiara. Vedi la sezione sull'indirizzo jolly 0.0.0.0 , è aperto da ntpd per qualche motivo, ma dai commenti non dovrebbe mai essere effettivamente utilizzato, tranne possibile in alcuni rari casi speciali, di cui gli sviluppatori non sono del tutto sicuri, ma non vogliono rimuovere il socket, nel caso in cui rompano le cose.

Tieni presente che normalmente ntpd non dovrebbe accettare pacchetti sugli indirizzi con caratteri jolly poiché in tal caso si verificano numerosi problemi, incluso l'invio di pacchetti di ritorno a un indirizzo diverso dall'indirizzo richiesto dal mittente.DannyMayer - 27 aprile 2009

Penso che la risposta principale alla tua domanda sia nel commento qui sopra.


Linux
  1. Perché [a-z] corrisponde alle lettere minuscole in Bash?

  2. Perché Sudo ignora gli alias?

  3. Perché l'uomo stampa "gimme Gimme Gimme" alle 00:30?

  4. Linux – Perché Setuid non funziona??

  5. Perché Mv(1) copia gli oggetti se l'autorizzazione a spostarsi è negata?

Come trovare il tuo indirizzo IP in Linux

Perché l'opzione Ssh -t aggiunge Cr e Lf nell'output reindirizzato?

Perché l'espansione della variabile senza $ funziona nelle espressioni?

Ottieni un indirizzo IP su Linux:scopri i molti modi

Perché il contenitore docker richiede Autorizzazione negata?

netstat — perché i demoni IPv4 ascoltano le porte elencate solo in -A inet6?