Adakah yang bisa menjelaskan Nama Prinsip Layanan Windows (SPN) tanpa menyederhanakan terlalu banyak?

28

Saya telah bergumul dengan nama-nama prinsip layanan beberapa kali sekarang dan penjelasan Microsoft tidak cukup. Saya mengonfigurasi aplikasi IIS agar berfungsi di domain kami dan sepertinya beberapa masalah saya terkait dengan kebutuhan saya untuk mengonfigurasi http SPN spesifik pada akun layanan windows yang menjalankan kumpulan aplikasi yang meng-hosting situs saya.

Semua ini telah membuat saya sadar bahwa saya tidak sepenuhnya mendapatkan hubungan antara jenis layanan (MSSQL, http, host, termrv, wsman, dll.), Otentikasi Kerberos, akun komputer direktori aktif (PCName $), akun layanan windows, SPNs , dan akun pengguna yang saya gunakan untuk mencoba dan mengakses layanan.

Adakah yang bisa menjelaskan Nama Prinsip Layanan Windows (SPN) tanpa menyederhanakan penjelasan?

Poin bonus untuk analogi kreatif yang akan beresonansi dengan administrator / pengembang sistem yang cukup berpengalaman.

Chris Magnuson
sumber
4
Silakan lihat apakah Bill Bryant, "Merancang Sistem Otentikasi: Dialog dalam Empat Layar" memenuhi permintaan Anda akan analogi kreatif.
tahun

Jawaban:

33

Sebuah Nama Layanan Principal adalah konsep dari Kerberos. Ini adalah pengidentifikasi untuk layanan tertentu yang ditawarkan oleh host tertentu dalam domain otentikasi. Bentuk umum untuk SPN adalah service class/ fqdn@ REALM(misalnya IMAP/[email protected]). Ada juga Nama Pokok Pengguna yang mengidentifikasi pengguna, dalam bentuk user@ REALM(atau user1/ user2@ REALM, yang mengidentifikasi hubungan berbicara-untuk ). Secara service classlonggar dapat dianggap sebagai protokol untuk layanan ini. Daftar kelas layanan yang terintegrasi ke Windows tercantum dalam artikel ini dari Microsoft .

Setiap SPN harus terdaftar di REALM's Distribusi Key Pusat (KDC) dan mengeluarkan kunci layanan . The setspn.exeutilitas yang tersedia dalam \Support\Toolsfolder pada Windows media instalasi atau sebagai download Resource Kit, memanipulasi tugas dari SPNs ke komputer atau rekening lainnya di AD.

Ketika pengguna mengakses layanan yang menggunakan Kerberos untuk otentikasi (layanan "Kerberized"), mereka menyajikan tiket terenkripsi yang diperoleh dari KDC (dalam lingkungan Windows, Active Directory Domain Controller). Tiket dienkripsi dengan kunci layanan . Dengan mendekripsi tiket layanan membuktikan bahwa ia memiliki kunci untuk SPN yang diberikan. Layanan yang berjalan di host Windows menggunakan kunci yang terkait dengan akun komputer AD, tetapi agar sesuai dengan protokol Kerberos, SPN harus ditambahkan ke Direktori Aktif untuk setiap layanan kerber yang berjalan di host - kecuali SPN built-in yang disebutkan di atas. Dalam Active Directory, SPN disimpan dalam servicePrincipalNameatribut objek komputer host.

Untuk informasi lebih lanjut, lihat: artikel Microsoft TechNet tentang SPN , FAQ Kerberos Ken Hornstein

yrk
sumber
4
+1 - Anda mengalahkan saya untuk menulis ini dan melakukan pekerjaan yang hebat pada Anda sehingga saya memilih untuk mengedit jawaban Anda untuk menambahkan beberapa detail daripada menulis sendiri.
Evan Anderson
@yarek dua tautan terakhir terputus pada 29 Jan 2019
Andrew Watson
10

jawaban yarek luar biasa, dan saya meningkatkannya, tetapi saya juga ingin memberi Anda sedikit lebih banyak informasi spesifik Windows tentang topik tersebut, atau lebih tepatnya datang dari perspektif seseorang yang lebih akrab dengan AD daripada hanya Kerberos pada umumnya, hanya karena ini adalah topik yang sangat menarik minat saya.

Saya merasa orang ini melakukan pekerjaan yang sangat baik untuk menjelaskannya, dan saya sarankan Anda membaca artikelnya, tetapi di sini ada paragraf yang sangat ringkas tepat menuju pertanyaan Anda:

"Nama Pokok Layanan menentukan layanan apa yang berjalan di bawah konteks keamanan akun. Misalnya beberapa layanan yang mungkin dimiliki komputer adalah File server / CIFS (Common Internet File System), jika itu adalah pengontrol domain, ia akan memiliki LDAP SPN, dan Replikasi Direktori Aktif SPN, dan FRS SPN. Nama Pokok Layanan dapat didefinisikan pada akun pengguna ketika Layanan atau aplikasi berjalan di bawah konteks Keamanan pengguna. Biasanya jenis akun pengguna ini dikenal sebagai "Akun Layanan". sangat penting bahwa Anda memahami bahwa Nama Pokok Layanan HARUS unik di seluruh hutan Direktori Aktif. "

Seluruh artikel ada di sini: http://blogs.technet.com/b/askds/archive/2008/03/06/kerberos-for-the-busy-admin.aspx

Ryan Ries
sumber