GNU/Linux >> Linux Esercitazione >  >> Linux

Perché la lunghezza massima della password di root di OpenWrt è di 8 caratteri?

Soluzione 1:

Questo perché la crittografia basata su DES (alias "descrypt") tronca le password a 8 byte e controlla solo i primi 8 ai fini della verifica della password.

Questa è la risposta alla tua domanda diretta, ma ecco alcuni consigli generali impliciti nel tuo contesto:

  • Fortunatamente, dalla mia lettura, MD5 in /etc/login.defs è in realtà md5crypt ($1$), che, anche se un po' obsoleto e dichiarato obsoleto dal suo autore, è ancora di gran lunga superiore a DES-based crypt (e sicuramente molto meglio di un hash crudo e non salato come il semplice MD5! La maggior parte degli hash non salati può essere violata su GPU commodity a tassi di miliardi al secondo)

  • Sembra SHA256 (in realtà sha256crypt) e SHA512 (in realtà sha512crypt) ci sono anche. Sceglierei invece uno di quelli.

  • Se imposti la tua password su password o qualcosa sotto ogni schema, puoi verificare visivamente se la mia conclusione che sono le varianti -crypt sia corretta o meno (gli esempi qui sono presi dagli hash di esempio hashcat, tutti 'hashcat', alcuni racchiusi per leggibilità):

Non consigliato:tipi di hash non salati o legacy, troppo "veloci" (tassi di cracking) per l'archiviazione delle password:

MD5         - 8743b52063cd84097a65d1633f5c74f5
SHA256      - 127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
SHA512      - 82a9dda829eb7f8ffe9fbe49e45d47d2dad9664fbb7adf72492e3c81ebd3e2 \
              9134d9bc12212bf83c6840f10e8246b9db54a4859b7ccd0123d86e5872c1e5082f
descrypt    - 48c/R8JAv757A

OK - molto meglio di non salato, nessun troncamento, ma non più sufficientemente resistente alla forza bruta sull'hardware moderno:

md5crypt    - $1$28772684$iEwNOgGugqO9.bIz5sk8k/

Migliore:hash relativamente moderni con grandi sali e fattori di lavoro:

sha256crypt - $5$rounds=5000$GX7BopJZJxPc/KEK$le16UF8I2Anb.rOrn22AUPWvzUETDGefUmAV8AZkGcD
sha512crypt - $6$52450745$k5ka2p8bFuSmoVT1tzOyyuaREkkKBcCNqoDKzYiJL9RaE8yMnPgh2XzzF0NDrUhgrcLwg78xs1w5pJiypEdFX/

Di questi, solo decrypt tronca a 8. Gli ultimi due sono la soluzione migliore.

(Nota a margine:i sali di sole cifre negli esempi md5crypt e sha512crypt sopra sono solo effetti collaterali di come hashcat crea hash di esempio; i sali veri e sani sono solitamente estratti da uno spazio delle chiavi molto più grande).

Si noti inoltre che sto solo elencando i tipi di hash supportati da /etc/login.defs su questa piattaforma. Per uso generale, anche sha256crypt e sha512crypt sono stati sostituiti, prima da bcrypt e successivamente da hash veramente resistenti agli attacchi paralleli come scrypt e la famiglia Argon2. (Si noti, tuttavia, che per gli accessi interattivi che dovrebbero essere completati in meno di un secondo, bcrypt è in realtà più resistente agli attacchi rispetto a quest'ultimo)

Soluzione 2:

L'ho modificato in /etc/login.defs :

PASS_MAX_LEN            8

problema risolto.

Aggiunte importanti:

Dopo aver modificato i parametri di cui sopra, anche se posso impostare una password più grande di 8 cifre, non è ancora valida perché la vera password è solo le prime otto cifre. Non so se questo è il mio problema.

La mia soluzione finale è impostare

# ENCRYPT_METHOD DES

a

ENCRYPT_METHOD MD5

in /etc/login.defs .

Ora posso finalmente impostare una password di root che sia davvero più grande di otto.


Linux
  1. Perché "sudo Su" in uno script di shell non esegue il resto dello script come root?

  2. Come cambiare la password di root mysql

  3. Recuperare la password di root

  4. Perché la directory principale è indicata da un segno /?

  5. Perché la password "sudo" è diversa dalla password "su root".

Come modificare la password di root su Ubuntu 20.04

Come cambiare la password di root in Ubuntu

Come modificare la password di root utilizzando WHM?

Come reimpostare la password di root su Ubuntu 22.04

Come modificare la password di root in Linux

Come modificare la password dell'account di root di Linux VPS