come identificare tutti i pacchetti in una distribuzione Linux che richiede l'accesso root?

4

Per aiutarmi a dare priorità ai problemi di sicurezza e ad essere conforme a una politica di gestione delle patch ea ridurre l'esposizione al rischio, mi piacerebbe avere un elenco di tutti i pacchetti in una distribuzione Linux (basata su rpm) che necessita di privilegi elevati da eseguire e che hanno capacità di ascolto (3) e quindi, possibili candidati per lo sfruttamento di root.

Si noti che non voglio mappare solo i pacchetti installati, ma tutti i pacchetti possibili in distribuzione (dato che i pacchetti provengono solo dai repository ufficiali e il pacchetto è finito)

C'è un modo per ottenere queste informazioni tramite il file spec RPM?

C'è qualche distribuzione che fornisce queste informazioni?

C'è qualche lavoro / ricerca fatto già in questa direzione?

    
posta VP. 24.11.2016 - 09:25
fonte

1 risposta

2

In una certa misura, è impossibile. È possibile eseguire un firewall per gestire tali problemi. Se vuoi fare qualcosa, i commenti che gli altri utenti ti hanno dato sono i più che puoi davvero pensare di fare.

Vi sono ragioni per cui tale classificazione è generalmente irrealizzabile. Poi ci sono alcuni pacchetti in cui i file incoraggiati non devono essere eseguiti ma con autorizzazioni elevate.

  1. Devi sempre fare riferimento al sistema specifico che intendi installare nel pacchetto; pertanto, tale classificazione non può essere solo per pacchetto. Esempi:

    • Le autorizzazioni per i file possono variare dopo l'installazione.
    • Anche se le autorizzazioni non cambieranno nei file del pacchetto, puoi consentire agli utenti non root di usarne (alcuni) semplicemente modificando i gruppi di sistema.
  2. Non puoi fare affidamento unicamente sui permessi dei file, ma dovresti conoscere comportamenti e semantica specifici di binari e script. Esempi:

    • Prendi un semplice server HTTP. Generalmente, apre una porta 80. La porta 80 è inferiore a 1024 e hai bisogno di permessi avanzati. Ma se cambi qualche file conf su una porta alta, non avrai più bisogno di permessi avanzati. Tuttavia, il pacchetto è lo stesso.
    • Inoltre, come saprai se il pacchetto ha i file di configurazione che hai? Se più di uno?
    • Che cosa succede se un servizio accetta l'input dal file anziché dal socket? (Il file potrebbe trovarsi in un filesystem remoto).
  3. Infine, alcuni pacchetti sono intrinsecamente ambigui dalla classificazione che miri a fare. Esempio:

    • Se vuoi rendere le partizioni della tua chiavetta USB usando qualche applicazione foo , probabilmente non avrai bisogno di privilegi elevati. Tuttavia, è possibile utilizzare la stessa applicazione foo per modificare la tabella delle partizioni del sistema in esecuzione, che è probabilmente un'operazione con privilegi elevati.

Forse ci sono altri motivi, ma non riesco a pensarli adesso.

    
risposta data 12.12.2016 - 19:16
fonte

Leggi altre domande sui tag