La prossima cosa da controllare è la sicurezza contro attacchi da utenti locali. Abbiamo detto solo utenti locali? Si!
Ottenere l'accesso all'account di un utente locale è uno dei primi tentativi che gli intrusori fanno per arrivare all'account di root. Con una debole sicurezza locale, possono "promuovere" il loro accesso di utente ad accesso di root usando una serie di bug e servizi locali mal configurati. Se stringerete le maglie della vostra sicurezza locale un intrusore dovrà saltare un ulteriore ostacolo.
Gli utenti locali possono creare un sacco di danni anche se sono veramente chi dicono di essere. È una pessima idea fornire account a persone che non conoscete o di cui non avete informazioni su come contattarli.
Dovreste essere certi di accordare agli utenti solo i privilegi indispensabili per il lavoro che devono svolgere. Se date a vostro figlio (10 anni) un account, potreste volere che abbia accesso solo a un programma di scrittura o di disegno, ma che non possa cancellare dati non suoi.
Diverse regolette da seguire quando si fornisce ad altri un accesso legittimo al vostro sistema Linux:
Molti account locali che sono sfruttati in infrazioni di sicurezza non sono stati usati per mesi o anni. Visto che nessuno li usa, sono un ideale mezzo di attacco.
L'account più preso di mira sulla vostra macchina è l'account di root, o superuser. Questo account ha autorità su tutta la macchina, che può anche includere l'autorità su altre macchine sulla rete. Ricordate che dovreste usare l'account di root solo per compiti specifici e molto brevi, usando quindi per la maggior parte del tempo il vostro utente normale. Anche piccoli errori fatti da root possono causare problemi. Meno usate i vostri privilegi di root, più sarete al sicuro.
Alcuni trucchi per evitare di fare danni da root sul vostro computer:
rm foo*.bak
, prima usate ls foo*.bak
e assicuratevi
di stare per cancellare i file che volete davvero. Anche usare echo
al
posto di comandi distruttivi può andare bene. rm
per chiedere conferma
della cancellazione dei file.PATH
) specifica le
directory in cui la shell cerca i programmi. Provate a limitare il path di
root il più possibile e non includete mai .
(che
significa "la directory corrente") nella variabile PATH.
Inoltre, non mettete mai directory scrivibili nel path, perché potrebbe
permettere a degli intrusori di modificare o inserire nuovi eseguibili nel
path, permettendo loro di divenire root la prossima volta che eseguirete quel
comando..rhosts
per root./etc/securetty
contiene una lista di terminali da cui root
può fare login. Per default (su RedHat Linux) è impostata sulle
sole console virtuali locali (vtys). Siate consapevoli di cosa fate quando
aggiungete qualcosa a questo file. Sarebbe meglio loggarsi da remoto come
utente normale e poi usare su
se ne avete bisogno (preferibilmente
attraverso
ssh
o un altro canale crittato),
in modo che non sia necessario fare un login remoto da root. Se dovete assolutamente permettere a qualcuno (possibilmente molto fidato) di
accedere da root alla vostra macchina, ci sono un paio di strumenti che
possono essere d'aiuto. sudo
permette agli utenti di usare la loro
password per accedere a una gamma limitata di comandi come root. Questi vi
permetterebbe, per esempio, di lasciare che un utente espella e monti media
removibili sul vostro computer, senza avere altri privilegi di root.
sudo
inoltre tiene un log di tutti i tentativi, riusciti e non, di
usarlo, permettendovi di rintracciare chi ha usato il comando per fare cosa.
Per questa ragione sudo
funziona bene persino in posti dove molte
persone hanno accesso di root, perché vi permette di rintracciare i
cambiamenti fatti.
Nonostante sudo
possa essere usato per dare a specifici utenti
specifici privilegi per specifici lavori, ha alcune mancanze. Dovrebbe essere
usato solo per una limitata serie di compiti, come riavviare un server o
aggiungere utenti. Ogni programma che offre un modo per tornare alla shell
darà un accesso di root a un utente che lo usi attraverso sudo
.
Questo include la maggior parte degli editor, per esempio. Inoltre, un
programma innocuo come /bin/cat
può essere usato per
sovrascrivere file, il che permetterebbe di prendere possesso del superuser.
Considerate sudo
come un mezzo per conoscere le responsabilità
di certe azioni, e non sperare che possa sostituire root rimanendo sicuro.