Инструменты пользователя

Инструменты сайта


pam
                                                 PAM

В данной статье хотелось бы разместить заметки по поводу усиления PAM с использованием passwdqc и описание базовых возможностей.
Passwdqc используется для усиления парольных политик и является более улучшенной версией устаревшего cracklib.

Все примеры проведены на Debian 7 и Debian 8.

1. Устанавливаем необходимые пакеты:

apt-get install passwdqc libpam-passwdqc

2. После этого заходим в основную директорию с конфигами PAM: cd /etc/pam.d/ и первым делом открываем файл common-password. И пишем в него следующие строчки:

password        requisite                       pam_passwdqc.so min=disabled,24,12,9,8 similar=deny  enforce=everyone retry=3 
password        requisite                       pam_pwhistory.so use_authtok remember=4
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 rounds=10000 

Первая строчка задаёт следующие парольные политики для модуля passwdqc:
min=disabled,24,12,9,8 ← Минимальная длинна пароль 8 символов (примечение: пароль обязан включать в себя буквы верхнего и нижнего регистра, цифры и хотя бы один спец. символ и ни в коем случае не должен содержать словарные слова и прочую поеботу, аля: 123qwe. вот такие вот требования у passwdqc), но если символов 9 то тогда можно принебречь одним из тредобаний, см. примечение, ну и соответственно если символов 12, то можно принебречь двумя правилами из примечаний. Ну а если ваш пароль состоит более чем из 24 символов, то тогда это может быть хоть парольная фраза из стишка. (примечание №2 к примечанию №1: только если есть опция obscure)
similar=deny ← Запрещаем использование пароля, похожего на один из уже используемых
enforce=everyone ← Применять данную политику для абсолютно всех пользователей в системе. В том числе и для пользователя root
retry=3 ← Даётся 3 попытки на ввод корректного пароля, после истечения счётчика зафейлит ваши попытки

Вторая строчка относится к настройке политик хранения уже использованных паролей:

use_authtok ← Применить политки криптования из настроек pam_unix (см. примечание)
remember=4 ← Запомнить последние 4 пароля, используется для того что бы ваш пароль не был похож на 4 предыдущих

Примечание: Почему важно добавлять в конфиг настройки pam_pwhistory. Потому как ваши старые пароли хранящиеся в файле /etc/security/opasswd будут захэшированы при помощи стандартного алгоритма MD5 !

Третья строчка:

obscure ← См. примечание №2
sha512 ← Указываем что будем использовать алгоритм SHA512
rounds=10000 ← Выставляем ротацию хэша в 10000 попугаев, оборотов раундов

Далее создаём файл common-auth-ban со следующими строчками:

auth            required     pam_tally2.so deny=6 onerr=fail unlock_time=1800
account         required        pam_tally2.so

Где указываем политики блокировки, что при 6-ти неверных попытках ввода пароля, пользователь блокируется сроком на 30 минут.

После этого в файлах: su, sudo,login, passwd, sshd и прочих файлах ваших сервисов (например: ftp или samba) записываем строчку @include common-auth-ban над строчкой common-auth и после этого мы можем банить тех кто пытается сбрутить ваш пароль через ssh, passwd, login, su или другие дсотупные стредства.

Проверка на наличие заблокированных пользователей:
#pam_tally2 ← Вывести список заблокированных пользователй и неудачных попыток захода
#pam_tally2 –reset ← Обнулить счётчик
#pam_tally2 -u mydak –reset ← Обнулить счётчик пользователю mydak

Примеры файлов:

common-password
password        requisite                       pam_passwdqc.so min=disabled,24,12,9,8 similar=deny  enforce=everyone retry=3 
password        requisite                       pam_pwhistory.so use_authtok remember=4
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 rounds=10000
password        requisite                       pam_deny.so
password        required                        pam_permit.so
common-auth-ban
auth            required     pam_tally2.so deny=6 onerr=fail unlock_time=1800
account         required        pam_tally2.so
passwd
@include common-auth-physalis
@include common-password

Ну и на последок, по давней традии. PAM - это то что ты настроил и потом забыл =)

pam.txt · Последние изменения: 2016/02/03 15:44 — 81.222.241.194