Пост

Уведомление об истечении срока действия пароля в 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, он по умолчанию рассылает уведомления ежедневно в час ночи.

Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.