di: Matteo Pidalà 29 Ottobre 2008
Le password nell'epoca informatica, sono state tra le prime tecniche ad affacciarsi nell'infinito panorama della sicurezza dei dati. Inizialmente erano pure parole "in chiaro", usate per proteggere singoli file e magari giochetti dei nostri 486. Con il passare degli anni, e con l'avvento della multiutenza il concetto di password non è cambiato, ma è mutato radicalmente il suo panorama di utilizzo poiché le nostre magiche parole chiavi sono comparse in svariati ambiti tra cui: protezione account, multiutenza, chiavi pubbliche, crittazione ecc.
In Linux, come in ogni altro sistema operativo, le password garantiscono l'accesso al sistema e rappresentano una, spesso unica, barriera fra l'esterno e i dati conservati nel computer. Ma, come vedremo in questo articolo, la loro violazione può essere a volte semplicissima.
La scoperta, anzi, i tentativi di scovare una password in un sistema unix-like, sono svariati e a volte dipendenti dal tipo di distribuzione in uso e soprattutto dai servizi presenti sulla macchina. Per questo bisogna per prima cosa conoscere come Linux memorizza, protegge e usa le password per tutelare gli utenti, e poi, come gli aggressori potrebbero tentare di scovarle.
Dunque: le password in Linux sono memorizzate in file in formato crittografato.
Questo implica che ovviamente una determinata stringa scelta come password è convertita per mezzo di un algoritmo ripetibile per consentire a Linux, quando si accede al sistema, di prendere la vostra password e confrontarla con la password crittografata in suo possesso. L'algoritmo usato da Linux per crittografare le proprie password utente è "a una via": ciò significa che è possibile crittografare una password, ma teoricamente non è possibile riottenerla dal valore crittografato.
La maggior parte delle prime versioni di Linux, memorizzava le password utente, in formato crittografato, all'interno del file /etc/passwd. Dopo il processo di boot o dopo la chiamata del programma login, il sistema prende il nome utente e cerca il record corrispondente all'interno del file /etc/passwd per ottenerne la password crittografata associata.
Successivamente nome utente e password passano alla funzione crypt(), che contiene all'interno l'algoritmo di crittografia implementato (DES o MD5 di cui parlerò più avanti) per produrre la password crittografata. Se il risultato corrisponde alla password memorizzata in /etc/passwd, viene consentito l'accesso all'utente.
Ecco un esempio del file /etc/passwd:
Il file /etc/passwd
root:$1$X14/EjGB$daoyy4wCu6ct6VKAXHeil/::0:0:root:/root:/bin/bash
daemon::1:1:daemon:/usr/sbin:/bin/sh
bin::2:2:bin:/bin:/bin/sh
sys::3:3:sys:/dev:/bin/sh
sync::4:65534:sync:/bin:/bin/sync
games::5:60:games:/usr/games:/bin/sh
man::6:12:man:/var/cache/man:/bin/sh
Queste prime distribuzioni Linux come potete vedere (la stringa in rosso), mostravano in chiaro la stringa crittografata. Si doveva cercare una soluzione: l'avvento delle shadow password ha fatto sì che le password crittografate non fossero più visibili, rendendo così più difficili attacchi mediante dizionario. In questo scenario il file /etc/passwd esiste sempre, ma viene creato un altro file, chiamato /etc/shadow che contiene la versione crittografata di tutte le password presenti nel sistema ed è leggibile solo da root. Le shadow password modificano il contenuto del file /etc/passwd in un aspetto. Lo vedremo nella pagina successiva.
Guida SQL Injection con SqlmapScopriamo se le nostre applicazioni web sono vulnerabili alle SQL... |
Guida sicurezza applicazioni WebLe tecniche di attacco più comuni, i metodi per verificare la... |
Guida Sicurezza wirelessQuali sono i pericoli di sicurezza di una rete senza filo e quali... |
Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |