PWM — это приложение самообслуживания паролей с открытым исходным кодом для каталогов LDAP.
Официальная страница проекта находится по адресу https://github.com/pwm-project/pwm/.
PWM — это приложение на основе Java-сервлетов, которое упаковано в виде одного исполняемого файла JAR Java, традиционного файла «WAR» сервлета и образа Docker.
Минимальные требования для применения ШИМ.
ШИМ-версия | Ява [^1] | Сервлет | Кот [^2] |
---|---|---|---|
v2.1.x | 17+ | 3.0 | 9 |
v2.0.x | 11+ | 3.0 | 8-9 |
v1.9.x (EOL) | 8-11 | 3.0 | 7-9 |
[^1] Нет никаких требований к конкретной реализации Java, сборки PWM используют Adoptium.
[^2] Tomcat не является явным требованием, но это наиболее распространенный контейнер, используемый с PWM, а также тот, который используется для сборок docker и onejar.
ШИМ распространяется в следующих артефактах, вы можете использовать тот, который вам удобнее.
Артефакт | Описание |
---|---|
Исполняемый файл Java | Исполняемое приложение Java JAR для командной строки, включая tomcat. |
ВОЙНА | Стандартная модель развертывания приложения Java WAR (веб-архив): вам необходимо иметь рабочую конфигурацию Java и Tomcat на вашем сервере. |
Докер | Образ Docker включает Java и Tomcat. |
Для всех типов развертывания каждому экземпляру PWM потребуется каталог applicationPath, определенный на вашем локальном сервере для файлов конфигурации, журналов и времени выполнения PWM. После настройки PWM первоначальный веб-интерфейс предложит администратору ввести LDAP и другие параметры конфигурации.
Артефакт onejar, выпущенный вместе с PWM, имеет встроенный экземпляр tomcat, поэтому вам не нужно устанавливать tomcat, чтобы использовать эту версию. Он идеально подходит для тестирования и оценки ШИМ. Вы будете нести ответственность за запуск его как службы (при желании).
Требования:
Помощь:
java -version
, чтобы убедиться, что у вас доступна версия Java 11 или более поздней версии.java -jar pwm-onejar-2.0.0.jar
для справки по командной строкеПример запуска исполняемого файла onejar (где /pwm-applicationPath — это местоположение вашего каталога applicationPath ):
java -jar pwm-onejar-2.0.0.jar -applicationPath /pwm-applicationPath
По умолчанию исполняемый файл остается подключенным к консоли и прослушивает HTTPS-соединения на порту 8443.
Шаги:
Образ докера PWM включает Java и Tomcat. Он прослушивает порт 8443, используя https, и имеет том, доступный как /config
. Вам нужно будет сопоставить том /config
с каким-либо типом постоянного тома Docker, чтобы PWM сохранил конфигурацию.
Требования:
Шаги:
docker load --input=pwm-docker-image-v2.0.0.tar
docker create --name mypwm -p '8443:8443' --mount 'type=bind,source=/home/user/pwm-config,destination=/config' pwm/pwm-webapp
docker start mypwm
Перед настройкой PWM вам следует использовать браузер/редактор LDAP, чтобы обеспечить ожидаемую функциональность вашей среды LDAP. Большинство трудностей, возникающих при настройке PWM, связаны с проблемами настройки LDAP или незнанием LDAP. Доступно множество браузеров LDAP, наиболее распространенным из которых является Apache Directory Studio. Используйте браузер для навигации по среде LDAP, ознакомьтесь со структурой каталогов и проверьте ожидаемое поведение.
В частности, Active Directory LDAP может быть проблематичным, поскольку он часто неправильно настроен и ведет себя необычно по сравнению с другими каталогами LDAP. В частности, AD LDAP использует ссылки для перенаправления клиента LDAP (в данном случае PWM) на выбранные им серверы, таким образом, PWM должен иметь возможность связываться со всеми экземплярами серверов контроллеров домена в среде AD, используя DNS-имя, настроенное AD. AD LDAP также должен быть настроен на использование сертификатов SSL, чтобы изменения паролей работали. Однако если среда AD правильно настроена, PWM с ней будет работать нормально.
PWM включает в себя веб-редактор конфигурации. Когда PWM запускается без настройки, веб-руководство по настройке предложит администратору ввести базовую информацию о конфигурации. Вся информация о конфигурации хранится в файле PwmConfiguration.xml , который будет создан в каталоге пути приложения. Путь приложения также используется для других файлов, включая локальную базу данных ( LocalDB ) (используется в основном в качестве кэша или для тестовых сред), файлы журналов и временные файлы. Если несколько серверов PWM используются параллельно, каждый сервер должен иметь идентичные файлы PwmConfiguration.xml .
PWM использует пароль конфигурации для защиты любых изменений конфигурации. Для аутентификации в PWM требуется вход в настроенную учетную запись администратора с помощью LDAP. На ранней стадии настройки или в случае проблем с каталогом LDAP может потребоваться доступ к конфигурации, когда LDAP функционально недоступен. Для этой цели в PWM есть «режим конфигурации», который позволяет редактировать конфигурацию с помощью пароля конфигурации, но отключает все остальные функции конечного пользователя. Режим конфигурации можно включить или отключить, отредактировав файл PwmConfiguration.xml и изменив свойство configIsEditable
в верхней части файла, а также его можно изменить в веб-интерфейсе.
PWM можно дополнительно настроить с помощью СУБД (также известной как сервер базы данных SQL). При настройке на использование базы данных метаданные пользователя PWM, такие как ответы на вопросы/ответы, токены TOTP, записи использования и другие данные, будут храниться в базе данных. Если не настроено использование базы данных, метаданные пользователя PWM будут храниться в каталоге LDAP. Ни один из них не лучше и не хуже, какой из них вы используете, зависит от вашей среды.
Любой SQL-сервер, имеющий драйвер JDBC, поддерживаемый Java, должен работать, PWM создаст свою собственную схему при первом подключении.
Предварительные условия сборки:
Этапы сборки:
Пример Linux:
export JAVA_HOME="/home/vm/JavaJDKDirectory"
git clone https://github.com/pwm-project/pwm
cd pwm
./mvnw clean verify
Пример Windows:
set JAVA_HOME="c:JavaJDKDirectory"
git clone https://github.com/pwm-project/pwm
cd pwm
mvnw.cmd clean verify
В Windows мы рекомендуем использовать пути без пробелов как для каталога PWM, так и для каталога JDK.
Созданы артефакты:
Формат | Каталог |
---|---|
ВОЙНА | веб-приложение/цель |
Исполняемый файл | банка/цель |
Докер | докер/цель |