Доменна автентифікація Linux
Якщо веб-додаток, що розробляється, передбачає аутентифікацію в репозиторії Prognoz Platform під доменним користувачем, то для організації такої схеми роботи буде потрібно додаткове налаштування як сервера СУБД, так і BI-сервера, встановленого на Linux. Нижче наведено приклад налаштування доменної автентифікації на Ubuntu. Якщо використовується СУБД Oracle, то зазначені налаштування є актуальними для роботи інтегрованої доменної аутентифікації.
Сервер СУБД
Доменна автентифікація доступна при організації сервера на базі СУБД Oracle версії 11.x або вище або PostgreSQL. Під час роботи з Oracle сервер СУБД необхідно підготувати, використовуючи одну з таких інструкцій:
Під час роботи з PostgreSQL необхідно налаштувати аутентифікацію методом GSSAPI, керуючись документацією до СУБД.
Налаштування BI-сервера Prognoz Platform
Передбачається, що сервер СУБД та BI-сервер розміщуються на різних фізичних серверах.
Попередньо необхідно встановити BI-сервер (при встановленні також будуть зроблені необхідні налаштування) та налаштувати клієнт Oracle.
Налаштування клієнта Kerberos
Встановіть пакети для протоколу Kerberos:
sudo apt-get install krb5-user krb5-config
У /etc/krb5.conf додайте інформацію про домен, наприклад:
При виникненні помилки « kinit: Generic preauthentication failure while getting initial credentials » додайте /etc/krb5.conf:
default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
Налаштування клієнта Oracle
У slqnet.ora додайте такі рядки:
Налаштування Apache
Крім основного налаштування Apache HTTP Server, яке буде виконано при встановленні пакетаBI-сервера, необхідно провести додаткове налаштування.
Налаштування модуля mod_auth_kerb :
На Ubuntu модуль доступний із стандартних репозиторіїв, для його встановлення виконайте:
sudo apt-get install libapache2-mod-auth-kerb
Передбачається, що keytab-файл для сервісу HTTP знаходиться в /etc/apache2/http.keytab і має право на читання для www-data.
Після встановлення та активації модуля потрібно скоригувати файл з налаштуваннями /etc/apache2/mods-enabled/auth_kerb.conf наступним чином (змінити на ім'я сервера, на якому розгорнути BI-сервер Prognoz Platform):
# Для того, щоб задовольнити або заборонити використання методу невідомого методу. Вам потрібна спеціальна підтримка на браузері для підтримки цього механізму.
# Для того, щоб задовольнити або заборонити використання сигналу, що базується на authentication for Kerberos v5.
# Якщо натиснути цей directive allow authentication controls до pass on to інші modules.
# Use only if you really know what you are doing.
# Ця опція має один або більше arguments (separated by spaces), specifying the Kerberos realm(s) для використання для authentication.
# Це означає, що реальна реальна справа від локального Kerberos configuration.
# Ця опція може бути використана для розблокування кнопок за допомогою локальної клавіатури для отримання KDC spoofing atacks.
# It should be used тільки для testing purposes. You have been warned.
# Для specification service name that will be used by Apache for authentication.
# Corresponding key of this name must be stored in the keytab.
KrbServiceName HTTP/[email protected]
# Ця опція має один argument, визначаючи місцезнаходження Kerberos V5 keytab файлу.
# It will use the "default keytab" з Kerberos V5'sconfig if it is not specified here.
# Keytab файл повинен бути readable для apache process, і повинен бути різним з інших keytabs в системі.
# Ця опція дає змогу сприятливого захисту функції.
# Будь-яка основна норма authentication знижка KrbMethodK5Pass and pass on authentication to lower modules if Basic headers arrive.
# Set to 'on' to have Kerberos до auth_to_local mapping of principal names to system user names.
У файлі /etc/apache2/sites-enabled/000-default.conf (найменування може бути без .conf) слід додати такі рядки:
Налаштування mpm-модуля coworker:
Для коректної роботи через Kerberos на Apache потрібний модифікований mpm-модуль coworker замість worker. Це потрібно для того, щоб ізолювати процеси автентифікації користувачів.
Розпакуйте архів із mpm-модулем у /usr/lib/apache2 .
Зробіть посилання /usr/sbin/apache2 на /usr/lib/apache2/mpm-coworker/apache2 .
У /etc/apache2/apache2.conf додайте налаштування такого вигляду:
StartServers 2 # ймовірна кількість користувачів, що працюють одночасно
ExpireTimeout 3600 # таймаут в секундах, після якого процес може бути перевикористаний новим користувачем
ChildPerUser On # увімкнути поділ користувачів (за замовчуванням вимкнено)
Налаштування LDAP
Для роботи з Active Directory необхідно встановити такі пакети:
sudo apt-get install libldap-2.4-2 libsasl2-modules-gssapi-mit
Далі до файлу /etc/ldap/ldap.conf додати інформацію про Active Directory:
URI ldap://hostname1.domain.ru ldap://hostname2.domain.ru
Роботу з Active Directory можна перевірити і без Apache, для цього достатньо ініціалізувати кеш облікових данихдоменного користувача через kinit. Далі під тим самим локальним користувачем, з-під якого запускали kinit, запустити axis2_http_server.