Настройка парольной политики в FreeBSD

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Ridik5533
рядовой
Сообщения: 39
Зарегистрирован: 2011-12-20 18:16:11
Откуда: Киев

Настройка парольной политики в FreeBSD

Непрочитанное сообщение Ridik5533 » 2013-08-12 12:13:20

Нужна помощь!
Кто знает подскажите как настроить в FreeBSD срок действия пароля 90 дней для всех пользователей.
В компании заработала эта политика и надо что бы пользователь через 90 сменил пароль.
Как сделать так чтобы система предупредила за 14 дней до смены пароля, а на 90 день при подключении (входе в систему) система предлагает сменить пароль.

Буду очень признателен.
Последний раз редактировалось f_andrey 2013-08-12 17:16:27, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Ridik5533
рядовой
Сообщения: 39
Зарегистрирован: 2011-12-20 18:16:11
Откуда: Киев

Re: Настройка парольной политики в FreeBSD

Непрочитанное сообщение Ridik5533 » 2013-08-12 12:21:41

Ridik5533 писал(а):Нужна помощь!
Кто знает подскажите как настроить в FreeBSD срок действия пароля 90 дней для всех пользователей.
В компании заработала эта политика и надо что бы пользователь через 90 сменил пароль.
Как сделать так чтобы система предупредила за 14 дней до смены пароля, а на 90 день при подключении (входе в систему) система предлагает сменить пароль.

Буду очень признателен.
Лучше конечно чтобы соблюдался стандарт PCI DSS 1.2, парольная политика должна соответствовать следующим требованиям:

1) Срок действия пароля – не более 90 дней (требование 8.5.9).
2) Длина пароля – не менее 7 символов (требование 8.5.10).
3) Пароль должен содержать как цифровые, так и буквенные символы (требование 8.5.11).
4) Каждый обновлённый пароль должен отличаться от 4-х предыдущих (требование 8.5.12).
5) Учётная запись временно блокируется (30 минут) после 6 неудачных попыток логина (требование 8.5.13).
6) Рабочая сессия пользователя блокируется не более чем через 15 минут простоя (требование 8.5.14).

Аватара пользователя
Ridik5533
рядовой
Сообщения: 39
Зарегистрирован: 2011-12-20 18:16:11
Откуда: Киев

Re: Настройка парольной политики в FreeBSD

Непрочитанное сообщение Ridik5533 » 2013-08-27 16:59:35

Полное решение этого вопроса у меня так и не нашлось, обшарил все форумы, но полной реализации на FreeBSD парольной политики НЕТУ!
P.S. (кто найдет и подскажет будем ПРИЗНАТЕЛЬНЫ!)

1) Решение 1 пункта - НЕТУ! То что пишут на форумах....
Добавить в /etc/login.conf
:passwd_format=blf:\
:minpasswordlen=8:\
:mixpasswordcase=true:\
:passwordtime=90d:\
:warnpassword=14d:\
:idletime=30:\
:umask=027:

после делаем

Код: Выделить всё

# cap_mkdb /etc/login.conf
НЕ РАБОТАЕТ - то что выделено красным, остальное советую применить!
Этом можно проверить

Код: Выделить всё

#vipw
.....
test3:$2a$04$H3fRC7nYBzKj8cpZ1i0K8.kiNHbyI9nQHRMIWGFsraZC.cI9Izf3W:1003:1003:::0:qwertest:/home/test3:/bin/csh
....
Шестой столбец пустой, а значит :passwordtime=90d:\ к пользователю test3 не применился.

Также 1 пункт можно реализовать вручную, например сегодня 01.01.2013 и через 90 дней надо сменить пароль это 01.04.2013

Код: Выделить всё

# pw usermod test3 -p 01-04-2013
#vipw
.....
test3:$2a$04$H3fRC7nYBzKj8cpZ1i0K8.kiNHbyI9nQHRMIWGFsraZC.cI9Izf3W:1003:1003::1396310400:0:qwertest:/home/test3:/bin/csh
....
В шестом столбце появились цифры :1396310400: это значит что все получилось. 01.04.2013 пользователь test3 сменит пароль.

2) Остальные пункты решаются в /etc/pam.d/passwd с помощью pam_passwdqc.so

Код: Выделить всё

uncomment the line:
#password        requisite       pam_passwdqc.so        enforce=user  
и добавить

Код: Выделить всё

