Ho alcune scatole tutte collegate in rete su Amazon EC2, ognuna delle quali è in comunicazione automatica tra loro tramite SSH (rsync, ecc.). Come tale, ho creato chiavi SSH su ciascuna di queste macchine per consentire loro di connettersi a SSH l'una nell'altra senza richiedere una password. Allo stesso modo, il mio account personale è basato su chiavi e senza password.
In base alle mie conoscenze, ho protetto SSH in modo appropriato utilizzando i metodi ben documentati.
In questa configurazione, noto che non devo fornire una password per utilizzare sudo
. Se provo a su root
, non arrivo da nessuna parte, perché root non ha una password. Tuttavia, se eseguo un sudo -i
, non mi viene richiesta alcuna password e viene immediatamente concessa la radice. Questo mi preoccupa un po '.
Quindi, due domande:
- Dovrei preoccuparmi o sono troppo paranoico?
- È possibile impostare una password sudo quando si utilizza l'autenticazione SSH basata su chiave?
Diverse di queste caselle sono server Web e ospitano applicazioni Web di cui temo essere di dubbia qualità. (Non li ho scritti, quindi sono dubbi!) Ho Apache e le autorizzazioni sui server configurati in modo tale che un utente molto non privilegiato (www-data) stia servendo i file, ma la mia paura è che - in qualche modo - un utente malintenzionato possa compromettere un'applicazione web, aumentare i privilegi a un utente più privilegiato e quindi semplicemente sudo -i
a root.
Non sono a conoscenza di una vulnerabilità nel mio software che consentirebbe a www-data di aumentare i suoi privilegi, ma preferirei avere una password in uso per usare sudo
se ciò fosse in qualche modo accaduto.
Inoltre, per la cronaca: ho provato a impostare una password accedendo tramite SSH e poi eseguendo passwd
, ma ha generato un errore. Non ricordo esattamente il fraseggio, ma si trattava di un "gettone". In entrambi i casi, la password non si è bloccata, il che mi fa pensare che sto fraintendendo qualcosa a un livello fondamentale qui.
Qualsiasi illuminazione sull'argomento sarebbe molto apprezzata. Grazie.
- Aggiornamento: 7 dicembre 2011 -
Grazie per le spiegazioni ponderate, tutto. Sembra infatti che il problema si trovi in /etc/sudoers
. Grazie per avermi indicato in quella direzione.
Ho pensato di documentarlo per completare la discussione. Quando ho esaminato /etc/sudoers
, ho riscontrato le seguenti righe:
# ubuntu user is default user in ec2-images.
# It needs passwordless sudo functionality.
ubuntu ALL=(ALL) NOPASSWD:ALL
Sono, infatti, utilizzando l'utente ubuntu per le mie operazioni privilegiate (sebbene, di nuovo, il server web stia funzionando solo come www-data
), quindi suppongo che questo spieghi il problema che stavo svolgendo.
Se qualcuno vuole seguire un'ipotesi perché l'utente di ubuntu ha bisogno di funzionalità sudo senza password, mi piacerebbe sentirlo. Altrimenti, almeno per il momento, penso che lascerò stare abbastanza bene da solo e lascerò la configurazione così com'è. Non voglio rompere un sistema funzionante mentre provo a risolvere preventivamente un problema inesistente.
Grazie ancora per il tuo tempo e la tua competenza.