GNU/Linux >> Linux Esercitazione >  >> Linux

È una buona pratica eseguire un demone con un account utente non root?

Ho sviluppato un'applicazione che utilizza NTP per modificare l'ora della rete, per sincronizzare due dei miei computer.
Funziona come root , poiché solo a quest'ultimo è consentito modificare l'ora e la data su Linux (credo).

Ora, voglio eseguirlo come utente. Ma devo accedere all'ora.

  • È una buona pratica eseguire un demone con un account utente non root?
  • Devo dare alla mia domanda una capacità come CAP_SYS_TIME ?
  • Non introduce una vulnerabilità di sicurezza?
  • C'è un modo migliore?

Risposta accettata:

È una buona pratica eseguire un demone con un account utente non root?

Sì, e questo è comune. Ad esempio, Apache inizia come root e quindi esegue il fork del nuovo processo come www-data (di default).
Come detto prima, se il tuo programma viene violato (es:code injection), l'attaccante non otterrà un accesso root, ma sarà limitato ai privilegi che hai dato a questo specifico utente.

Devo fornire una "capacità" come "CAP_SYS_TIME"?

È una buona idea poiché eviti di usare setuid e limita le autorizzazioni a questa funzionalità molto specifica.

Devo usare un altro modo per farlo che sia considerato una "buona pratica"?

Puoi aumentare la sicurezza, ad esempio:

  • Esegui il servizio come utente senza privilegi, senza shell.
  • Usa chroot per bloccare l'utente nella sua home directory.

Linux
  1. 4 modi per disabilitare l'account di root in Linux

  2. Un'introduzione al monitoraggio dell'account utente Linux

  3. Soluzioni di virtualizzazione sotto Openbsd?

  4. Utente predefinito non root di Kali

  5. Esegui Docker come utente non root

Come eseguire Docker come utente non root in Linux

Esecuzione di Podman senza root come utente non root

Gestori di pacchetti non root?

Come modificare l'immagine del profilo dell'account?

Consenti a cronjobs di essere eseguito da pam anche se la password dell'utente è scaduta

Come utilizzare sudo per consentire a un utente non root di eseguire un comando particolare