Solaris mi ha fatto entrare con password diversa con gli stessi 8 primi caratteri


42

Non so se questo è normale, ma la cosa è, diciamo che ho un utente Solaris chiamato gloaiza e la sua password è password2getin

Sto accedendo al server con PuTTY, ho appena inserito 192.168.224.100 e viene richiesto a Windows di chiedere un utente, quindi digito gloaiza , quindi chiede una password e diciamo che digito password2geti per errore e ha funzionato! Sono nel server!

È normale? Funziona anche se inserisco qualcosa come password2getin2 .

Non sono di madrelingua inglese, quindi, nel caso ci fosse qualcosa che non riesci a capire, per favore, chiedimi

Sistema operativo: Oracle Solaris 10 1/13


4
Cosa succede sotto gli otto caratteri? Ti fa passworkentrare?
thrig

@thrig Ok, la mia password attuale è 9 caratteri lungo, quindi diciamo che la password è pass2word, allora funziona con pass2wor, pass2word1, pass2worr1, e così via ... Penso che funziona con tutto ciò che una volta che si digita pass2wor non credo che sia un grande problema, ma non va bene neanche.
gloaiza,

3
Finché ottieni i primi 8 caratteri giusti, ti farà entrare. Sfortunatamente, la generazione di una password ha l'uso della crittografia nelle versioni precedenti di Solaris, ignora il carattere 9 e successivi.
MelBurslan,

14
Gentile promemoria per tutti gli sviluppatori embedded qui che pensano "questo non potrebbe mai accadere sul mio sistema:" busyboxtornerà silenziosamente a DES se non hai tutte le giuste opzioni di crittografia abilitate nel suo .config e nel tuo libc. Forse prenditi un minuto oggi per ricontrollare i tuoi passwd/ shadowfile? ;)

11
@drewbenn - chi diavolo ha pensato che la sicurezza silenziosamente degradante sia una buona idea? Gesù Cristo.
Assapora il

Risposte:


65

Il sistema operativo memorizza un hash della password in /etc/shadow(o, storicamente /etc/passwd,; o una posizione diversa su alcune altre varianti Unix). Storicamente, il primo hash di password diffuso era uno schema basato su DES che aveva la limitazione che prendeva in considerazione solo i primi 8 caratteri della password. Inoltre, un algoritmo di hashing della password deve essere lento; lo schema basato sul DES era un po 'lento quando è stato inventato, ma è insufficiente per gli standard odierni.

Da allora sono stati ideati algoritmi migliori. Ma Solaris 10 utilizza automaticamente lo schema basato sul DES storico. Per impostazione predefinita, Solaris 11 utilizza un algoritmo basato su SHA-256 iterato conforme agli standard moderni.

A meno che non sia necessaria la compatibilità storica con i sistemi antichi, passare allo schema iterato SHA-256. Modifica il file /etc/security/policy.confe modifica l' CRYPT_DEFAULTimpostazione su 5 che sta per crypt_sha256. Potresti anche voler impostare CRYPT_ALGORITHMS_ALLOWe CRYPT_ALGORITHMS_DEPRECATE.

Dopo aver modificato la configurazione, esegui passwdper modificare la password. Ciò aggiornerà l'hash della password con lo schema attualmente configurato.


1
Grazie per la risposta. Quando hai detto " A meno che tu non abbia bisogno di compatibilità storica con i sistemi antichi ", lo intendi davvero, quello che voglio dire è ... È possibile avere davvero bisogno dello schema basato sul DES, e non essere in grado di passare a SHA-256, per alcuni ragionare?
gloaiza,

11
@gloaiza Potresti se il tuo file hash della password è condiviso con NIS o qualche altro metodo con una macchina che esegue un sistema operativo veramente antico (come Solaris 2.x). Altrimenti no.
Gilles 'SO- smetti di essere malvagio' il


21

Ciò è previsto, almeno su una configurazione predefinita di Solaris 10 e precedenti.

Il tuo sistema utilizza l' crypt_unixalgoritmo Unix legacy che in effetti limita il numero di caratteri utilizzati a otto.

Questo è documentato nella passwdpagina del manuale :

Le password devono essere costruite per soddisfare i seguenti requisiti:

  Ogni password deve contenere caratteri PASSLENGTH, in cui è definito PASSLENGTH
  / etc / default / passwd ed è impostato su 6. Impostare PASSLENGTH su più di otto
  i caratteri richiedono la configurazione di policy.conf (4) con un algoritmo che supporti
  maggiore di otto caratteri .

Poiché questo algoritmo è essenzialmente obsoleto. Dovresti passare a qualcosa di meglio (valori disponibili elencati nella crypt.confpagina del manuale) impostando le voci CRYPT_ALGORITHMS_DEPRECATEe CRYPT_DEFAULTil /etc/security/policy.conffile.

Vedi http://docs.oracle.com/cd/E19253-01/816-4557/concept-63/index.html



@OrangeDog Punto preso, consiglio rimosso
jlliagre

7

Vedi questa discussione sui forum Oracle :

Il comportamento descritto è previsto quando si utilizza lo schema di crittografia password "crypt_unix" predefinito. Questo schema crittograferà solo i primi otto caratteri di una password, pertanto solo i primi otto caratteri devono corrispondere quando si digita nuovamente la password. Non si tratta di un "bug", ma di una limitazione nota dell'algoritmo: viene in gran parte mantenuto per compatibilità con le versioni precedenti e sfortunatamente viene impostato come predefinito sui sistemi Solaris quando installato.

Per risolvere questo problema, imposta il tuo sistema operativo in modo da utilizzare gli algoritmi MD5 o Blowfish invece di crypt_unix.

Questo può essere modificato nel file /etc/security/policy.conf. Puoi impostare gli algoritmi crypt per consentire, e c'è anche un'impostazione per deprecare (vietare) l'uso dell'algoritmo "crypt_unix" e cambiare il valore predefinito in uno più sicuro.

Per ulteriori informazioni, consultare la "Guida all'amministrazione del sistema Solaris 10: Servizi di sicurezza".

Vedi anche Modifica dell'algoritmo password (Mappa attività) e in particolare Come specificare un algoritmo per la crittografia password :

Specificare l'identificatore per l'algoritmo di crittografia scelto.

...

Digitare l'identificatore come valore per la variabile CRYPT_DEFAULT nel file /etc/security/policy.conf.

...

Per maggiori informazioni sulla configurazione delle scelte dell'algoritmo, consultare la policy.conf(4)pagina man.


2

Cordiali saluti, questo accade anche sui sistemi IBM AIX fino alla versione 7.1.

E 'divertente, perché questo sistema ho lavorato con ha un "non può riutilizzare qualsiasi delle ultime 10 password" politica che fa prendere in considerazione l'intera password di lunghezza, ma poi controlla solo i primi 8 caratteri quando la registrazione. Quindi è possibile impostare le password come easypass_%$xZ!01, easypass_%&ssY!02, easypass_%$33zoi@@, ... per ogni modifica della password obbligatoria, in modo efficace mantenendo easypasscome password per anni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.