домен: WCC.LOCAL
Контроллер домена ( KDC-сервер): dc1.wcc.local
Сервер приложений: budwf.moscow.mydomain.ru
Настройки на стороне домена AD.
Необходимо создать пользователя с произвольным именем. Для аутентификации будут использоваться principals этого пользователя. Использование протокола Kerberos предполагает шифрование. В настройках созданной учётной записи необходимо отметить поддержку, например, AES 128. При использовании это типа шифрования не понадобится скачивание дополнительных библиотек на сервера приложений.ktpass -princ HTTP/srv_budwf@WCC.LOCAL -mapuser srv_budwf -kvno 0 -crypto AES128-SHA1 -ptype KRB5_NT_PRINCIPAL -pass ***** -out c:\distr\budwf.keytab
Targeting domain controller: DC1.wcc.local
Successfully mapped HTTP/srv_budwf to srv_budwf.
Password succesfully set!
Key created.
Output keytab to c:\distr\oracleadmintst.keytab:
Keytab version: 0x502
keysize 60 HTTP/srv_budwf@WCC.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 0 etype 0x1
1 (AES128-SHA1) keylength 16 (0x5e4018d5c51d4445677201f95477046f)
setspn -L srv_budwf
Зарегистрирован ServicePrincipalNames для CN=srv_budwf,OU=System Accounts,OU=SerМожно удалить бесполезные service principal name командой
ver,OU=CentralOffice,DC=wcc,DC=local:
HTTP/srv_budwf
setspn -D HTTP/srv_budwf srv_budwfи добавить spn с полным именем сервера
setspn -S HTTP/budwf.moscow.mydomain.ru srv_budwfДолжно получиться что-то похожее на это:
Checking domain DC=gksm,DC=local
Registering ServicePrincipalNames for CN=srv_budwf,OU=System Accounts,OU=Server,OU=CentralOffice,DC=wcc,DC=local
HTTP/budwf.moscow.mydomain.ru srv_budwf
Updated object
setspn -L srv_budwf
Registered ServicePrincipalNames for CN=srv_budwf,OU=System Accounts,OU=Server,OU=CentralOffice,DC=wcc,DC=local:
HTTP/budwf.moscow.mydomain.ru srv_budwf
HTTP/budwf
Настройки хоста сервера приложений.
Готовый кейтаб можно копировать на сервер приложений, в корневую директорию домена.На сервере приложений необходимо отредактировать файл /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = WCC.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
default_tgs_enctypes = aes128-cts
default_tkt_enctypes = aes128-cts
permitted_enctypes = aes128-cts
clockskew = 300
[realms]
WCC.LOCAL = {
kdc = dc1.wcc.local
admin_server = dc1.wcc.local
default_domain = wcc.local
}
[domain_realm]
.wcc.local = WCC.LOCAL
wcc.local = WCC.LOCAL
Проверить правильность конфигов можно командой kinit. Ей вывод должен быть пустой:
kinit -k -t /opt/oracle/middleware/user_projects/domains/budwf_domain/budwf.keytab HTTP/srv_budwf@WCC.LOCALВ качестве второго аргумента нужно указать principal из keytab-а. Его можно посмотреть командой:
klist -k -t /opt/oracle/middleware/user_projects/domains/budwf_domain/budwf.keytab
Keytab name: FILE:/opt/oracle/middleware/user_projects/domains/budwf_domain/budwf.keytab
KVNO Timestamp Principal
---- ----------------- --------------------------------------------------------
0 01/01/70 03:00:00 HTTP/srv_budwf@WCC.LOCAL
Настройка Weblogic для SSO.
1.Конфигурационный файл JAAS. В качестве principal указывается principal кейтаба.В качестве keyTab - путь к кейтабу относительно корня домена.
/opt/oracle/middleware/user_projects/domains/budwf_domain $ cat krb5Login.conf
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
principal="HTTP/srv_budwf@WCC.LOCAL"
useKeyTab=true
keyTab=budwf.keytab
storeKey=true
debug=false;
};
com.sun.security.jgss.krb5.accept {
com.sun.security.auth.module.Krb5LoginModule required
principal="HTTP/srv_budwf@WCC.LOCAL"
useKeyTab=true
keyTab=budwf.keytab
storeKey=true
debug=false;
};
2.Ключи для запуска JVM weblogic-сервера. Их необходимо добавить в переменную JAVA_OPTIONS либо на странице ServerStart консоли. Путь для Djava.security.auth.login.config необходимо указывать либо относитьельно корня файловой системы, либо относительно корня домена.
-Dsun.security.krb5.debug=true
-Djava.security.krb5.realm=wcc.LOCAL
-Djava.security.krb5.kdc=dc1.wcc.local
-Djava.security.auth.login.config=/opt/oracle/middleware/user_projects/domains/budwf_domain/krb5Login.conf-Djavax.security.auth.useSubjectCredsOnly=false
3. Настройка AD-провайдера.
Настраивается как обычно.
4. Настройка WebLogic Negotiate Identity Assertion provider
Заключается в выборе имени для этого провайдера. Он должен стоять выше, чем AD-провайдера в списке.
Настройка браузера
В адресоной строке firefox набрать about:config.изменить значения