Доменна автентифікація 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.