Configurare SUDO per gestire le attività degli amministratori: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
mNessun oggetto della modifica
Riga 138: Riga 138:
Non sarebbe vietato agire su un dispositivo in /dev, caricare nuovi moduli nel kernel, avviare altri interpreti (<code>awk</code>, <code>perl</code>, <code>python</code>, ...), eseguibili con una shell di escape (in grado di avviare una shell, tra cui perfino <code>more</code>, <code>less</code>, <code>w3m</code>, ... ) e in generale comandi in grado di avviarne altri (<code>env</code>, <code>find</code>, ...), comandi che avviano più sessioni della shell (<code>screen</code>, <code>tmux</code>, ... ) o emulatori di terminali (<code>xterm</code>, <code>uxterm</code>, <code>lxterm</code>, ...), comandi per alterare la password o l'[[UID]] degli utenti del sistema oppure per crearne altri di privilegiati (<code>passwd</code>, <code>usermod</code>, <code>adduser</code>, <code>useradd</code>, ...), editor di testo (<code>nano</code>, <code>vi</code>, ...) o qualsiasi comando in grado di alterare il contenuto di un file o i suoi permessi (<code>cp</code>, <code>mv</code>, <code>tee</code>, <code>dd</code>, <code>chmod</code>, <code>chown</code>, ...) per poter modificare <code>/etc/sudoers</code>, <code>/etc/passwd</code>, <code>/etc/shadow</code>, <code>/etc/group</code> o qualunque file (anche uno script d'avvio) utilizzabile per ottenere massimi privilegi.
Non sarebbe vietato agire su un dispositivo in /dev, caricare nuovi moduli nel kernel, avviare altri interpreti (<code>awk</code>, <code>perl</code>, <code>python</code>, ...), eseguibili con una shell di escape (in grado di avviare una shell, tra cui perfino <code>more</code>, <code>less</code>, <code>w3m</code>, ... ) e in generale comandi in grado di avviarne altri (<code>env</code>, <code>find</code>, ...), comandi che avviano più sessioni della shell (<code>screen</code>, <code>tmux</code>, ... ) o emulatori di terminali (<code>xterm</code>, <code>uxterm</code>, <code>lxterm</code>, ...), comandi per alterare la password o l'[[UID]] degli utenti del sistema oppure per crearne altri di privilegiati (<code>passwd</code>, <code>usermod</code>, <code>adduser</code>, <code>useradd</code>, ...), editor di testo (<code>nano</code>, <code>vi</code>, ...) o qualsiasi comando in grado di alterare il contenuto di un file o i suoi permessi (<code>cp</code>, <code>mv</code>, <code>tee</code>, <code>dd</code>, <code>chmod</code>, <code>chown</code>, ...) per poter modificare <code>/etc/sudoers</code>, <code>/etc/passwd</code>, <code>/etc/shadow</code>, <code>/etc/group</code> o qualunque file (anche uno script d'avvio) utilizzabile per ottenere massimi privilegi.


Se anche tutti questi venissero vietati, e si noti che si impedirebbero molti comandi utili in situazioni generali, sarebbe sempre possibile fare copie di una shell con altri nomi e creare nuovi eseguibili, perfino banali script, che modificano file con [[privilegi di amministratore]] o avviano una [[shell]] privilegiata.
Se anche tutti questi e tutti quelli utilizzabili per gli stessi exploit venissero vietati, e si noti che si impedirebbero molti comandi utili in situazioni generali, sarebbe sempre possibile fare copie di una shell con altri nomi e creare nuovi eseguibili, perfino banali script, che modificano file con [[privilegi di amministratore]] o avviano una [[shell]] privilegiata.


'''L'unico modo''' per restringere le attività che un utente può eseguire come amministratore è limitarlo a una '''lista predeterminata''' di eseguibili, secondo un approccio di tipo ''whitelist'' anziché ''blacklist'', valutando singolarmente che non siano sfruttabili anche per altre azioni, come per esempio eseguire una shell o alterare il sistema in modo arbitrario.
'''L'unico modo''' per restringere le attività che un utente può eseguire come amministratore è limitarlo a una '''lista predeterminata''' di eseguibili, secondo un approccio di tipo ''whitelist'' anziché ''blacklist'', valutando singolarmente che non siano sfruttabili anche per altre azioni, come per esempio eseguire una shell o alterare il sistema in modo arbitrario.
3 581

contributi

Menu di navigazione