Настройка сервера ADWS elles-ws с использованием конфигурационного файла
При необходимости изменения конфигурации elles-ws отредактируйте файл /opt/elles-ws/etc/default/elles-ws на хосте контроллера домена «Эллес» и выполните перезапуск сервиса:
sudo systemctl restart elles-ws.service
|
При создании или редактировании файла /opt/elles-ws/etc/default/elles-ws учитывайте следующее:
|
Формат /opt/elles-ws/etc/default/elles-ws
ELWS_LISTEN=0.0.0.0:9389
ELWS_LDAP_URL=ldap://127.0.0.1:389
# Plaintext password
ELWS_LDAP_AUTH=simple
ELWS_LDAP_BIND_DN=Administrator@YOUR-REALM.LAN
ELWS_LDAP_BIND_PASSWORD=CHANGEME
# No plaintext password:
# ELWS_LDAP_AUTH=gssapi
# ELWS_LDAP_BIND_DN=svc-elws@YOUR-REALM.LAN
# ELWS_KRB5_PRINCIPAL=svc-elws@YOUR-REALM.LAN
# ELWS_LDAP_KEYTAB=/etc/elles-ws/elws.keytab
# ELWS_LDAP_GSSAPI_SERVICE=ldap/FQDN-OF-THIS-DC
# ELWS_KRB5_CONFIG=/etc/krb5.conf
ELWS_SMB_CONF=/app/inno-samba/etc/smb.conf
ELWS_SAM_LDB=/app/inno-samba/private/sam.ldb
ELWS_GENSEC_PY_PATH=/opt/elles-ws/usr/lib/elles-ws/py
# Пул gensec-worker: одновременные RSAT-сессии к :9389
# 4 CPU / 8 GB → 4; при "pool wait" в journalctl — увеличить (+2), не выше ~ядер/RAM
ELWS_GENSEC_POOL_SIZE=4
# F8 caller ACL: off | audit | enforce
ELWS_CALLER_ACL=enforce
# F8b impersonation: off | sd | ldap (ldap requires ELWS_CALLER_ACL=enforce)
ELWS_IMPERSONATE=off
# Health HTTP: JSON /health и HTML / (auto-refresh). Только localhost по умолчанию.
ELWS_HEALTH=127.0.0.1:9089
ELWS_LOG=info
ELWS_AUDIT_LOG=true
ELWS_PPROF=127.0.0.1:6060
# LDAPS/StartTLS: true for self-signed Samba lab certs; set false with a real CA
ELWS_LDAP_TLS_INSECURE=true
Параметры конфигурации
Конфигурация состоит из переменных окружения, используемых запускающим скриптом /opt/elles-ws/usr/bin/elles-ws.
| Переменная | Назначение |
|---|---|
|
TCP-адрес и порт, на котором принимает подключения сервер ADWS |
|
URL LDAP-сервера «Эллес» |
|
Метод аутентификации LDAP ( |
|
UPN для аутентификации в LDAP |
|
Пароль для простой аутентификации (не используется при |
|
Учетная запись для Kerberos-аутентификации для GSSAPI (должен совпадать с |
|
Путь к keytab-файлу для GSSAPI-аутентификации |
|
SPN для GSSAPI bind (формат: |
|
Путь к файлу krb5.conf для клиента Kerberos |
|
Путь к файлу smb.conf «Эллес» (для чтения параметров домена) |
|
Путь к базе данных «Эллес» sam.ldb |
|
Путь к Python-модулям |
|
Размер пула |
|
Уровень логирования сервера |
|
Включить аудит операций в |
|
Адрес и порт для HTTP-pprof (профилирование) |
|
Политика контроля доступа для операций записи |
|
Режим делегирования операций записи ( |
|
Хост и порт для проверки состояния сервера через HTTP-запросы ( |
ELWS_LDAP_TLS_INSECURE |
Включает небезопасный режим TLS для LDAP-соединений |
ELWS_LISTEN
Обязательно. TCP-адрес и порт, на котором принимает подключения сервер ADWS.
Формат: IP:PORT.
Значение по умолчанию: 0.0.0.0:9389
Для RSAT обязательно 0.0.0.0:9389.
ELWS_LDAP_URL
Обязательно. URL LDAP-сервера «Эллес».
Значение по умолчанию: ldap://127.0.0.1:389
Должен указывать на локальный LDAP-сервер «Эллес». Убедитесь, что порт 389 слушает 127.0.0.1 (проверьте ss -tuln | grep ':389').
ELWS_LDAP_AUTH
Обязательно. Метод аутентификации LDAP.
Допустимые значения:
-
simple— аутентификация по UPN и паролю (только для тестирования); -
gssapi— аутентификация через Kerberos.
При gssapi параметр ELWS_LDAP_BIND_PASSWORD должен быть закомментирован или удален.
ELWS_LDAP_BIND_DN
Обязательно. UPN для аутентификации в LDAP.
Ожидаемые значения:
-
при
ELWS_LDAP_AUTH=simple— UPN администратора (например,Administrator@EXAMPLE.COM); -
при
ELWS_LDAP_AUTH=gssapi— UPN служебной учетной записиsvc-elws.
Должен совпадать с ELWS_KRB5_PRINCIPAL при gssapi.
ELWS_LDAP_BIND_PASSWORD
Пароль для простой аутентификации (simple bind).
Используется только при ELWS_LDAP_AUTH=simple.
Не использовать при ELWS_LDAP_AUTH=gssapi.
|
Рекомендуется использовать gssapi и keytab вместо plaintext password.
ELWS_KRB5_PRINCIPAL
Обязательно при gssapi. Субъект безопасности Kerberos для GSSAPI-аутентификации.
Должен совпадать с ELWS_LDAP_BIND_DN.
Пример: svc-elws@EXAMPLE.COM.
ELWS_LDAP_KEYTAB
Обязательно при gssapi. Путь к keytab-файлу для GSSAPI-аутентификации.
Значение по умолчанию: /etc/elles-ws/elws.keytab.
Файл должен быть создан скриптом /opt/elles-ws/usr/lib/elles-ws/setup-svc-elws-keytab.sh.
Права: 0400; владелец: root:root.
ELWS_LDAP_GSSAPI_SERVICE
Обязательно при gssapi. SPN для GSSAPI bind.
Формат: ldap/<DC_FQDN> (например, ldap/dc1.example.com).
Это целевой сервис, который сервер использует при GSSAPI bind к LDAP. Он должен совпадать с FQDN контроллера домена.
| Не использовать IP-адрес — только FQDN. |
ELWS_KRB5_CONFIG
Путь к файлу krb5.conf для клиента Kerberos.
Значение по умолчанию: /etc/krb5.conf.
Используется для настройки DNS-разрешения KDC и Realm.
ELWS_SMB_CONF
Обязательно. Путь к файлу smb.conf, используемому «Эллес».
Значение по умолчанию: /app/inno-samba/etc/smb.conf.
Используется для определения Realm, NetBIOS-имени и других параметров домена.
ELWS_SAM_LDB
Обязательно. Путь к базе данных «Эллес» sam.ldb.
Значение по умолчанию: /app/inno-samba/private/sam.ldb.
Используется sidecar-процессами для прямого доступа к данным домена.
ELWS_GENSEC_PY_PATH
Обязательно. Путь к Python-модулям gensec (для sidecars).
Значение по умолчанию: /opt/elles-ws/usr/lib/elles-ws/py.
Должен содержать модули gensecauth.py, spnego.py, nns.py, errors.py, topology.py, samba_session.py.
ELWS_GENSEC_POOL_SIZE
Обязательно. Размер пула gensec-worker (количество одновременных сессий).
Значение по умолчанию: 4.
Определяет количество одновременных клиентских подключений, которые могут быть аутентифицированы.
При ELWS_GENSEC_POOL_SIZE=4 и высокой нагрузке в логах появляется gensec worker pool wait — увеличьте до 6 или 8.
Не устанавливайте выше числа ядер CPU.
ELWS_LOG
Обязательно. Уровень логирования сервера.
Допустимые значения:
-
debug— максимальная детализация (включая все LDAP-запросы и GSSAPI-токены); -
info— основные события (по умолчанию); -
warn— только предупреждения; -
error— только ошибки.
Логи выводятся в journalctl -u elles-ws.
ELWS_AUDIT_LOG
Обязательно. Включить аудит операций в systemd journal.
Значение: true или false.
При true в логах появляются записи с audit_class=dsdb_audit, auth_audit, dsdb_password_audit для отслеживания изменений объектов и аутентификации.
ELWS_PPROF
Адрес и порт для HTTP-pprof (профилирование).
Значение по умолчанию: 127.0.0.1:6060.
Используется для диагностики производительности (CPU, memory, goroutines).
Доступ: curl http://127.0.0.1:6060/debug/pprof/
ELWS_CALLER_ACL
Обязательно. Политика контроля доступа для операций записи.
Допустимые значения:
-
off— все записи разрешены без проверки; -
audit— логирует попытки записи без RSAT identity; -
enforce— отклоняет все записи без RSAT identity (рекомендуется).
Требуется enforce для ELWS_IMPERSONATE=ldap.
ELWS_IMPERSONATE
Обязательно. Режим делегирования операций записи.
Допустимые значения:
-
off— все операции записи выполняются от имениsvc-elws; -
sd— делегирование только для чтенияnTSecurityDescriptorиsDRightsEffective; -
ldap— делегирование всех операций записи от имени RSAT-клиента.
Требует ELWS_CALLER_ACL=enforce.
После установки пакета значение по умолчанию — off. Для полной совместимости с RSAT установите ELWS_IMPERSONATE=ldap.
ELWS_HEALTH
Обязательно. Хост и порт для проверки состояния сервера через HTTP-запросы (/health, /info).
Значение по умолчанию: 127.0.0.1:9089.
Должен быть доступен только с localhost.
Конечные точки:
-
http://127.0.0.1:9089/health— JSON:{"ok":true} -
http://127.0.0.1:9089/info— JSON: capabilities, sidecars, features; -
http://127.0.0.1:9089/— HTML-страница со ссылками.
ELWS_LDAP_TLS_INSECURE
Включает небезопасный режим TLS для LDAP-соединений с «Эллес».
Значение по умолчанию: true.
Используется только в тестовых средах с самоподписанными сертификатами.
Для штатной эксплуатации с реальным CA (например, корпоративным или публичным удостоверяющим центром) установите значение false, чтобы включить строгую проверку цепочки доверия и имя хоста в сертификате.
При false сервер требует, чтобы сертификат «Эллес»:
-
был подписан доверенным CA;
-
содержал FQDN контроллера домена;
-
не был просрочен.
Обновлено: