Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Данный способ интеграции основан на запуске отдельного сервиса, который занимается маршрутизацией запросов от системы WNAM к внутренним компонентам или серверам доменам. При его использовании не потребуется ручная настройка nginx, samba или других инструментов. После установки работой с конфигурационными файлами занимается используемый сервис. Сервис написан на языке python3 и требует для своей работы ряда библиотек (преимущественно поддержки протокола LDAP). Его работа в режиме веб-сервиса обеспечивается инструментарием flask. 

Warning
Можно настроить взаимодействие сервиса системы авторизации системы WNAM с доменом аналогично настройкам серверакак на самом сервере, на котором работает ПО WNAM (как , так и на любом другом соседнем Linux-сервере).

Схема взаимодействия компонентов представлена на рисунке:

 

Image AddedImage Removed


Info

Для сервера, не имеющего выхода в Интернет, существует вариант автоматической оффлайн-инсталляции, при котором все *.deb и python-пакеты устанавливаются из заранее подготовленного архива.

Последующие обновления actool можно производить скриптом https://www.netams.com/files/wnam/misc/upgrade-adctool.sh

Необходимо установить следующий набор пакетов:

apt install python3-flask python3-dnspython python3-ldap3 python3-pyasn1 python3-pyasn1-modules python3-six python3-gssapi krb5-user libkrb5-dev python3-pycryptodome winbind python3-apscheduler sudo libcurl4-nss-dev python3-cryptography libgpgme-dev python3-dotenv python3-apt python3-pip 

Затем запросить и получить у службы техподдержки компании Netams интеграционный модуль, который поставляется в виде архива, и распаковать его:

mkdir -p /home/wnam/adctool/logs
tar zxvf adctool.tgz -C /home/wnam
chown -R wnam:wnam /home/wnam/adctool
cd /home/wnam/adctool
pip3 install -r requirements.txt

Задайть Задать права на нужные файлы:

cat > /etc/sudoers.d/wnam << SUDO
wnam ALL = NOPASSWD: /usr/bin/net
wnam ALL = NOPASSWD: /usr/bin/wbinfo
wnam ALL = NOPASSWD: /usr/bin/systemctl
wnam ALL = NOPASSWD: /usr/bin/mv
wnam ALL = NOPASSWD: /usr/bin/ntlm_auth
SUDO
chmod +x /home/wnam/adctool/*.py
chmod a+s /usr/bin/wbinfo 
chmod a+s /usr/bin/ntlm_auth
chown wnam /etc/samba/smb.conf

...

cat > /etc/systemd/system/adctool.service << EOF
[Unit]
Description="WNAM Active Directory tools service"
After=network.target
[Service]
WorkingDirectory=/home/wnam/adctool
ExecStart=/usr/bin/flask run
Restart=on-failure
SuccessExitStatus=143
RestartSec=10
User=wnam
Group=wnam
StandardOutput=append:/home/wnam/adctool/logs/application.log
StandardError=append:/home/wnam/adctool/logs/console.log
[Install]
WantedBy=multi-user.target
EOF

Отредактировать Создать, и отредактировать при необходимости конфигурационный файл /home/wnam/adctool/.flaskenv:

FLASK_APP=ad_tools.py
FLASK_RUN_HOST=0.0.0.0 # можно убрать по завершению тестов
FLASK_RUN_PORT=9080
FLASK_DEBUG=True # можно убрать по завершению тестов 

Отредактировать конфигурационный Создать, и отредактировать при необходимости конфигурационный файл /home/wnam/adctool/config.json:

...

  • Статус взаимодействия с интеграционной службой adctool с возможностью отправки команды на её перезапуск.
  • Список подключенных доменов с информацией:
    • название домена, имя контроллера домена;типы и статус интеграционных сервисов (LDAP, IPA/LDAP и NTLM-коннекторы);
    • число доменных групп, найденных и отмеченных к дальнейшему использованию в профилях аутентификации.
    • название хоста, применяемого для коннектора, типы и статус интеграционных сервисов (LDAPSи NTLM-коннекторы), имя контроллера домена. цвет плашки:
      • зеленый статус: всё ОК
      • красный статус: коннектор не может получить корректную информацию (не сработал join к домену, или он развалился)
      • серый статус: ADCTool не успел получить ответ от коннектора за тайм-аут 5 секунд; вероятны сетевые или DNS проблемы

Image AddedImage Removed

Продолжить настройку, подключив вашу систему к службам каталога:

  • Active Directory. Допустимо создать несколько коннекторов к разным доменам Active Directory, но для EAP_PEAP-авторизации (через механизм NTLM) работает только один коннектор.
  • FreeIPA. Допустимо создать несколько коннекторов к разным доменам FreeIPA, и для EAP_PEAP-авторизации работают все коннекторы, где включена функция принудительного хранения хэша пароля в каталоге.

...