
FreeIPA expiring password notification
FreeIPA — открытый проект для создания централизованной системы по управлению идентификацией пользователей, задания политик доступа и аудита для сетей на базе Linux и Unix.
Установка утилиты ipa-enp
Для отправки уведомлений об истечении срока действия пароля в FreeIPA используется утилита ipa-enp, расположенная в репозитории Appstream
Устанавливаем пакет
$ sudo dnf -y install ipa-client-epn
Настройка ipa-enp
Отредактируем файл конфигурации epn.conf
$ sudo nano /etc/ipa/epn.conf
В нем задаются параметры подключения к почтовому серверу, а так же за какое количество дней до истечения срока действия пароля отправлять уведомления.
По умолчанию уведомляются отправляются пользователям, срок действия паролей которых истекает через 28, 14, 7, 3 и 1 дней (notify_ttls).
... notify_ttls = 28, 14, 7, 3, 1 ...
Для проверки, авторизуемся в домене и меняем срок действия пароля одного из пользователей
$ kinit admin $ ipa user-mod m.makarov --setattr=krbPasswordExpiration=20230817011529Z
Запускаем утилиту ipa-epn с параметром dry-run, что бы уведомление не отправилось на email пользователя
$ sudo ipa-epn --dry-run [ { "uid": "m.makarov", "cn": "Максим Андреевич Макаров", "givenname": "Максим Андреевич", "sn": "Макаров", "krbpasswordexpiration": "2023-02-19 01:15:29", "mail": "['admin@itdraft.ru']" } ]
Дополнительные флаги
Утилиту можно запускать с флагами from-nbdays и to-nbdays чтобы определить, у какого количества пользователей истекает срок действия паролей в заданный промежуток времени.
$ sudo ipa-epn --from-nbdays 0 --to-nbdays 7 --dry-run
Это можно использовать для настройки системы мониторинга
Если запускать утилиту ipa-epn с флагами –from-nbdays и –to-nbdays, она автоматически запускается в тестовом режиме (dry-run)
Флаг –mail-test отправит отправит уведомление на email администратора, который прописан в конфиге /etc/ipa/epn.conf для параметра smtp_admin в /etc/ipa/epn.conf. Это можно использовать, что б не рассылать уведомления пользователям (например, если Вы не задаете почтовые адреса при добавлении пользователей), или для тестирования и настройки почтового шаблона
$ sudo ipa-epn --mail-test
Флаг mail-test не запускается совместно с dry-run, в консоли будет ошибка и ipa-epn не отработает
Почтовый шаблон
Для настройки почтового шаблона отредактируем файл expire_msg.template
$ sudo nano /etc/ipa/epn/expire_msg.template Hi {{ fullname }}, Your password will expire on {{ expiration }}. 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)
Запускаем сервис
$ sudo systemctl start ipa-epn.timer
После запуска сервиса ipa-epn.timer, он по умолчанию рассылает уведомления ежедневно в час ночи.