View previous topic :: View next topic |
Author |
Message |
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Fri Jan 06, 2006 9:56 pm Post subject: [minitip-rubato] creare password casuali |
|
|
siccome avevo bisogno di creare password casuali, dato che la mia immaginazione stava arrivando al limite mi sono spinto in una piccola ricerca di informazioni nel forum internazionale ed ecco il responso dei miei (pochi) sforzi.
-in portage esistono programmi atti alla generazione di password casuali,
Code: | app-admin/makepasswd
app-admin/pwgen |
fanno entrambi il loro sporco lavoro. però a volte capita di lavorare su macchine su cui non si ha la possibilità di installarli, vuoi perchè non sono collegate ad internet e non si ha la possibilità di avere i sorgenti sottomano o perchè non si è amministratori o beh... si è su un'altra distro che non li ha tra i suoi pacchetti.
quindi ecco altre due soluzioni:
Code: | #!/bin/bash
LENGTH="8"
MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
while [ "${n:=1}" -le "$LENGTH" ]
do
PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
let n+=1
done
echo "$PASS"
exit 0 |
Code: | openssl rand -base64 6 |
la prima è più laboriosa, devo creare lo script dargli i permessi d'esecuzione etc etc, mentre la seconda sfrutta un programma che è presente praticamente su ogni distro quindi non ci sono problemi nel suo utilizzo.
questo è il link dal quale ho preso le informazioni
soluzione proposta da makoomba e modificata in minima parte:
Code: | alias randpw="tr -cd 'a-zA-Z0-9' < /dev/urandom | dd 2>/dev/null bs=1 count=10 ; echo"
randpw ; randpw ; randpw |
soluzione proposta da gutter basata su openssl ed in cui si può specificare anche la lunghezza della password:
gutter wrote: | Basta metterla nel tuo .bashrc o in /etc/profile e rilanciare la shell. |
Code: | mkpasswd() {
if [ "X$1" == "X" ]
then
echo "Usage: mkpasswd <lenght>"
else
openssl rand -base64 $1 | cut -c -$1
fi
} |
Last edited by Ic3M4n on Mon Jan 09, 2006 6:10 pm; edited 2 times in total |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Sat Jan 07, 2006 1:19 pm Post subject: |
|
|
Che figata!!!! Complimenti! Mi aggrada molto quest'uso di openssl, anche se ho notato una cosa: non 'è sempre un numero nella sequesnza generata, quindi ad esser pignoli, bisognerebbe fare un check sull'output generato... Cmq è davvero spettacolare, complimenti e grazie! _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
Ferdinando Veteran
Joined: 25 Nov 2003 Posts: 1027 Location: Gaeta (LT) - Italy
|
Posted: Sat Jan 07, 2006 3:04 pm Post subject: |
|
|
.:deadhead:. wrote: | non 'è sempre un numero nella sequesnza generata, quindi ad esser pignoli, bisognerebbe fare un check sull'output generato... |
Che intendi dire? C'è sempre o non c'è mai?
Code: | root@Aurora ~ # openssl rand -base64 6
+/PNkU/K |
A me pare ottimo
Bel tip!
Ciao _________________ La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997 |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
|
Back to top |
|
|
Ferdinando Veteran
Joined: 25 Nov 2003 Posts: 1027 Location: Gaeta (LT) - Italy
|
Posted: Sat Jan 07, 2006 5:54 pm Post subject: |
|
|
.:deadhead:. wrote: | Che alle volta capita non esserci un numero, com nell'esempio da te generato |
Beh, anche così l'output resta poco prevedibile, no? Per quanto ne so basta che non ci siano solo lettere. O c'è un qualche motivo preciso per cui la presenza di numeri rende più sicura una password?
Ciao _________________ La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997 |
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Sat Jan 07, 2006 7:21 pm Post subject: |
|
|
non sapevo di openssl, io faccio così
Code: | alias randpw="tr -cd 'a-z0-9' < /dev/urandom | dd 2>/dev/null bs=1 count=10 ; echo"
randpw ; randpw ; randpw
po34ps5j1w
1jk2wq9zgx
qfnkr5r65d |
_________________ When all else fails, read the instructions. |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Sat Jan 07, 2006 8:57 pm Post subject: |
|
|
Ottimo tip .
Io ho sempre usato qualcosa che si avvicina a ciò che è stato postato da makoomba. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Sat Jan 07, 2006 9:05 pm Post subject: |
|
|
@makoomba:
aggiungo anche la tua soluzione al primo thread, però mi sembra abbia un difetto, infatti tutte le password che generi non contengono nemmeno una lettera maiuscola ma solo minuscole. preferirei avere un range di lettere maggiore. |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Sat Jan 07, 2006 9:30 pm Post subject: |
|
|
Ic3M4n wrote: | @makoomba:
aggiungo anche la tua soluzione al primo thread, però mi sembra abbia un difetto, infatti tutte le password che generi non contengono nemmeno una lettera maiuscola ma solo minuscole. preferirei avere un range di lettere maggiore. |
Beh, questo é facile:
Code: | $ alias randpw="tr -cd 'a-zA-Z0-9' < /dev/urandom | dd 2>/dev/null bs=1 count=10 ; echo"
$ randpw ; randpw ; randpw
IkCWcuV4ke
XiaPSdRCEe
8k9E5QRtFT |
_________________ Ciao da me! |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Sat Jan 07, 2006 10:01 pm Post subject: |
|
|
si, infatti l'avevo già inserito modificato.
o hai postato mentre lo facevo... boh |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Sun Jan 08, 2006 10:20 am Post subject: |
|
|
Una piccola funzione che genera password con lunghezza specificata come prima argomento (usando openssl):
Code: |
mkpasswd() {
if [ "X$1" == "X" ]
then
echo "Usage: mkpasswd <lenght>"
else
openssl rand -base64 $1 | cut -c -$1
fi
}
|
_________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Sun Jan 08, 2006 11:24 am Post subject: |
|
|
Ferdinando wrote: | .:deadhead:. wrote: | Che alle volta capita non esserci un numero, com nell'esempio da te generato |
Beh, anche così l'output resta poco prevedibile, no? Per quanto ne so basta che non ci siano solo lettere. O c'è un qualche motivo preciso per cui la presenza di numeri rende più sicura una password?
Ciao |
La password "sicura" per eccellenza (anche se la sicurezza completa, come cerco di insegnare sempre ai corsi, non esiste), ha una lunghezza superiore agli 8 caratteri e comprende, contemporaneamente, lettere minuscole, lettere maiuscole, numeri e caratteri speciali, possibilmente, ognuno di questi dovrebbe essere presente almeno in forma doppia (quindi due lettere minuscole, due caratteri speciali, ecc, e comunque mai uguali) e non affiancate (due lettere minuscole vicine, due numeri vicini).
Almeno questo è quello che ai tempi mi è stato insegnato e che attualmente insegno io, poi, quanto una password di questo genere sia ricordabile in senso umano, è un'altro discorso....
Interessante assolutamente la soluzione di coda, ovvero quella di generare una password casuale per l'utente root, e di utilizzare sudo per qualsiasi cosa, senza che neanche lui la sappia effettivamente (tanto se si ha il pieno controllo di una macchine, ad esempio il proprio portatile, e si ha assolutamente bisogno di essere root senza però sapere la password, basta fare reboot con un livecd, montare le partizioni e chrootarsi )
Ciriciao
mouser |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Sun Jan 08, 2006 1:29 pm Post subject: |
|
|
quella dei 6 caratteri è vera, l'unica cosa è che il suo utilizzo con il metodo Code: | openssl rand -base64 n |
non funziona con un numero di caratteri superiori al 6, o per meglio dire funziona ma l'ultimo o ultimi due caratteri sono degli = quasi sempre.
Code: |
for numero in 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do openssl rand -base64 $numero; done
0WvswuPr
mtnQXK283g==
Vy5sAjJ3LyE=
bsYb3G5BOH6e
MP2NV3rYFIB5sQ==
q96SrjEWuZrSLCg=
rE76cw0G8/OyE+0V
+cPKmyVy4WjU1lvNaQ==
4uWPLWsf24Jv+Pnb8Os=
xNKIVQ7c3KPkgyuD91O5
Xs6TN1ynlreew9Q1WGRwmQ==
AqtfkFxWGApkIKdAidaHaoc=
EJGQnSa8AP44gQd/8RpVib7h
BNg2amIB+m5yXyQ0sk59KdjwRQ==
zreTqfOOcgataoQe8lvtljTJDJY=
| questo non toglie logicamente il suo utilizzo, basta rimuovere l'ultimo carattere e si può utilizzare una chiave con lunghezza n-2.
@gutter: come si fa ad utilizzare la tua funzione? sono imbranato, lo so, ma non ci riesco!
@mouser: quella del portatile mi sembra un po' una stronzata, nel senso buono si intende. nel senso: solitamente i problemi di sicurezza si hanno in ambito server dope la macchina è collegata ad internet 24h/365g e molto meno in ambiente desktop, dopo se uno i guai se li va a cercare con vaccate sue o cose del genere ok, però in generale oserei dire che su un pc che si collega ad internet saltuariamente e da posizioni differenti il problema sicurezza è inferiore. se poi uno è paranoico si mette la password al bios e non abilita il boot da cdrom, quindi tutte le volte che dovrei riloggarmi dovrei mettere la passwd al bios e modificare l'ordine dei device al boot. |
|
Back to top |
|
|
Ferdinando Veteran
Joined: 25 Nov 2003 Posts: 1027 Location: Gaeta (LT) - Italy
|
Posted: Sun Jan 08, 2006 1:37 pm Post subject: |
|
|
Ic3M4n wrote: | in generale oserei dire che su un pc che si collega ad internet saltuariamente e da posizioni differenti il problema sicurezza è inferiore. |
Vero, però proprio ieri hanno tentato di attaccare il mio portatile via ssh; oltretutto ho un ip dinamico, quindi era un attacco totalmente random, però avere un account non "standard" (difficilmente attaccano direttamente root, ma test o simili) e una password non banale aiuta.
Ciao _________________ La risposta, non la devi cercare fuori, la devi cercare dentro di te: e però è SBAGLIATA!
-- Corrado Guzzanti, "Pippo Chennedy Show", 1997 |
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Sun Jan 08, 2006 1:46 pm Post subject: |
|
|
Ic3M4n wrote: | aggiungo anche la tua soluzione al primo thread, però mi sembra abbia un difetto, infatti tutte le password che generi non contengono nemmeno una lettera maiuscola ma solo minuscole. preferirei avere un range di lettere maggiore. |
la scelta del solo minuscolo è obbligata, nel mio caso.
i miei neuroni riescono a memorizzare la sequenza ma non il maiuscolo/minuscolo _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Sun Jan 08, 2006 4:31 pm Post subject: |
|
|
Ic3M4n wrote: |
@gutter: come si fa ad utilizzare la tua funzione? sono imbranato, lo so, ma non ci riesco!
|
Basta metterla nel tuo .bashrc o in /etc/profile e rilanciare la shell.
Per la cronaca ecco l'output della funzione precedente:
Code: |
gutter@giskard ~ $ for i in `seq 1 20`; do mkpasswd $i; done
X
jg
Ohr
ORcm
pSN2Y
mvGaiy
G3W5AGU
T/bW+bF+
HFqez1OfI
PmEiHBIdqV
xR/dfI2Um+h
n0TbJHasw58w
Z0jyXKQgc3ysb
fQqjsfPuPDwQN+
d7DcacwWgXG0ahQ
udJIsycqmW6hk/PV
sW2QDEiTYcVM9fDA3
D07c7S2Hx/ZKPwoN5s
74oSn/Ecf8gjqYnOBlL
zAizaNGkhLFhpw03lkQZ |
_________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
|