In realtà sono fortemente in disaccordo con le risposte finora, ecco perché ho aggiunto un'altra prospettiva. Il mio approccio alla soluzione è più o meno basato su uno dei commenti di @ Cyclic3, ma modificato come richiesto.
Il vettore di attacco effettivo:
Quando esiste già una root
shell, perché fornire il payload dal gestore dei pacchetti? apt-get
non è il problema principale (in quanto non è essenziale per installare software), ma lo è l'approvvigionamento di software inappropriato da parte di utenti non autorizzati, che dovrebbe richiedere meglio l'installazione dei pacchetti per loro. Consentire loro di navigare in Internet con un account root
sarebbe all'incirca la stessa idiozia, se guardato da una prospettiva di sicurezza.
Nota a margine, indipendente da apt -get
, potrebbero sempre wget
un exploit 0-day, che esegue l'escalation dei privilegi. Ciò richiederebbe la prevenzione delle destinazioni in white list sul firewall, il che non diverte gli utenti in generale, perché interrompe tutto il loro utilizzo casuale di Internet (che può includere anche la ricerca web correlata al lavoro). Questo aspetto viene spesso completamente ignorato.
Una semplice soluzione self-service:
Dal momento che nessuno vuole giocare il servo del server ... perché non scrivere una semplice interfaccia utente web , che consente loro di selezionare i pacchetti e quindi di fornirli alla macchina da cui hanno richiesto? Quindi basta ssh
ed eseguire apt-get
. Questo è un metodo per la lista bianca (conosco solo yum
in dettaglio, che supporta la lista nera ma non la lista bianca). In generale, questo è un modo molto semplice per garantire quasi zero rischi, poiché la shell root
& apt-get install
viene tenuta fuori dalla loro portata. Quando si attiva questo come lavoro batch dal crontab root
(assumendo che le chiavi SSH root
corrispondano su tutte le macchine), non è nemmeno necessario cambiare l'account utente per farlo . Basta premere una notifica
quando hai finito e saranno stupiti.
Come dicevo, quando si lavora nel supporto agli utenti: ciò che non possono fare clic, non possono sbagliare.