Статья давно не обновлялась, поэтому информация могла устареть.
Содержание |
Преамбула
Часто встречаются пользователи, которые стараются создавать легкозапоминающиеся для них пароли (например, 123456, q1w2e3, MoyaBabushkaNemka и т.п.), есть и такие случай, когда используются подобные пароли для root'а (суперпользователя в Unix-системах).
Да, возможно, это и удобно, однако совсем небезопасно.
Чтобы не было огорчений таких, как "сервер/сайт взломали и удалили/закачали информацию", необходимо сразу же принять меры безопасности - задать надежный, сложный пароль, чтобы злоумышленники не смогли его подобрать.
Итак, создавая пароль для пользователя/почтового ящика/администратора сайта в админке/FTP-аккаунта, придерживайтесь следующих правил:
1. Длина пароля составляет ОТ 10 символов;
2. В пароль входят заглавные и строчные символы латинского алфавита (A-Z, a-z), цифры (от 0 до 9),
также можно использовать и специальные символы (\, /, %, *, (, ), ?, @, #, $, ~, : и т.п.);
3. Последовательность символов - произвольная.
Генерирование пароля
Существуют генераторы паролей, которые могут облегчить задачу.
1. Утилита pwgen позволяет генерировать пароли прямо в командной строке:
pwgen -s 12 10 - сгенерирует 10 паролей из 12 символов каждый
если выдается ошибка, что команда не найдена, то утилиту необходимо установить:
Debian: apt-get install pwgen
CentOS: yum install pwgen
2. С помощью онлайн-генераторов:
http://www.onlinepasswordgenerator.ru/
Проверить, насколько сложен для взлома Ваш пароль, можно с помощью данного веб-ресурса:
http://howsecureismypassword.net/
Хранение паролей
Конечно, никто не заставляет запоминать сложные пароли. Но и хранить их просто в текстовом файлике тоже небезопасно. Храните пароли на зашифрованном разделе диска/флеш-накопителе/файле. Шифровать можно, например, утилитой TrueCrypt
О способах шифрования есть много информации в сети Интернет.
Описание и установка John The Ripper
John The Ripper -- это программный продукт, который разработан специально для подбора паролей для различных приложений, а так же проверки их на взломостойкость.
Centos
yum install -y john
Debian
apt-get install john
Примеры использования
В дистрибутиве приложения идет /usr/share/john/password.lst с 3,5 тысячей словарных паролей, используя которые можно существенно увеличить скорость проверки паролей на взломостойкость. Помимо дистрибутивного, в интернете можно найти более объемные файлы с наиболее частоупотребляемыми паролями. Подключается этот файл ключом --wordlist=/usr/share/john/password.lst
passwd
Проверка паролей системных пользователей и нахождение простых поможет избежать неприятностей, которые могут быть устроены злоумышленниками после подбора паролей к ssh ваших пользователей.
Объединяем логины и пароли системных пользователей в один файл
unshadow /etc/passwd /etc/shadow > passfile.txt
Инициируем брут-форс атаку на файл с паролям
[root@work ~]# john --format=crypt passfile.txt Loaded 88 password hashes with 88 different salts (generic crypt(3) [?/64]) Remaining 82 password hashes with 82 different salts victor (victor) victor (rym_ftp) victor (virtuser_527) victor (zemaklus) victor (jxn2006) 147852369 (darcck) guesses: 6 time: 0:00:01:43 14.85% (2) (ETA: Mon Dec 15 17:10:21 2014) c/s: 24325 trying: 1phone - 1pookey guesses: 6 time: 0:00:01:45 15.23% (2) (ETA: Mon Dec 15 17:10:17 2014) c/s: 24330 trying: 1mylife - 1sexymama guesses: 6 time: 0:00:01:46 15.41% (2) (ETA: Mon Dec 15 17:10:15 2014) c/s: 24335 trying: 1money - 1russell guesses: 6 time: 0:00:41:22 0.00% (3) c/s: 24854 trying: jj49 - jj6r guesses: 6 time: 0:00:41:24 0.00% (3) c/s: 24854 trying: jd3b - jd90
Use the "--show" option to display all of the cracked passwords reliably Session aborted
Оборвать выполнение программы можно с помощью Ctrl-C и посмотреть найденные пароли от пользователей ключом --show
[root@wwork ~]# john --show passfile.txt rym_ftp:victor:500:502::/var/www/victor/data/www/rym.victor.pro:/bin/date zemaklus:vcktor:525:521:zemaklus:/var/www/zemaklus/data:/bin/date 1an1236:victor:500:502::/var/www/victor/data:/bin/date virtuser_527:victor:527:502::/var/www/victor/data/email/zemaklus.ru/info:/sbin/nologin darcck:14232369:506:506::/var/www/kuasdzhar/data:/bin/date victor:victor:513:513::/var/www/galaktika/data/www/galaktika.ru:/bin/date
mysql
Формат хранения и шифрования паролей пользователей MySQL отличается от того, что используется в /etc/passwd. Но с помощью приведенной ниже команды логины и хэши паролей можно привести к формату файла /etc/passwd
mysql -p<PASS> -Bse "select User,Password from mysql.user"|awk '{print $1 ":" $2 ":::::::"}'>user.sql
Относительно того, в какое шифрование паролей используется, следует применять различные ключи
В рассматриваемом примере это
user:*8E6BsdfsdfB9EA73105AF276FDEDEE2039AE1600C1E:::::::
Поэтому запускаем проверку на взломостойкость, указывая используемое шифрование ключом --format=mysql-sha1
john --format=mysql-sha1 user.sql
но в основном, John The Reaper автоматически определяет способ хэширования.
Ссылки
- http://www.openwall.com/john/ - Официальный сайт разработчика
- http://sabini.ch/articles/john-reaper-fayl-paroley.html - файлы с паролями