ntpd in esecuzione come non-root, ma i pacchetti in output corrispondono a uid 0

Ho impostato la mia catena OUTPUT iptables predefinita in pacchetti DROP. Ho quindi creato una regola di firewall per consentire all'utente ntp di submit i pacchetti ntp:

iptables -A OUTPUT -m owner --uid-owner ntp -p udp --dport 123 -j ACCEPT 

Tuttavia, each 10-20 minuti vedo:

  • Routing tramite gateway OpenVPN
  • Come sincronizzare le chiamate di command su Linux
  • Uso di iptables per bloccare tutto il traffico in output da una NIC?
  • inaspettato RCODE REFUSED - mangiare i file di registro
  • Come posizionare il traffico avviato localmente a un gateway diverso dal traffico NATed?
  • iptables regola -d! (non destinazione) mi sta dando errori
  •  ntpd[27769]: sendto(<snip>) (fd=22): Operation not permitted 

    Ho quindi rimosso la parte di -m owner --uid-owner ntp della -m owner --uid-owner ntp e aggiunto una regola di log prima di esso:

     iptables -A OUTPUT -p udp --dport 123 -j LOG --log-level debug \ --log-prefix "Spotted a NTP packet: " --log-uid 

    ntpd iniziato a lavorare nuovamente e nel buffer dell'anello del kernel vedo:

     Spotted a NTP packet: <snip> PROTO=UDP SPT=123 DPT=123 LEN=56 UID=0 

    Sto utilizzando l' --log-uid al target LOG e ntpd è in esecuzione come utente ntp (uid = 38):

     # ps auxf | grep ntpd ntp 27769 0.0 1.0 4512 4508 ? SLs Jan04 0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid 

    Tuttavia il registro mostra UID=0 . Sono assolutamente positivo che il sistema sta inviando pacchetti ntp e poiché non sono più in grado di get l' Operation not permitted , sono certo che è in realtà ntpd che sta inviando il pacchetto.

    Immagino che sto bene di non corrispondere l'utente ntp per questi pacchetti; tuttavia, qualcuno può spiegare perché iptables non mostra UID=38 per questi pacchetti?

  • Tcpdump vedrà i pacchetti che vengono scartati da iptables?
  • Imansible eseguire un'installazione PECL
  • Blocca LogMeIn con IPTables
  • Come inoltrare la connessione da un'interface all'altra sotto Linux
  • Ubuntu ufw: imposta una regola su base interface
  • consentire la port 3306
  • 2 Solutions collect form web for “ntpd in esecuzione come non-root, ma i pacchetti in output corrispondono a uid 0”

    Per un programma per utilizzare una port less di 1024 deve essere root. Molte applicazioni come NTP avranno inizio, apriranno la port come root e poi rilasciano i privilegi a un account definito per tutto il resto.

    Ci sono errori nella regola iptables:

     iptables -A OUTPUT -m owner --uid-owner ntp -p udp --dport 123 -j ACCEPT 

    Se si utilizza il proprietario -uid-owner è necessario definire il valore numbersco uid .
    Per il nome del programma Hai bisogno di un'altra opzione: –cmd-owner . La regola corretta è:

     iptables -A OUTPUT -m owner --cmd-owner ntp -p udp --dport 123 -j 

    Spiegazione dettagliata Puoi leggere in un ottimo libro di Oskar Andreasson .

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.