ssh, sudo vs setuid (was Re: spegnere non da root)
On Sun, Oct 20, 2002 at 05:00:43PM +0200, Nick Name wrote:
> Ho una curiosità: di sicurezza me ne intendo poco, ma non è la prima
> volta che per questo annoso problema dell'arresto del sistema da parte
> degli utenti propongo di setuidare /sbin/halt e fare un gruppo shutdown.
> Ho provato prima e funziona.
Funziona, ma comporta una modifica ad un file in /sbin, dove dovrebbe
mettere mano solo la distribuzione. Pertanto e` ritenuto "sporco".
> Come mai consigliate sudo? E' solo un'altra possibilità, è più/meno
> sicuro, è meglio/peggio per qualche motivo?
Con sudo hai piu` controllo su come l'utente deve fare per eseguire il
comando come root (per esempio, se deve mettere la password o meno).
sudo ha avuto qualche baco di sicurezza, pero`.
Mettere setuid un qualsiasi eseguibile, cmq, implica che un qualsiasi
baco di tale eseguibile sia facile da sfruttare per ottenere accesso
come root. E ovviamente, per quanto si voglia concedere agli utenti di
halt-are la macchina, non gliela si vuole fare rootare, spero.
Lo stesso problema c'e` dando uid 0 ad un utente e mettendogli come
shell /sbin/halt.
Un po' meglio sarebbe
1) usare sudo per dire quali utenti possono spegnere la macchina (magari
con un utente apposito, diciamo "halt");
2) autorizzare le chiavi ssh dei client che devono potersi collegare
come halt;
3) per ogni chiave, mettere (in ~halt/.ssh/authorized_keys), prima della
chiave stessa, le opzioni
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="/sbin/halt &"
in modo che collegandosi non possano eseguire altro che /sbin/halt,
senza passare opzioni maliziose che possano sfruttare un ipotetico
bug di halt.
Ciao,
/dev/null
Reply to: