Questa sicurezza di accesso è accettabile?

3

Stavo registrando una VM su un computer al lavoro. La VM era Linux Debian 2.30.2.
Ho scoperto che potevo inserire la mia password, seguita da garbage, e sarebbe stata accettata.
In che modo viene ritenuta accettabile l'autenticazione della password?
Voglio dire, mucca e cowabunga NON sono la stessa parola.

Quanto è comune questa specie di autenticazione a metà assunta?

    
posta Michael 20.01.2013 - 07:32
fonte

1 risposta

6

Non c'era nessuna versione di Debian 2.30.2; c'erano Debian 2.0, 2.1 e 2.2 rilasciati più di 10 anni fa. Suppongo che tu stia parlando della versione di GNOME (il tuo ambiente desktop) che non ha nulla a che fare con l'autenticazione.

La maggior parte dei sistemi Debian usa PAM per l'autenticazione. La tua password viene controllata con un hash potenziato con chiave salata che è memorizzato in /etc/shadow accanto al tuo nome.

In genere vedrai una riga in quel file (questa non è una vera password, solo dumbpass creata per un account falso che è già stato eliminato):

fake:$6$qaPTEvGg$XCMFzng5TQotiK4Whr4a0F/87.h5KK3kTO1R4Ysr6G8Ej42JZaJynYSG1uBWikQwlWhOPNNHOQgMFd6Kt.1rx/:15725:0:99999:7:::

dove il nome dell'account è fake , seguito dall'hash salato della password rafforzata dalle chiavi nella forma $id$salt$encrypted codificato in una codifica base64 (base64 usando i simboli [a–zA–Z0–9./] ), seguito da due punti e quindi alcuni altri numeri (questi numeri si riferiscono alle impostazioni su quando la password è stata cambiata / deve essere cambiata / scadrà / etc.) L'id = 6 sopra significa che sto usando SHA512-crypt, che fondamentalmente fa 5000 giri di SHA -512 salted-hashes prima di salvare la mia password. Visualizza man 3 crypt e man shadow per ulteriori dettagli, nonché questa pagina su SHA512-crypt .

La maggior parte dei sistemi moderni (ad esempio, qualsiasi cosa di questo secolo) usa cose simili a questa; possibilmente utilizzando MD5-crypt (che continuerà a controllare l'intera password).

Sembra tuttavia che tu stia usando uno schema DES molto antiquato per verificare contro la tua password che è nota solo per controllare i primi 8 caratteri (byte) della password. Da man crypt :

In the MD5 and SHA implementations the entire key is significant (instead of only the first 8 bytes in DES).

Il tuo hash salato dovrebbe iniziare con $1$ (MD5-crypt), $2a$ (bcrypt), $5$ (sha256 crypt), o $6$ (sha512 crypt), e se non è così significa che hai un hash DES (che è uno schema che risale alla fine degli anni '70 e non dovrebbe essere usato in nessun momento dopo la fine degli anni '90, quando è diventato possibile interrompere DES in pochi giorni).

È possibile iniziare a utilizzare una soluzione migliore modificando le impostazioni della password PAM e aggiornando la password utilizzando il comando passwd . Le impostazioni sono in /etc/pam.conf o possibilmente nella directory /etc/pam.d/ in un file chiamato common-password (può variare leggermente con la distribuzione). La sezione pertinente del mio file assomiglia a:

password    [success=1 default=ignore]  pam_unix.so obscure sha512

Abilita pam_unix.so per l'autenticazione della password, usando sha512-crypt come algoritmo per controllare le password. ( obscure forza le password a superare un paio di assegni per rifiutare parole d'ordine apertamente semplici, ad esempio parole da un dizionario). Ora se pam_unix.so non è in grado di trovarlo sul tuo sistema, potrebbe tornare a usare le password DES (potresti dover installare "libpam-modules" che ha pam_unix.so anche se qualsiasi distribuzione ragionevole verrà fornita con questo preset up). Personalmente, penso che questo errore sia enorme che i sistemi moderni potrebbero potenzialmente essere impostati per utilizzare DES con innalzamento di enormi bandiere rosse di debolezza dopo ogni accesso riuscito; simile a quello che succede se provi a rendere certi file sicuri leggibili a livello mondiale.

Inoltre c'è una possibilità molto piccola di trovare un nuovo bug in crypt / PAM; ad esempio, se la tua password contiene determinati caratteri unicode in una codifica imprevista con byte null. (Nota che le password DES non sono in grado di gestire correttamente l'unicode è uno dei loro difetti noti, ma anche in questo caso uno schema moderno come le password unicode sha512crypt dovrebbe essere gestito in modo sicuro.)

    
risposta data 20.01.2013 - 08:29
fonte

Leggi altre domande sui tag