url image

Аудит паролей на сервере

Статья давно не обновлялась, поэтому информация могла устареть.

Содержание

Преамбула

Часто встречаются пользователи, которые стараются создавать легкозапоминающиеся для них пароли (например, 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://generator-paroley.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 автоматически определяет способ хэширования.

Ссылки

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!