password        requisite       pam_passwdqc.so         enforce=everyone min=disabled,disabled,disabled,disabled,9 max=40 match=4 similar=deny retry=3
Что это значит: Пароль приминяется для "everyone", Длина пароля min=9 - max=40 символов, match=4 - отличие от 4-х предыдущих паролей, similar=deny - запрет схожести со старым паролем, retry=3 - сколько раз модуль спросит вас ввести новый пароль если он не соответствует политикам. Также min=disabled,disabled,disabled,disabled,9 - говорит что пароль будет состоять из 3-4 классов (цифры, маленький и большой регистр букв, спец символы "@")

Для лучшей настройки политики читайте мануал pam_passwdqc.so.
Смотрите также:
PAM_PASSWDQC(8)
LOGIN.CONF(5)

Помогите в реализации 1 пункта! Так как надо что бы это срабатывало автоматически.

У кого какие есть идеи, выкладываем. Сделаем этот МИР лучше.

ChihPih
ст. прапорщик
Сообщения: 568
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Настройка парольной политики в FreeBSD

Непрочитанное сообщение ChihPih » 2013-08-27 22:27:20

Помогите в реализации 1 пункта! Так как надо что бы это срабатывало автоматически.
Написать свой PAM модуль по примеру pam_passwdqc?
www.info-x.org - информационный ресурс о ОС FreeBSD.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Настройка парольной политики в FreeBSD

Непрочитанное сообщение hizel » 2013-08-28 16:40:46

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Ridik5533
рядовой
Сообщения: 39
Зарегистрирован: 2011-12-20 18:16:11
Откуда: Киев

Re: Настройка парольной политики в FreeBSD

Непрочитанное сообщение Ridik5533 » 2013-08-28 17:23:11

Спасибо, решил только немного модифицировал... создадим маленький скрипт в /usr/local/script
Сразу скажу, если в много пользователей, то это решение не для вас!

Код: Выделить всё

# cd /usr/local/script
# ee pass_expire.sh

#!/bin/sh
...
pw usermod test1 -p 1m
pw usermod test2 -p 1m
pw usermod test3 -p 1m
...
Добавляем всех пользователей в наш скрипт pass_expire.sh и делаем chmod 775
После добавляем наш скрипт в CRON
Для редактирования файла crontab вашего пользователя используется команда "crontab -e"

Код: Выделить всё

# ee /etc/crontab

Код: Выделить всё

# /etc/crontab - root's crontab for FreeBSD
....
10    1       *       */3       *       root    /usr/local/script/pass_expire.sh
....
И так, у нас получилось что каждые 3 месяца в 1:10 будет отрабатывать скрипт. Скрипт будет за'expire'вать пароль через 1 мин. (пароль истикает через 1 минуту)
Это конечно не по феншую, но АВТОМАТИЧЕСКАЯ смена пароля через 90 дней РАБОТАЕТ!

Если у кого будет лучший вариант - ПИШИТЕ! Всегда рад новым идеям.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Настройка парольной политики в FreeBSD

Непрочитанное сообщение hizel » 2013-08-29 9:48:23

Рекомендую создавать таких пользователей через pw. См. man pw и man pw.conf
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Ridik5533
рядовой
Сообщения: 39
Зарегистрирован: 2011-12-20 18:16:11
Откуда: Киев

Re: Настройка парольной политики в FreeBSD

Непрочитанное сообщение Ridik5533 » 2013-08-29 12:21:03

hizel писал(а):Рекомендую создавать таких пользователей через pw. См. man pw и man pw.conf
При создании пользователя через pw ...
Пример:

Код: Выделить всё

# pw useradd test -p 90d
# passwd test
# vipw
....
test:$2a$04$VXi9LZKuKCyF1xTPdjhJE.BlhT.nEIZmdQ3AcNNjhvX4WIkX8a/hO:1006:1006::1377777060:0:User &:/home/test11:/bin/sh
....
мы получим пользователя "test" и срок действия его пароля истечет через 90 дней. А после в 6 поле где сейчас "1377777060" будет "0". Это значит что автоматически продления истечения пароля через 90 - НЕ БУДЕТ!

Для этого я и написал скрипт в посте что выше. Так автоматически каждые 90 дней для всех пользователей указанных в скрипте pass_expire.sh будет предложено сменить пароль. Эти 90 дней запускаются по Cron'у.