Уведомление об истечении срока действия пароля в FreeIPA
FreeIPA (IPA) - это комплексное решение для централизованного управления безопасностью Linux-систем, идентификацией и аутентификацией. Оно позволяет создавать многоуровневую систему управления доступом, где руководители подразделений могут добавлять пользователей в группы и настраивать доступ к ресурсам.
Установка утилиты ipa-enp
Для отправки уведомлений об истечении срока действия пароля в FreeIPA используется утилита ipa-enp
, расположенная в репозитории Appstream
Устанавливаем пакет
1
$ sudo dnf -y install ipa-client-epn
Настройка ipa-enp
Отредактируем файл конфигурации epn.conf
1
$ sudo nano /etc/ipa/epn.conf
В нем задаются параметры подключения к почтовому серверу, а так же за какое количество дней до истечения срока действия пароля отправлять уведомления.
По умолчанию уведомляются отправляются пользователям, срок действия паролей которых истекает через 28, 14, 7, 3 и 1 дней - параметр notify_ttls
.
1
2
3
...
notify_ttls = 28, 14, 7, 3, 1
...
Для проверки, авторизуемся в домене и меняем срок действия пароля одного из пользователей
1
2
$ kinit admin
$ ipa user-mod m.makarov --setattr=krbPasswordExpiration=20230817011529Z
Запускаем утилиту ipa-epn с параметром dry-run
, что бы уведомление не отправилось на email пользователя
1
2
3
4
5
6
7
8
9
10
11
$ sudo ipa-epn --dry-run
[
{
"uid": "m.makarov",
"cn": "Максим Андреевич Макаров",
"givenname": "Максим Андреевич",
"sn": "Макаров",
"krbpasswordexpiration": "2023-02-19 01:15:29",
"mail": "['[email protected]']"
}
]
Дополнительные флаги
Утилиту можно запускать с флагами from-nbdays
и to-nbdays
чтобы определить, у какого количества пользователей истекает срок действия паролей в заданный промежуток времени.
1
$ sudo ipa-epn --from-nbdays 0 --to-nbdays 7 --dry-run
Это можно использовать для настройки системы мониторинга
Если запускать утилиту ipa-epn
с флагами --from-nbdays
и --to-nbdays
, она автоматически запускается в тестовом режиме (dry-run
)
Флаг mail-test
отправит отправит уведомление на e-mail администратора, который прописан в конфиге /etc/ipa/epn.conf
для параметра smtp_admin
в /etc/ipa/epn.conf
. Это можно использовать, что б не рассылать уведомления пользователям (например, если Вы не задаете почтовые адреса при добавлении пользователей), или для тестирования и настройки почтового шаблона
1
$ sudo ipa-epn --mail-test
Флаг mail-test
не запускается совместно с dry-run
, в консоли будет ошибка и ipa-epn
не отработает
Почтовый шаблон
Для настройки почтового шаблона отредактируем файл expire_msg.template
1
2
3
4
5
6
$ sudo nano /etc/ipa/epn/expire_msg.template
Hi ,
Your password will expire on .
Please change it as soon as possible.
В шаблоне можно использовать следующие переменные:
ID пользователя: uid
Полное имя: fullname
Имя: first
Фамилия: last
Срок действия пароля: expiration
Сервис ipa-epn.timer
Сервис ipa-epn.timer
используется для автоматической рассылки уведомлений об истечении срока действия пароля пользователям. Он анализирует файл epn.conf
и отправляет уведомление пользователям, срок действия паролей которых истекает через 28, 14, 7, 3 и 1 дней (параметр notify_ttls
)
Запускаем сервис
1
$ sudo systemctl start ipa-epn.timer
После запуска сервиса ipa-epn.timer
, он по умолчанию рассылает уведомления ежедневно в час ночи.