- Начало работы
- Интеграция
- HTTP API
- OpenID Connect
- RADIUS протокол
- RADIUS адаптер
- LDAP адаптер
- Портал самообслуживания
- MULTIFACTOR Directory Sync
- Windows Logon
- Регистрация пользователей
- .NET Core
- 1с-Bitrix24
- 1с-плагин двухфакторной аутентификации
- ADFS
- ASP.NET
- Ansible AWX
- Atlassian Cloud
- BearPass
- Check Point VPN
- Cisco ASA VPN
- Citrix Gateway
- Deckhouse Stronghold
- FortiGate VPN
- HRBOX
- Huawei Cloud
- Huawei VPN
- Ideco UTM
- Keycloak
- Let's Encrypt Windows Server
- Linux logon (GUI/SSH)
- Linux SSH
- Linux SUDO
- Microsoft Entra ID
- MikroTik L2TP VPN
- NGate VPN
- Network Policy Server (NPS)
- Nextcloud
- Palo Alto GlobalProtect
- OpenVPN
- OpenVPN + AD
- OpenVPN Access Server
- OpenVPN pfSense
- Outlook Web Access (OWA)
- Passwork
- RD Gateway (RDGW)
- Redmine
- Solar SafeInspect
- UserGate VPN
- VMware Horizon Cloud
- VMware Horizon View
- VMware vCloud Director
- VMware vSphere
- Vault
- ViPNET
- Windows VPN
- Yandex.Cloud
- Yandex 360
- Zabbix
- АйТи-Бастион
- Континент 4 VPN
- МТС Линк (бывш. webinar.ru)
- WordPress
- С-Терра VPN
- Точка доступа Wi-Fi
- ФПСУ-IP/Клиент
Настройка двухфакторной аутентификации Deckhouse Stronghold
В статье описывается настройка для входа в хранилище секретов Deckhouse Stronghold с двухфакторной аутентификацией.
Возможные способы аутентификации:
Мобильное приложение Multifactor
Telegram
Звонок (нужно принять вызов и нажать #)
Для настройки второго фактора аутентификации вам потребуется установить и настроить MULTIFACTOR LDAP Adapter.
Схема работы
- Пользователь подключается к Stronghold, вводит логин и пароль;
- Stronghold по протоколу LDAP подключается к компоненту MULTIFACTOR Ldap Adapter;
- Компонент проверяет логин и пароль пользователя в Active Directory или другом LDAP-каталоге и запрашивает второй фактор аутентификации;
- Пользователь подтверждает запрос доступа выбранным способом аутентификации и попадает в систему.
Настройка MULTIFACTOR
- Зайдите в систему управления MULTIFACTOR, далее в разделе «Ресурсы» создайте новое LDAP приложение;
- После создания вам будут доступны два параметра: NAS Identifier и Shared Secret, они потребуются для последующих шагов;
- Загрузите и установите MULTIFACTOR LDAP Adapter.
Запуск LDAP Adapter в Kubernetes
Для запуска воспользуйтесь образом multifactor-ldap-adapter:3.0.7
и следующим манифестом:
--- apiVersion: apps/v1 kind: Deployment metadata: name: ldap-adapter spec: replicas: 1 selector: matchLabels: app: ldap-adapter template: metadata: labels: app: ldap-adapter spec: containers: - image: registry.deckhouse.ru/stronghold/multifactor/multifactor-ldap-adapter:3.0.7 name: ldap-adapter volumeMounts: - mountPath: /opt/multifactor/ldap/multifactor-ldap-adapter.dll.config name: config subPath: multifactor-ldap-adapter.dll.config volumes: - configMap: defaultMode: 420 name: ldap-adapter name: config --- apiVersion: v1 kind: Service metadata: name: ldap-adapter spec: ports: - port: 389 protocol: TCP targetPort: 389 selector: app: ldap-adapter --- apiVersion: v1 kind: ConfigMap metadata: name: ldap-adapter data: multifactor-ldap-adapter.dll.config: | <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="UserNameTransformRules" type="MultiFactor.Ldap.Adapter.Configuration.UserNameTransformRulesSection, multifactor-ldap-adapter" /> </configSections> <appSettings> <add key="adapter-ldap-endpoint" value="0.0.0.0:389"/> <add key="ldap-server" value="ldap://ldap.example.com"/> <add key="ldap-service-accounts" value="CN=admin,DC=example,DC=com"/> <add key="ldap-base-dn" value="ou=Users,dc=example,dc=com"/> <add key="multifactor-api-url" value="https://api.multifactor.ru" /> <add key="multifactor-nas-identifier" value="YOUR-NAS-IDENTIFIER" /> <add key="multifactor-shared-secret" value="YOUR-NAS-SECRET" /> <add key="logging-level" value="Debug"/> </appSettings> </configuration>
В конфигурации укажите адрес своего LDAP-сервера и значения multifactor-nas-identifier
и multifactor-shared-secret
из панели управления MULTIFACTOR.
Доступные образы:
- на базе Ubuntu 24.04
registry.deckhouse.ru/stronghold/multifactor/multifactor-ldap-adapter:3.0.7
- на базе Alpine 3.22
registry.deckhouse.ru/stronghold/multifactor/multifactor-ldap-adapter:3.0.7-alpine
Настройка Stronghold
Для настройки Stronghold создайте и сконфигурируйте метод аутентификации ldap
, где в качестве сервера укажите адрес ldap-adapter
. Если для запуска адаптера вы использовали манифест из примера выше, то нужно указать адрес ldap://ldap-adapter.default.svc:
d8 stronghold auth enable ldap d8 stronghold write auth/ldap/config url="ldap://ldap-adapter.default.svc" \ binddn="cn=admin,dc=example,dc=com" bindpass="Password-1" \ userdn="ou=Users,dc=example,dc=com" groupdn="ou=Groups,dc=example,dc=com" \ username_as_alias=true
Тестирование с помощью локального сервера openldap
Ниже приведен пример манифеста, с помощью которого можно запустить сервис OpenLDAP в Kubernetes для целей тестирования:
--- apiVersion: apps/v1 kind: Deployment metadata: name: openldap spec: replicas: 1 selector: matchLabels: app: openldap template: metadata: labels: app: openldap spec: containers: - env: - name: LDAP_ADMIN_DN value: cn=admin,dc=example,dc=com - name: LDAP_ROOT value: dc=example,dc=com - name: LDAP_ADMIN_USERNAME value: admin - name: LDAP_ADMIN_PASSWORD value: Password-1 image: bitnami/openldap:2.6.10 name: openldap --- apiVersion: v1 kind: Service metadata: name: openldap spec: ports: - name: p389 port: 389 protocol: TCP targetPort: 1389 selector: app: openldap
После того как запустите контейнер, создайте пользователя (в качестве примера приведено создание пользователя alice
с паролем D3mo-Passw0rd
).
Сначала выполните вход в контейнер openldap:
d8 kubectl exec svc/openldap -it -- bash
Создайте пользователя с помощью следующих команд:
cd /tmp cat << EOF > create_entries.ldif dn: uid=alice,ou=users,dc=example,dc=com objectClass: inetOrgPerson objectClass: person objectClass: top cn: Alice sn: User userPassword: D3mo-Passw0rd EOF ldapadd -H ldap://openldap -cxD "cn=admin,dc=example,dc=com" \ -w "Password-1" -f "create_entries.ldif"
Можете выполнить вход под пользователем alice
с паролем D3mo-Passw0rd
. В панели управления MULTIFACTOR в разделе Пользователи
будет создан пользователь alice
, для которого можно назначить второй фактор. Далее будет требоваться его подтверждение при каждом входе в Stronghold. Помимо аудит-логов на стороне Stronghold подтверждение второго фактора будет фиксироваться также на стороне MULTIFACTOR.
Смотрите также: