
Описание
Self Service Password — это PHP-приложение, которое позволяет пользователям изменять свой пароль в LDAP-каталоге.
Приложение может использоваться со стандартными LDAPv3-каталогами (OpenLDAP, OpenDS, ApacheDS, Sun Oracle DSEE, Novell и т.д.), а также с Active Directory.

Оно обладает следующими возможностями:
- Режим Samba для изменения паролей Samba
- Режим Active Directory
- Хеширование паролей (MD5, SHA, SHA2, Crypt, Argon2)
- Локальная политика паролей:
- Минимальная/максимальная длина
- Запрещённые символы
- Счётчики прописных, строчных букв, цифр и специальных символов
- Проверка на повторное использование старого пароля
- Пароль, совпадающий с логином или другими атрибутами LDAP
- Сложность (разные классы символов)
- Запрещённые слова
- Использование Have I been pawned API
- Энтропия
- Справочные сообщения
- Сброс по контрольным вопросам
- Сброс по электронной почте (токен отправляется по почте)
- Сброс по SMS (через внешний сервис Email 2 SMS или SMS API)
- Изменение SSH-ключа в LDAP-каталоге
- Изменение адреса электронной почты и номера телефона в LDAP-каталоге
- Captcha (встроенная)
- Уведомление по электронной почте после смены пароля
- Хук-скрипт до и после смены пароля
- REST API
Требования
- PHP (>=7.4)
- Требуемые расширения PHP:
- php-curl (haveibeenpwned api)
- php-gd (captcha)
- php-filter
- php-ldap
- php-mbstring (сброс по почте)
- php-openssl (шифрование токена, обычно встроено)
- Smarty >= 3
- доступны надежные криптографические функции (для random_compat, PHP 7, или libsodium, или читаемый /dev/urandom, или установлено расширение php-mcrypt)
- корректная конфигурация почтового сервера PHP
- корректная конфигурация сессий PHP
Документация
Документация доступна на https://self-service-password.readthedocs.io/en/latest/
Docker
Мы предоставляем официальный Docker-образ.
Создайте минимальный файл конфигурации:
<?php // My SSP configuration
$keyphrase = "mysecret";
$debug = true;
?>
И запустите:
docker run -p 80:80 \
-v $PWD/ssp.conf.php:/var/www/conf/config.inc.local.php \
-it docker.io/ltbproject/self-service-password:latest
Загрузка
Архивы и пакеты для Debian и Red Hat доступны на https://ltb-project.org/download.html
Репозитории Debian и Red Hat также доступны, см. инструкции по установке.
Исходный код
Исходный код доступен на https://github.com/ltb-project/self-service-password