2017-01-30 63 views
1

Я пытаюсь настроить kerberos iwa authetation с помощью spnego и tomcat.SPNEGO Kerberos windows authetication

Это первый раз, когда я делаю это и не видел реальной окружающей среды, поэтому полагаюсь на онлайн-документацию в основном на сайт spnego. Я получаю ниже ошибки:

GSSException: Failure unspecified at GSS-API level (Mechanism level: Invalid Argument (400) Cannot find key of appropriate type to decrypt AP REP - RC4 with HMAC)

Catalina log shows: 
Jan 30, 2017 10:12:37 AM net.sourceforge.spnego.SpnegoHttpFilter doFilter 
SEVERE: HTTP Authorization Header=Negotiate <edited - actual had a big key> 
Jan 30, 2017 10:41:24 AM org.apache.coyote.AbstractProtocol pause 
INFO: Pausing ProtocolHandler ["http-bio-8443"] 
Jan 30, 2017 10:41:24 AM org.apache.coyote.AbstractProtocol pause 

Прикрепление мой krb5 и login.conf.

krb5.conf login.conf

KLIST command gives 2 keys: 
CLIENT: B1GYZDM @ test.win.org 
Server: krbtgt/test.win.org @ test.win.org 
KerbTicket Encryption Type: RSADSI RC4-HMAC(NT) 

CLIENT: B1GYZDM @ test.win.org 
Server: krbtgt/test.win.org @ test.win.org 
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96 

Tomcat работает как локальный сервис. И keytab поддерживает 128 & 256 шифрование.

Не могли бы вы помочь мне решить проблему?

KRB5.conf: 
[libdefaults] 
default_tkt_enctypes = aes128-cts aes256-cts 
default_tgs_enctypes = aes128-cts aes256-cts 
permitted_enctypes = aes128-cts aes256-cts 

[realms] 
test.win.org = { 
    kdc = test.win.org 
    default_domain = test.win.org 
} 

[domain_realm] 
test.win.org = test.win.org 


login.conf: 
spnego-client { 
com.sun.security.auth.module.Krb5LoginModule required; 
}; 

spnego-server { 
com.sun.security.auth.module.Krb5LoginModule required 
storeKey=true 
useKeyTab=true 
keyTab="file:///E:/Apps/apache-tomcat-7.0.40/bin/test.keytab" 
isInitiator=false; 
}; 

custom-client { 
com.sun.security.auth.module.Krb5LoginModule required 
storeKey=true 
useKeyTab=true 
keyTab="file:///E:/Apps/apache-tomcat-7.0.40/bin/test.keytab" 
principal=B1ADPST000; 
}; 
+1

Пожалуйста, вставьте содержимое krb5.conf и login.conf непосредственно в вопрос. Не заставляйте нас переходить на другой сайт, чтобы загрузить их. Эти файлы достаточно короткие, где вы можете это сделать. Ну, определенно krb5.conf в любом случае, для login.conf вы можете показать соответствующий раздел SPNEGO или все это, если это не намного больше, чем krb5.conf. –

+0

Я обновил билет с содержимым файла – michael

+0

Используете ли вы Microsoft Active Directory для Kerberos? У вас все еще есть копия синтаксиса создания keytab, с которым вы создали keytab, и если да, можете ли вы также опубликовать его? –

ответ

0

Я думаю, вы получите сообщение об ошибке, когда вы получаете доступ к веб-приложение ..

Скорее всего Keytab файл не имеет соответствующий ввод ключа.

Вы должны использовать '/ crypto all' при создании файла keytab.

Вы можете запускать «klist» на стороне клиента, а не на стороне сервера и проверять билет обслуживания, полученный клиентом от KDC для службы (хост, на котором развертывается WebApp), а не «билет на выдачу билетов» (TGT)

+0

В соответствии с admin 'crypto al' нельзя использовать, так как это серьезная уязвимость системы безопасности в org. команда klish была запущена на стороне клиента, а 2 из представленных билетов я поставил их в этот вопрос. – michael

+0

Я был бы очень заинтересован в том, что «уязвимость безопасности» ... выход «klist» уже показывает «RSADSI RC4-HMAC (NT)» для TGT, так что в чем проблема? Если «небезопасные» шифры не должны использоваться, администратор AD должен настроить AD соответственно. Выход «klist» не отображает билет на обслуживание, только билеты на предоставление билетов, поэтому браузер не может отправить его в ваш сервис/приложение. –

+0

жаль, что я пропустил добавление еще одного билета, который также показан klist: КЛИЕНТ: B1GYZDM @ test.win.org Сервер: HTTP/br1twvfsg005.test.win.org @ test.win.org Тип шифрования KerbTicket: RSADSI RC4 -HMAC (NT) – michael

 Смежные вопросы

  • Нет связанных вопросов^_^