Internet Information Services üzerinde barındırılan Web uygulamalarına yapılandırdığınızda SPN'ler nasıl kullanılır
Orijinal İngilizce makaleyi görüntüleyin: 929650
Bu makale, hizmet asıl adları (SPN) açıklar. Bu makalede ayrıca Microsoft Internet Information Services (IIS) üzerinde barındırılan Web uygulamalarına yapılandırdığınızda SPN'ler kullanmayı açıklamaktadır. Bu makalede ayrıca Windows tümleşik kimlik doğrulaması anlaşma işleminde açıklanır. Kerberos kimlik doğrulamasını ve NTLM kimlik doğrulaması arasında anlaşma güvenlik üstbilgisi sağlar istemcileri seçin.
Ayrıca, bu makalede, Kerberos kimlik doğrulamasını etkinleştirmek bir SPN gerektiren genel senaryolar açıklanmaktadır. Son bölümde, Kerberos kimlik doğrulaması başarısız olabilir durumlar açıklanır. Son bölümde de sorun giderme adımları sunulmaktadır.
Önemli Bu makalede ele alınan konular, Internet Information Services (IIS) 6.0 için geçerlidir. Çekirdek modu kimlik doğrulaması useKernelMode yapılandırma ayarı falseolarak ayarlayarak devre dışı bırakılmışsa konular IIS 7.0 ve 7.5 için de geçerlidir.
Bu adım adım makalede, IIS üzerinde barındırılan Web uygulamalarına yapılandırdığınızda, hizmet asıl adları (SPN) kullanmayı açıklamaktadır. IIS, istemci isteklerinin kimliğini doğrulamak için tümleşik Windows kimlik doğrulaması kullanıldığında, Negotiate Güvenlik üstbilgisi geçirir. Kerberos kimlik doğrulamasını ve NTLM kimlik doğrulaması arasında anlaşma güvenlik üstbilgisi sağlar istemcileri seçin. Aşağıdaki koşullardan biri doğruysa sürece anlaşma işlemi Kerberos kimlik doğrulamasını seçer:
Kimlik doğrulamasını dahil sistemlerinden birini Kerberos kimlik doğrulaması kullanamazsınız.
Çağıran uygulama, Kerberos kimlik doğrulamasını kullanmak için yeterli bilgi sağlamaz.
Ağ kimlik doğrulaması için Kerberos iletişim kuralı seçmek anlaşma işlemini etkinleştirmek için istemci uygulaması bir SPN, kullanıcı asıl adı (UPN) veya NetBIOS hesap adı hedef adı sağlamanız gerekir. İstemci uygulaması hedef adı sağlamazsa, anlaşma işlemi Kerberos iletişim kuralını kullanamaz. Kerberos iletişim kuralı anlaşma işlemini kullanamıyorsanız, anlaşma işlemi NTLM iletişim kuralını seçer.
SPN, istemci bir hizmetinin bir örneğini benzersiz olarak tanıtan addır. Bir orman boyunca bilgisayarlarda bir hizmet birden çok örneğini yüklerseniz, her hizmet örneği kendi SPN olması gerekir. İstemcilerin kimlik doğrulaması için kullanabileceğiniz birden fazla ad varsa, belirli hizmet örneği birden çok SPN'ler olabilir. Örneğin, bir SPN her zaman hizmet örneği üzerinde çalıştığı ana bilgisayar adını içerir. Bu nedenle, hizmet örneği her adı veya diğer ana bilgisayar adı için bir SPN kaydettirin.
HTTP hizmet sınıfı
HTTP Protokolü HTTP hizmet sınıfı farklıdır. HTTP iletişim kuralı hem de HTTPS Protokolü HTTP hizmet sınıfını kullanın. Genel hizmet sınıfı tanımlayan dizeyi hizmet sınıfıdır. İyi bilinen hizmet sınıfı adları Web hizmeti için "www" ve "ldap" için bir dizin hizmeti içerir. Genellikle, hizmet sınıfı adı hizmet sınıfı için benzersiz olan herhangi bir dize olabilir. SPN sözdizimi öğeleri ayırmak için eğik çizgi (/) karakteri kullandığından emin olun. Bu nedenle, hizmet sınıf adında eğik çizgi (/) karakteri bulunamaz.
Sunucu hizmeti ve HTTP hizmet sınıfı
Ana bilgisayar hizmeti ana bilgisayarı gösterir. Ana bilgisayara erişmek için HOST SPN Kerberos protokolünü kullanır. Kerberos protokolü uzun vadeli anahtar ana bilgisayarda bir hizmet bileti oluşturmak için kullanır.
HTTP hizmet sınıfı HOST SPN için bir diğer ad olarak davranan yerleşik hizmetlerden biridir. HOST SPN ana bilgisayar hesabıyla eşlenir. Bu nedenle, varsayılan HTTP hizmet sınıfını kullandığınızda, Kerberos iletişim kuralının bir hizmet bileti istemek için hizmet hesabı olarak bilgisayar hesabını kullanır.
Bu bölümde, bir SPN gerektirebilir senaryolar açıklanmaktadır. Bu bölüm ayrıca, her senaryo için ayarlamak için hangi SPN belirlemek nasıl gösterir. Aşağıdaki terimler bu senaryolarda kullanılır:
IIS6server1 IIS çalıştıran bilgisayarın ana bilgisayar adı
etkialanım IIS6server1 bilgisayarın katıldığı etki alanı
appPool1 Uygulama havuzu kimliği için kullanılan etkialanım etki alanındaki kullanıcı hesabı
appPool2 İkinci uygulama havuzu kimliği için kullanılan etkialanım etki alanındaki kullanıcı hesabı
www.test.com Bir Web sitesi için ilk ana bilgisayar üstbilgisi
www.test2.com İkinci bir Web sitesinin ana üstbilgisi
www.test3.com Üçüncü bir Web sitesinin ana üstbilgisi
www.myIIScluster.com IIS çalıştıran bilgisayarlardan oluşan bir küme tam etki alanı adı
www.myEXCHcluster.com Microsoft Exchange üzerinde IIS çalıştıran bilgisayarlarda küme tam etki alanı adı
Setspn.exe aracını okumak, değiştirmek ve Active Directory hizmet hesabı için SPN dizin özelliği silmenize olanak sağlar. SPN, çalışan bir hizmet için bir hedef asıl adı bulmak için kullanılır. SetSpn.exe aracını, geçerli SPN görüntülemek, hesabın varsayılan SPN'ler, sıfırlamak ve eklemek veya Tamamlayıcı SPN silme sağlar.
Setspn.exe aracını edinmek için Microsoft Windows Server 2003 için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
970536 Setspn.exe destek aracı Windows Server 2003 güncelleştirmesi
Senaryo 1: uygulama havuzu kimliğini değiştirirken bir IIS uygulaması erişim
Bir IIS uygulaması yerine etki alanı kullanıcı hesabı altında varsayılan ağ hizmeti hesabı altında çalıştığında, SPN HTTP hizmeti etki alanı hesabı altında ayarlamanız gerekir. Bu senaryoda, IIS uygulaması IIS çalıştıran sunucunun NetBIOS adını veya IIS çalıştıran sunucuya FQDN'sini kullanarak erişebilirsiniz.
NETBIOS_NAME_OF_IIS_SERVER , IIS çalıştıran sunucu NetBIOS adı olduğu IIS uygulaması NetBIOS adını kullanarak erişmek için aşağıdaki komutu kullanın:
Setspn – S HTTP /NETBIOS_NAME_OF_IIS_SERVER etki alanı\kullanıcı adı
Örneğin, aşağıdaki komutu komut benzeyebilir:
IIS uygulama FQDN kullanarak erişmek için IIS çalıştıran sunucunun FQDN'si FQDN_OF_IIS_SERVER olduğu, aşağıdaki komutu kullanın:
Setspn – S HTTP /FQDN_OF_IIS_SERVER etki alanı\kullanıcı adı
Senaryo 2: bir ana bilgisayar üstbilgisi'ni kullanarak bir Web uygulaması erişim
Bir ana bilgisayar üstbilgisi'ni kullanarak bir Web uygulaması eriştiğinizde, HTTP hizmeti için bir SPN ayarlamanız gerekir.
Varsayılan ağ hizmeti hesabı, yerel hizmet hesabı veya yerel sistem hesabı gibi bir hesap altında Web uygulamasını çalıştırdığınızda, aşağıdaki komutu kullanabilirsiniz:
Setspn – bir HTTP /HOST_HEADER NETBIOS_NAME_OF_IIS_SERVER
Bu komutta, uygulamaya erişmek için bir tarayıcı penceresine yazın ve IIS çalıştıran sunucu NetBIOS adı NETBIOS_NAME_OF_IIS_SERVER olan ana bilgisayar üstbilgisi HOST_HEADER olur.
Örneğin, aşağıdaki komutu komut için uygulama benzeyebilir:
Setspn – bir HTTP/www.test.com iis6server1
Uygulama etki alanı hesabı altında çalıştırırsanız, aşağıdaki komutu kullanabilirsiniz:
Setspn – bir HTTP /HOSTHEADER_OR_DNS_ALIAS etki alanı\kullanıcı adı
Bu komutta, ana bilgisayar üstbilgisi veya Web uygulamasına erişmek için kullandıkları DNS diğer adı HOSTHEADER_OR_DNS_ALIAS olur.
Örneğin, uygulama için komut aşağıdaki komutlardan birini benzeyebilir:
Setspn – bir HTTP/www.test.com mydomain\appPool1
Setspn – bir HTTP/www.test3.com mydomain\appPool2
Senaryo 3: IIS uygulama kümelenmiş veya yükü dengelenmiş bir ortamda erişim
IIS yükü dengelenmiş bir ortamda veya kümelenmiş bir ortamda çalıştırdığınızda, uygulamalar bir düğüm adı yerine küme adını kullanarak erişin. Bu senaryo, Ağ Yükü Dengeleme işlevini içerir. Küme teknolojisinde bir düğüm kümesinin bir üyesi olan bir bilgisayar anlamına gelir. Kerberos kimlik doğrulama protokolü Bu senaryoda kullanmak için uygulama havuzu kimliğini IIS her düğümünde aynı etki alanı kullanıcı hesabı kullanmak üzere yapılandırılması gerekir. Her IIS düğüm aynı etki alanı kullanıcı hesabı kullanmak üzere yapılandırmak için aşağıdaki komutu kullanın:
Setspn – bir HTTP /küme_adı etkialanı\kullanıcıadı
Örneğin, komut aşağıdaki komutlardan birini benzeyebilir:
Setspn – bir HTTP/www.myIISCluster.com mydomain\appPool1
Setspn – bir HTTP/www.myEXCHCluster.com mydomain\appPool2
Senaryo 4: Kullan SQL Server bir uygulamaya erişmek için
SPN'ler arka uç sunucusunda IIS Web uygulama SQL Server çalıştıran bir arka uç bilgisayarda erişmesi durumunda doğrulanması gerekebilir. Gerekli SPN'ler yanlış yapılandırılmışsa, Web uygulama düzgün çalışmayabilir.
MSSQLSvc local system hesabı altında çalışan SQL Server çalıştıran bir arka uç bilgisayarda /FQDN_OF_SQL_SERVER:port bağlantı noktası numarası için bilgisayar adı kullanılabilir değilse. SQL Server çalıştıran bilgisayar için SPN'ler belirlemek için aşağıdaki komutu kullanın:
Setspn – M SQL_SERVER_COMPUTER_NAME
SQL Server çalıştıran bilgisayarın adı için bir SPN ayarlamak için aşağıdaki komutu kullanın:
Setspn-A MSSQLSvc /FQDN_OF_SQLSERVER:port SQLSERVER_COMPUTER_NAME
SQL Server çalıştıran bir arka uç bilgisayarda çalışan bir etki alanı hesabı altında MSSQLSvc /FQDN_OF_SQL_SERVER:port bağlantı noktası numarası etki alanı hesabı için kullanılabilir olması durumunda. Etki alanı hesabı için SPN belirlemek için aşağıdaki komutu kullanın:
Setspn-L etki alanı\kullanıcı adı
SQL Server çalıştıran bilgisayarın adı için bir SPN ayarlamak için aşağıdaki komutlardan birini kullanın:
Setspn-A MSSQLSvc /FQDN_OF_SQLSERVER:portFQDN_OF_SQLSERVER
Setspn-A MSSQLSvc /FQDN_OF_SQLSERVER:portetki alanı\kullanıcı adı
SPN yardımcı komut dosyası
Aşağıdaki örnek komut dosyası, IIS uygulama için SPN'ler bulmak için kullanabilirsiniz. Bu komut dosyası, Yinelenen SPN'leri bulmak için de kullanabilirsiniz. Bu komut dosyasını kullanmak için şu adımları izleyin:
Aşağıdaki komut dosyası Not defteri dosyasına yapıştırın:
Dosyayı Spnhelper.vbs kaydedin.
Komut isteminde, uygun komut satırı seçeneğini kullanarak Spnhelper.vbs dosyasını çalıştırın.
Not: Spnhelper.vbs dosya için komut satırı seçeneklerini görüntülemek için komut istemine Spnhelper.vbs/help yazın ve ENTER tuşuna basın.
Gerekli SPN'nin etki alanı hesapları veya bilgisayar hesapları için ayarladığınızda, Kerberos kimlik doğrulaması başarısız olabilir. Kerberos kimlik doğrulaması beklenmedik biçimde başarısız olursa, aşağıdakileri yapın:
Hiçbir Yinelenen SPN'leri için bir SPN genel katalogda bulunduğunu doğrulayın.
Örneğin, myDomain\appPool2 hesap ve myDomain\appPool1 hesabı için SPN HTTP/www.test.com ayarlı ise, yinelenen bir SPN SPN'lerin farklı hesapları için ayarlanmış olsa da bulunmaktadır. Ayrıca, HTTP/iis6server1.mydomain.com SPN myDomain\appPool1 hesabı için ayarlanır ve HTTP/iis6server1.mydomain.com SPN de sunucu için bilgisayar hesabı ile ilişkili ise, aynı zamanda yinelenen bir SPN elinizde. Bir HOST SPN ve bir HTTP SPN olabilir. ANA giriş altında tartıılmıtır örtülü bir açık HTTP SPN geçersiz kılar. Ancak, kullanıcının yazdığı veya birden fazla bilgisayar hesabı birden fazla kullanıcı hesabı ile ilişkili olduğunu URL, varsa yinelenen bir SPN.
SPN'ler diğer etki alanı denetleyicilerine çoğaltıldığını doğrulayın.
Etki alanı denetleyicileri arasında çoğaltma sorunlarını SPN'ler, diğer etki alanı denetleyicilerine çoğaltılmasını engelleyebilirsiniz. SPN'ler diğer etki alanı denetleyicilerine çoğaltmak değil, bazı istemci bilgisayarlardan uygulama çalışmayabilir. SPN HTTP/www.test.com myDomain\appPool1 hesabı bir etki alanı denetleyicisi için ayarlanmışsa, SPN ikinci etki alanı denetleyicisine kopyalanmamış olabilir, örneğin, HTTP/www.test.com SPN myDomain\appPool1 ikinci bir etki alanı denetleyicisinde hesap için bulunamayabilir.
Not: Varsayılan olarak, çoğaltma 15 dakika sürer.
Kerberos kimlik doğrulamasını desteklemek için Web sunucusunun yapılandırılmış olduğunu doğrulayın. Bunu yapmak için IIS metatabanındaki NTAuthenticationProviders anahtar ayarı NTLMolarak değiştirilmedi doğrulayın. Negotiate, NTLMvarsayılan ayarı olur.
Sunucu veya kimlik bilgileri yetki aktarımına hizmet temsilci seçme için güvenilir olduğundan emin olun.
Hizmetin altında çalıştığı hesap, temsilci seçme için güvenilir olduğundan emin olun.
Active Directory'de uygulama erişen kullanıcılar için Hesap duyarlıdır ve devredilemez onay kutusunun işaretlenmemiş olduğunu doğrulayın.
Uygulama doğrudan sunucudan erişiyorsanız, Geridöngü güvenlik denetimi onay kutusunun temizlenmiş olduğunu doğrulayın. Geri döngü denetimini devre dışı olduğunu doğrulama hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
İstemcinin Kerberos etkinleştirilmiş bir istemci olduğundan emin olun. Ayrıca, Internet Explorer'ın Windows tümleşik kimlik doğrulamasını etkinleştir ayarı etkinleştirilmiş olduğunu doğrulayın. Bunu yapmak için Araçlar menüsünden Internet Seçenekleri ' ni tıklatın, Gelişmiş sekmesini tıklatın ve ardından Windows tümleşik kimlik doğrulamasını etkinleştir onay kutusunun seçili olduğundan emin olun.
Kerberos işleminin bir parçası olan tüm bilgisayarları tutarlı adı çözünürlüğe sahiptir ve Kerberos güveniyle bağlanan doğrulayın. Örneğin, Kerberos işlemine dahil olan bilgisayarlar aynı ormanda veya ormanlar arası Kerberos güvenini parçası olan doğrulayın.
Simge boyutu için MaxTokenSize özelliğinin değeri aşmadığını doğrulayın. Ayrıca, istek boyutu MaxFieldLength özelliği için ayarlanan değerleri aşmadığını doğrulayın. Birçok Grup üyeleri Kerberos işleminin bir parçası olan kullanıcılar ise bu değerlerin aşılmış olabilir.
920862 bir Outlook Web Access kullanıcısının Exchange Server 2003'te bir posta kutusuna erişmeye çalıştığında hata iletisi: "HTTP 400 Hatalı istek (istek başlığı çok uzun)"
Gerekli güvenlik ilkeleri, etki alanı hesapları için uygulama havuzlarını yapılandırırken etkinleştirildiğini doğrulayın. Bunu yapmak için etki alanı hesabının IIS çalıştıran bilgisayarda aşağıdaki yerel güvenlik ilkeleri bir üyesi olduğunu doğrulayın:
Bir işlem için bellek kotalarını ayarlama
Hizmet olarak oturum açma
Bir işlem düzeyinde simge değiştirme
Kerberos kimlik doğrulaması UDP üzerinden düzgün çalıştığını doğrulayın. Varsayılan olarak, UDP Kerberos kimlik doğrulamasını kullanır. Ancak, UDP paketlerinin kaybı Kerberos kimlik doğrulamasının başarısız olmasına neden olabilir. Bu sorun oluştuğunda, Kerberos kimlik doğrulaması, TCP kullanmaya zorlayabilirsiniz. Kerberos kimlik doğrulaması, TCP kullanmaya zorlama hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
Kerberos, Windows Server 2003, Windows XP ve Windows 2000 UDP yerine TCP kullanmaya zorlamak 244474 nasıl
Zaman damgası doğrulayıcı tarafından beş dakikadan fazla zaman damgası sunucusunun gelen farklı değildir olduğunu doğrulayın. Zaman damgası farklılıkları gidermek hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
Saat ve tarih eşitlenmemişse 232386 oturum açamıyor
TCP/UDP bağlantı noktası 88 bir güvenlik duvarı veya yönlendirici tarafından engellenmeyen doğrulayın. Varsayılan olarak, TCP/UDP bağlantı noktası 88 Kerberos kimlik doğrulamasını kullanır.
En azından Microsoft Windows 2000 yerel mod ortamında etki alanı modunda ortam olduğunu doğrulayın. Etki alanı modunu belirleme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
İstemcide, Web uygulaması için URL yerel intranet sitelerine eklendiğini doğrulayın. Yerel intranette bir URL ekleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
303650 bir FQDN veya IP adresi kullandığınızda Intranet sitesi bir Internet sitesi olarak tanımlanıyor
Her gigabit ethernet aygıt sürücüsünün en son sürümünü kullandığından emin olun. Gigabit Ethernet aygıtlarını geçmiştir sürücüleri Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın oluşabilecek sorunlar hakkında daha fazla bilgi için:
326152 etki alanı denetleyicisine bağlanılamıyor ve Gigabit Ethernet aygıtlarıyla Grup İlkesi uygulanamıyor
Yük dengelemeli Web siteleriyle Kerberos kimlik doğrulaması kullanma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Proxy sunucularıyla Kerberos kimlik doğrulamasını kullandığınızda oluşabilecek sorunlar hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
321728 Internet Explorer proxy sunucularda Kerberos kimlik doğrulamasını desteklemez.
Ağ kimlik doğrulaması için Kerberos iletişim kuralı hem de NTLM iletişim kuralını destekleyecek şekilde IIS yapılandırma hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
215383 ağ kimlik doğrulaması için Kerberos iletişim kuralı hem de NTLM iletişim kuralını desteklemek üzere IIS'yi yapılandırmak nasıl
Windows SharePoint Services sanal sunucusunu Kerberos kimlik doğrulaması ve Kerberos kimlik doğrulamasından NTLM kimlik geçiş yapma kullanmak için nasıl yapılandırılacağı hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
832769 nasıl bir Windows SharePoint Services sanal sunucusunu Kerberos kimlik doğrulaması kullanacak şekilde yapılandırılır ve Kerberos kimlik doğrulamasından NTLM kimlik doğrulaması geçiş yapma
Windows Server 2003 veya Windows XP'deki standart olmayan bir bağlantı noktası kullanan bir Web sunucusuna bağlanmak için Kerberos kimlik doğrulama protokolünü kullandığınızda oluşabilecek sorunlar hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
908209 , Windows Server 2003 veya Windows XP'deki standart olmayan bir bağlantı noktası kullanan bir Web sunucusuna bağlanmak için Kerberos kimlik doğrulama protokolünün Internet Explorer 6 kullanamazsınız
Makale No: 929650 - Son İnceleme: 24 Şub 2017 - Düzeltme: 1