J3qx

information archive

Настройка авторизации AD для Oracle посредством Kerberos

Posted by j3qx на Февраль 10, 2017

В данной инструкции рассматриваются необходимые настройки и нюансы со стороны AD и Microsoft KDC.

1) Создание нового пользователя в AD для маппинга сервера DB (для примера возьмем хост oracle — subd.t.example.ru)

а) атрибут FirstName – subd.t.example.ru (то есть FQDN имя хоста)

б) атрибут SAMAccountName  – subd (короткое имя хоста)

в) Account options для пользователя — «Do not require Kerberos preauthentication» = true

2) Генерация keytab файла с параметрами обмена данными с KDC и маппинга нужного пользователя

ktpass.exe -princ oracle/subd.t.example.ru@T.EXAMPLE.RU -mapuser subd.t.example.ru -crypto all -pass password -out c:\new\v5srvtab.dat

a) Домен учетной записи для DB здесь является realm`ом авторизации и поэтому пишется ОБЯЗАТЕЛЬНО в верхнем регистре.

б) keytab файл необходимо создать  вложив в него все типы шифрования, по этому ключ — -crypto all обязателен.

в) Имя кейтаб файла непринципиально и может быть любым.

3) Создание нового пользователя в DB

SQL> create user «SCOTT@T.EXAMPLE.RU» identified externally;

SQL> grant create session to «SCOTT@T.EXAMPLE.RU»;

Необходимо учесть, что имя пользователя в БД стоит создавать в верхнем регистре.

4) Настройки сервера DB

a)

Убедиться, что выставлены следующие параметры в БД:

SQL> select value from v$parameter where name = ‘os_authent_prefix’;

VALUE

—————————————————————

SQL> select value from v$parameter where name = ‘remote_os_authent’;

VALUE

—————————————————————

FALSE

б)

sqlnet.ora на стороне сервера БД:

SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = oracle

SQLNET.AUTHENTICATION_SERVICES= (BEQ,KERBEROS5)

SQLNET.KERBEROS5_CC_NAME = /etc/krb5cc_99

SQLNET.KERBEROS5_CONF = /etc/krb5.conf

SQLNET.KERBEROS5_REALMS = /etc/krb5.realms

SQLNET.KERBEROS5_KEYTAB = /etc/keytab

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

SQLNET.KERBEROS5_CONF_MIT = TRUE

SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = oracle — соответствует префиксу oracle/ при экспортировании принципала.

в)

/etc/krb5.conf

[libdefaults]

  default_realm = T.EXAMPLE.RU

[realms]

T.EXAMPLE.RU = {

 kdc = dc.t.example.ru:88

}

[domain_realm]

.t.example.ru = T.EXAMPLE.RU

t.example.ru = T.EXAMPLE.RU

 /etc/krb5.realms

.t.example.ru = T.EXAMPLE.RU

5) Настройки клиента

а)

Для подключения sqlnet.ora на стороне клиента:

NAMES.DIRECTORY_PATH= (TNSNAMES)

SQLNET.KERBEROS5_CC_NAME=OSMSFT://

SQLNET.AUTHENTICATION_SERVICES= (BEQ,KERBEROS5)

SQLNET.KERBEROS5_CONF =c:\krb5\krb5.conf

SQLNET.KERBEROS5_CONF_MIT = true

б)  (под вопросом)

Добавить записи в hosts для сервера БД и контроллера домена.

Изменить записи в services для Kerberos:

kerberos      88/tcp      kerberos5 krb5           # Kerberos v5

kerberos      88/udp      kerberos5 krb5           # Kerberos v5

Будет пополняться по мере передачи сведений и анализа логов.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: