Otentikasi Kerberos, host layanan dan akses ke KDC

10

Saya memiliki aplikasi web (hostname: service.domain.com) dan saya ingin menggunakan otentikasi Kerberos untuk mengidentifikasi pengguna yang masuk ke domain Windows. Microsoft AD (Windows Server 2008 R2) menyediakan layanan Kerberos.

Layanan ini adalah aplikasi web Java menggunakan pustaka ekstensi Spring Security Kerberos untuk mengimplementasikan protokol SPNEGO / Kerberos. Saya telah membuat file keytab dalam AD yang berisi rahasia bersama yang seharusnya cukup untuk mengotentikasi tiket Kerberos yang dikirim oleh browser klien menggunakan aplikasi web.

Pertanyaan saya adalah, apakah host layanan (service.domain.com) harus memiliki akses firewall (TCP / UDP 88) ke KDC (kdc.domain.com) atau apakah file keytab cukup untuk host layanan untuk dapat mendekripsi Tiket Kerberos dan memberikan otentikasi?

StrangeLoop
sumber
Layanan ini tidak memerlukan akses ke KDC dalam pengaturan Anda. Klien benar-benar melakukannya.
jouell

Jawaban:

11

The layanan tidak pernah perlu bicara ke KDC . Dibutuhkan keytab yang dibuat oleh KDC , tetapi Anda dapat menyalinnya sesuka Anda. Mereka tidak pernah harus berbicara satu sama lain.

Versi yang terlalu disederhanakan dari apa yang saya yakini berjalan kurang lebih seperti ini:

Menyiapkan layanan

  • KDC menghasilkan keytab layanan (yang seperti kunci / kata sandi rahasia jika Anda suka)
  • ini keytab disediakan untuk layanan beberapa cara ( scpatau dilakukan pada USB stick jika Anda ingin)

Klien terhubung ke layanan

  • klien meminta tiket layanan dari KDC
  • KDC menghasilkan tiket layanan , yang berisi beberapa informasi yang hanya dapat didekripsi oleh tab keytab layanan (ini adalah file yang duduk di server Anda)
  • klien mengirimkan tiket layanannya ke layanan
  • yang layanan menggunakan nya keytab untuk memverifikasi tiket (tidak ada jaringan komunikasi yang diperlukan)
chutz
sumber
Terima kasih, ini adalah bagaimana saya memahaminya juga dari artikel Wikipedia Kerberos. Pertanyaan ini tampaknya memiliki jawaban yang kontradiktif: Otentikasi Kerberos untuk Webservers
StrangeLoop
Yah, saya tidak tahu apa yang terjadi pada jawaban lain itu, tetapi saya memiliki server SSH yang sangat jauh melakukan otentikasi berbasis Kerberos, dan tentu saja tidak memiliki akses ke KDC yang ada di LAN pribadi saya di rumah. Mungkinkah ada sesuatu yang aneh terjadi dengan server web? Mungkin, tapi saya sangat meragukannya.
chutz