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:

  • Può creare una regola in iptables solo per i server google?
  • Politica predefinita per OUTPUT
  • Come fermare un attacco ICMP?
  • iptables per l'inoltro di port indirizzo IPv6 alla port localhost
  • Dopo ore di funzionamento, NTP smette di funzionare
  • iptables: build una regola contro abusi per attacchi di amplificazione DNS
  •  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?

  • Lancio memcached sul caricamento del server?
  • Come eseguire HTTPD come utente specifico e non da nessuno?
  • Come utilizzare iptables per inoltrare le richieste a un server jBoss in esecuzione su una macchina diversa?
  • Installare postgresql su RHEL 5.6
  • Qual è la differenza tra RHEV e oVirt?
  • AUFS manca in Redhat Fedora, c'è un modo alternativo di impilare directory?
  • 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.