= bubbalog =Дневникът на моето стадо

FreeBSD, Linux и сложните пароли (strong password)

Thursday 28.04.2011 12:18 EET · Публикувано от в = FreeBSD =, = Linux =

Паролата при всяко положение е нещо с голямо значение, особено когато с нея се защитава критична и специална информация. Ето защо за подобни цели е нужно да се използват така наречените силни/сложни пароли (strong passwords). Във времето обаче разбрах, че измислянето на такава парола не е никак проста задача, особено когато става дума за измисляне на серия от такива за прилагането им на множество места и последващо запомняне на всички. За да се смята една парола за достатъчно сложна, тя трябва да съдържа някои или няколко от следните символи

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890
!@#$%^&*()_+-=[]{};’:”,./?

Един от начините е измислянето на специфична схема, по която лесно може логически да си спомните паролаа, даже и да сте я забравили. Една такава парола може да е например

mysql!s1.c1

която логически разшифрована е “mysql сървър1 зала1” при положение, че имате много машини… и разбира се натам вече е само въпрос на приложение на тази измислена схема.

Втория начин е чрез генерирането на нужния ви брой пароли с определена дължина. Този начин е доста по-лесен, но паролите са случайно генерирани, съоветно – доста по-трудни за запомняне ако са по-голям обем. За генериране се използва следната команда[1][2]:

user@host# sh
# cat /dev/urandom | tr -dc “a-zA-Z0-9\!@#$%^&*()_+-=[]{};’:\”,./?” | fold -w 30 | head -n 5
# exit
user@host#

където:

  • cat /dev/urandom – използва се за генериране на случайна поредица от всякакви знаци
  • tr -dc “a-zA-Z0-9\!@#$%^&*()_+-=[]{};’:\”,./?” – показва кои знаци да се използват от всички генерирани
  • fold -w 30 – указва се дължината на която да се разбие генерираната информация. Това е дължината на паролата, в случая – 30 знака
  • head -n 5 – указва броя на редовете които да се изпишат на екрана. Това е броя на генерираните пароли, в случая – 5

***

[1] При генерирането се оказа, че има значение от какъв шел се опитвате да генерирате паролите. При линукския bash даваше ОК, но при използвания от мен csh на FreeBSD тотално се насмиташе от $ знака (разбира го като променлива)… Затова се налага просто за времето на генериране да смените шела на простичкия основен sh. Една друга команда доста по-кратка може би да бъде използвана

cat /dev/urandom | tr -dc “\!-~” | fold -w 30 | head -n 5

Това обхваща едновременно всички символи в ASCII таблицата: \ ескейпва !, ! е първия използваем знак, ~ е последния, като тука влизат главни, редовни, цифри и знаци, но незнам дали системата би приела всички знаци като годни за парола или някои са съвсем специални.

[2] След време мисля да си измайстора едно скриптче за интерактовно въвеждане на дължина и брой на паролите (подсказка: http://content.hccfl.edu/pollock/AUnix1/fancyio.htm). Засега обаче имам други задачки, а и в нета има достатъчно веб-генератори на парили… ако не забравя обаче ще го направя :)

Остави коментар

Писането на кирилица е задължително!
Коментари, които не са на кирилица ще бъдат изтрити без предупреждение.
Всеки коментари съдържащи 1 или повече линка, ще бъдат публикувани след одобрение.