ASP.NET Kısmi Güven uygulama yalıtımını garanti etmiyor

Makale çevirileri Makale çevirileri
Makale numarası: 2698981 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

GİRİŞ

ASP.NET, yöneticilerin uygulamaları orta güven gibi kısmi güven modlarında barındırmasına olanak verir. Ayrıca, özel kısmi güven düzeylerinin özel ilke dosyaları aracılığıyla yapılandırılmasına imkan tanır. ASP.NET 2.0'da orta güveni kullanma hakkında daha fazla bilgi için, aşağıdaki Microsoft Developer Network (MSDN) web sayfasına gidin:
Nasıl Yapılır? ASP.NET 2.0'da Orta Güveni Kullanma
ASP.NET kısmi güveni, farklı güven düzeylerine sahip birden çok uygulamanın aynı web sunucusunda barındırıldığı paylaşılan bir barındırma ortamında uygulama yalıtımını zorlamaya yönelik bir düzenek olarak açıklamıştık. ASP.NET sayfası çerçeve uygulamasını kısmi güvende çalıştırmanın aynı işlemde veya aynı bilgisayarda çalıştırılan diğer uygulamalardan tam yalıtımı garanti etmediğini göstermek için, bununla ilgili kılavuzumuzu güncelleştiriyoruz.

ASP.NET sayfası çerçeve uygulamalarını, (uygulama havuzlarını tek tek kullanarak) düşük ayrıcalıklı ayrı işlemlerde çalıştırılacak şekilde yapılandırmak, aynı web sunucusundaki diğer ASP.NET sayfası çerçeve uygulamalarına yönelik yalıtımdan emin olmak için önerilen yordamdır. Aşağıdaki bölümde, uygulamaları yalıtım için yapılandırma hakkında ayrıntılar sağlanır. Bu makalede özetlenen ilkedeki değişikliği göstermek için diğer belgelerimizi güncelleştiriyoruz. 

Daha fazla bilgi

Sunucu yöneticileri, uygulamaların paylaşılan barındırma ortamlarında yalıtıldığından emin olmak için bu makaledeki yönergeleri uygulamalıdır. Bu yönergeler Windows Server 2003 SP2 ve sonraki sürümlerde ASP.NET'i barındırma için geçerlidir. Yönergeler Internet Information Services (IIS) 6.0 ila 7.5 sürümlerini kapsar.

Burada özetlenen görevlerin çoğu, IIS 7 ve 7.5'teki AppCmd.exe IIS komut satırı aracı ve IIS 6.0'daki IIS yönetim komut dosyaları kullanılarak otomatikleştirilebilir.

Uygulamalar ayrı IIS sitelerine nasıl koyulur?

Paylaşılan bir barındırma ortamında, uygulamalar ayrı IIS sitelerine koyulmalıdır. Yapılandırma, ayrı sitelerde barındırıldıklarında uygulamalar arasında daha iyi yalıtılır. Ek olarak, .NET Framework CLR barındırması ayrıdır. Böylece bu düzeyde ek yalıtım sağlanır.

Her bir uygulamayı farklı bir siteye koymak için şu adımları uygulayın:

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Internet Information Services (IIS) Yöneticisi'ni açın.
  2. Sol taraftaki bölmede geçerli sunucu düğümünü genişletin.
  3. Web Siteleri düğümünü sağ tıklatın, Yeni'yi tıklatın ve Web Sitesi'ni tıklatın.
  4. İleri'yi tıklatın.
  5. Yeni web sitesi için benzersiz bir ad girin ve İleri'yi tıklatın.
  6. Barındırma ortamı için site bağlamalarını yapılandırın.
  7. Uygulama dosyalarının depolandığı klasörün fiziksel yolunu girin.
  8. Komut dosyalarını (örn. ASP) çalıştır onay kutusunu seçmek için tıklatın ve İleri'yi tıklatın.
  9. Son'u tıklatın. Yeni site Web Siteleri düğümü altında görünür.

Internet Information Services 7 (Windows Vista SP2 ve Windows Server 2008 SP1) ve Internet Information Services 7.5 (Windows 7 ve Windows Server 2008 R2)

  1. Internet Information Services (IIS) Yöneticisi'ni açın.
  2. Bağlantılar bölmesinde geçerli sunucu düğümünü genişletin.
  3. Siteler düğümünü seçin ve Eylemler bölmesinde Web Sitesi Ekle bağlantısını tıklatın.
  4. Web Sitesi Ekle iletişim kutusunda, yeni web sitesi için benzersiz bir ad girin ve uygulama dosyalarının depolandığı klasörün fiziksel yolunu girin. Varsayılan olarak, site ile aynı ada sahip yeni bir uygulama havuzu oluşturulur ve site bu uygulama havuzunu kullanacak şekilde yapılandırılır. (Bu, önerilen yapılandırmadır.)
  5. Barındırma ortamı için site bağlamalarını yapılandırın.
  6. Burada özetlenen yalıtım yönergeleri tamamlanana kadar sitenin kullanılamayacağından emin olmak üzere Web sitesini hemen başlat onay kutusunu temizlemek için tıklatın.
  7. Tamam'ı tıklatın. Yapılandırılan site, Bağlantılar bölmesindeki Siteler düğümü altında görünür.

Siteler ayrı uygulama havuzlarına nasıl koyulur?

Paylaşılan bir barındırma ortamında, uygulamalar ayrı uygulama havuzlarına koyulmalıdır. Bu, uygulamaların ayrı işletim sistemi işlemlerinde benzersiz kimliklerle yalıtılmasına imkan tanır. Böylece, bir siteden diğerine yalıtım düzeyi sağlanır. (Aşağıdaki bölümde, uygulama havuzu kimliklerinin yalıtım için nasıl yapılandırılacağı açıklanır.)

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Internet Information Services (IIS) Yöneticisi'ni açın.
  2. Sol taraftaki bölmede geçerli sunucu düğümünü genişletin.
  3. Uygulama Havuzları'nı sağ tıklatın, Yeni'yi tıklatın ve ardından Uygulama Havuzu'nu tıklatın.
  4. Yeni uygulama havuzu için benzersiz bir ad girin ve Tamam'ı tıklatın.
  5. Web Siteleri düğümünü genişletin.
  6. Hedef web sitesini sağ tıklatın ve Özellikler'i tıklatın.
  7. Giriş Dizini sekmesini tıklatın.
  8. İletişim kutusunun en altındaki Uygulama havuzu alanında yeni uygulama havuzunu seçin.
  9. Tamam'ı tıklatın.

Internet Information Services 7 (Windows Vista SP2 ve Windows Server 2008 SP1) ve Internet Information Services 7.5 (Windows 7 ve Windows Server 2008 R2)

"Uygulamalar ayrı IIS sitelerine nasıl koyulur?" bölümündeki adımları uyguladıktan sonra, yeni site otomatik olarak yeni bir ayrı uygulama havuzuna koyulur. Ancak, varolan bir siteyi yeni bir ayrı uygulama havuzunu kullanacak şekilde yapılandırmanız gerekiyorsa, şu adımları uygulayın: 
  1. Internet Information Services (IIS) Yöneticisi'ni açın.
  2. Bağlantılar bölmesinde geçerli sunucu düğümünü genişletin.
  3. Uygulama Havuzları düğümünü seçin.
  4. Eylemler bölmesinde Uygulama Havuzu Ekle bağlantısını tıklatın.
  5. Yeni uygulama havuzu için benzersiz bir ad girin ve ardından hedef .NET Framework sürümünü ve ardışık düzen modunu seçin.
  6. Tamam'ı tıklatın. Yeni uygulama havuzu listede görüntülenir.
  7. Bağlantılar bölmesinde Siteler düğümünü genişletin.
  8. Bu yordamda önceden oluşturduğunuz uygulama havuzuna taşımak istediğiniz siteyi seçin.
  9. Eylemler bölmesinde Temel Ayarlar bağlantısını tıklatın.
  10. Siteyi Düzenle iletişim kutusunda Seç'i tıklatın.
  11. Uygulama havuzu listesinde önceden oluşturduğunuz uygulama havuzunu seçin.
  12. Tamam'ı tıklatın.
Siteyi Düzenle iletişim kutusunda Tamam'ı tıklatın.

Uygulama havuzları yalıtım için nasıl yapılandırılır? (işlem kimliği)

Uygulama havuzları, uygulamaları ve siteleri Windows işleminde (veya işlemlerinde) barındırır. İşlemin altında çalıştırıldığı kimlik yapılandırılabilir. Paylaşılan bir barındırma ortamında, her bir uygulama için ayrı kimlik bulunmalıdır. Bu, her bir uygulamanın benzersiz bir hesabın bağlamında çalıştırıldığını doğrular. Böylece, temeldeki işletim sisteminin isteğe bağlı erişim denetim listeleri (DACL) ve yerleşik işlem yalıtımı özellikleri kullanılarak doğru yalıtım sağlanır. Kullanıcı hesabı oluşturmak ve bu hesabı kullanmak için bir uygulama havuzu atamak için şu adımları uygulayın.

Internet Information Services 6.0 (Windows Server 2003 SP2)

Uygulama havuzu kimliği olarak kullanmak üzere yerel kullanıcı hesabı oluşturun
  1. Internet Information Services (IIS) Yöneticisi'ni açın.
  2. Sol taraftaki bölmede Yerel Kullanıcılar ve Gruplar'ı genişletin.
  3. Kullanıcılar düğümünü sağ tıklatın ve Yeni Kullanıcı'yı tıklatın.
  4. Yeni kullanıcı hesabı için benzersiz bir ad ve güçlü bir parola girin.
  5. Kullanıcı bir sonraki oturum açışında parolayı değiştirmeli onay kutusunu tıklatarak temizleyin.
  6. Kullanıcı parolayı değiştiremez onay kutusunu seçmek için tıklatın.
  7. Oluştur'u ve sonra da Kapat'ı tıklatın.
  8. Sol taraftaki bölmede Kullanıcılar düğümünü seçin. Yeni hesap listede görünür.
Uygulama havuzunu yeni yerel kullanıcı hesabını kullanacak şekilde yapılandırın
  1. Internet Information Services (IIS) Yöneticisi'ni açın.
  2. Sol taraftaki bölmede geçerli sunucu düğümünü genişletin.
  3. Uygulama Havuzları düğümünü genişletin.
  4. Hedef uygulama havuzunu sağ tıklatın ve Özellikler'i tıklatın.
  5. Kimlik sekmesini tıklatın.
  6. Yapılandırılabilir seçenek düğmesini seçin.
  7. Yeni hesabın kullanıcı adını ve parolasını girin.
  8. Tamam'ı tıklatın.
  9. Parolayı Parolayı Onayla iletişim kutusuna yeniden girin ve Tamam'ı tıklatın.

Internet Information Services 7 ve 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ve Windows Server 2008 R2)

  1. Internet Information Services (IIS) Yöneticisi'ni açın.
  2. Bağlantılar bölmesinde geçerli sunucu düğümünü genişletin.
  3. Uygulama Havuzları düğümünü seçin.
  4. Hedef uygulama havuzunu seçin.
  5. Eylemler bölmesinde Gelişmiş Ayarlar bağlantısını tıklatın.
  6. İşlem Modeli bölümünde, Kimlik özelliğini ApplicationPoolIdentity olarak ayarlayın. Bu ayar, bu uygulama havuzu için otomatik olarak benzersiz bir kimlik oluşturur. Aşağıdaki bölümlerde, uygulamanın erişmesi gereken dosya konumlarında isteğe bağlı erişim denetim listeleri (DACL) ayarlamak için bu benzersiz kimliği kullanabilirsiniz.
  7. Tamam'ı tıklatın.

Uygulama içeriği konumlarında DACL'ler nasıl yapılandırılır?

İsteğe bağlı erişim denetim listesi (DACL), bir nesneyle ilişkilendirilmiş ve nesneye erişimi denetlemek için kullanılabilen izinlerin listesidir. Uygulama içeriğine erişimi kısıtlamak için DACL'leri kullanmak, aynı web sunucusunda barındırılan siteler arasındaki yalıtımı güçlendirmeye yardımcı olur. ACL'ler ve IIS kimlikleri hakkında daha fazla bilgi için, bkz. Dosya Sistemi ACL'leri Aracılığıyla IIS'de Güvenli İçerik

Tüm IIS sürümleri

  1. Komut isteminde veya Windows Gezgini'nde site içeriğine yönelik kök klasörü açın.
  2. Bu konuma yönetici olmayan erişime yönelik girdileri kaldırmak için aşağıdaki yöntemlerden birini kullanın. (Bu, Kullanıcılar grubunu içerir.)
    • Windows Gezgini'nde klasörü sağ tıklatın, Özellikler'i seçin, Güvenlik sekmesini tıklatın ve erişim denetim listesini değiştirin.
    • Komut isteminde, erişim denetim listesini değiştirmek için icacls.exe yardımcı programını (veya Windows işletim sisteminin önceki sürümlerinde cacls.exe'yi) kullanın.
  3. Site için seçtiğiniz işlem kimliğine yönelik yeni bir girdi ekleyin.
  4. Yeni kimliğe, klasör için Okuma ve Yürütme erişimi verin.
Uygulama için yazma izinleri gerektiren belirli klasörler (örneğin, "Karşıya Yüklemeler" klasörü) varsa, şu adımları uygulayın:

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Windows Gezgini'nde klasörü sağ tıklatın, Özellikler'i seçin, Güvenlik sekmesini tıklatın ve işlem kimliği için Değiştirme erişimi ekleyin.
  2. Statik içerik (resimler, metin dosyaları vb.) içeren klasörler için şu adımları uygulayın:
    1. Internet Information Services (IIS) Yöneticisi'ni açın.
    2. Sol taraftaki bölmede, uygun klasör adını sağ tıklatın ve Özellikler'i tıklatın.
    3. Dizin sekmesini tıklatın.
    4. Yürütme İzinleri listesinde Yok'u seçin.

Internet Information Services 7 ve 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ve Windows Server 2008 R2)

  1. Windows Gezgini'nde klasörü sağ tıklatın, Özellikler'i seçin, Güvenlik sekmesini tıklatın ve işlem kimliği için Değiştirme erişimi ekleyin.
  2. Statik içerik (resimler, metin dosyaları vb.) içeren klasörler için, accessPolicy ayarında Komut dosyası izni vermeyen konuma "web.config" dosya girdisini ekleyin:
    <system.webServer> <handlers accessPolicy="Read,Write" /> </system.webServer>

Geçici ASP.NET Dosyaları klasör konumunu yapılandırma ve site başına DACL'ler ayarlama

ASP.NET derlenmiş dosyalar gibi geçici verileri depolamak için sunucudaki bir konumu gerektirir. Bu, genellikle Geçici ASP.NET Dosyaları klasörüdür. Varsayılan olarak, bu klasör .NET Framework'ün yüklü olduğu klasörün altındadır. Her bir site için farklı bir geçici konum ayırmak ve klasörün güvenliğini bağımsız olarak sağlamak, aynı web sunucusunda barındırılan siteler arasındaki yalıtımı güçlendirmeye uygun şekilde yardımcı olur. Geçici ASP.NET Dosyaları klasörü hakkında daha fazla bilgi için, bkz. ASP.NET Dinamik Derlemesini Anlama

Her bir site için farklı bir Geçici ASP.NET Dosyaları klasörü konumu nasıl yapılandırılır?

  1. İlgili site için geçici ASP.NET dosyalarını depolamak üzere her bir siteye yönelik yeni bir klasör oluşturun. Geçici dosyaları depolamak için sistem dışı bir sürücü kullanmak en iyisidir.
  2. Sunucunun kök web.config veya applicationHost.config dosyasında, bir <location> öğesi kullanarak bu belirli siteye yönelik yeni klasörün konumunu işaret etmek için aşağıdakine benzer bir ayar belirleyin:
    <configuration> <location path="path"> <system.web> <compilation tempDirectory="temp-files-path" /> </system.web> </location> <!-- and so on --> </configuration>

Geçici ASP.NET Dosyaları klasörü konumunda uygun DACL'ler nasıl ayarlanır?

  1. Bu konuma yönetici olmayan erişime yönelik izinleri kaldırmak için, bir komut istemini veya Windows Gezgini'ni kullanın. (Bu, Kullanıcılar grubunu içerir.)
  2. Bu site için önceden seçtiğiniz işlem kimliğine yönelik yeni bir girdi ekleyin ve bu kimliğe klasör için Değiştirme erişimi verin.

Önemli yapılandırma verileri kök yapılandırma dosyalarından nasıl kaldırılır?

Uygulama web.config dosyaları, hizmet verilen uygulamaya yönelik içerik klasöründe bulunur. ASP.NET uygulama web.config dosyasına hizmet vermese de, pratikte, makine anahtarı ayarları ve bağlantı dizeleri gibi güvenlik açısından önemli bilgileri uygulama konumunun dışındaki bir yapılandırma dosyasına koymak en iyisidir. Bu, bilginin açığa çıkmasına karşı savunma sağlar.

Internet Information Services 6.0 (Windows Server 2003 SP2)

Güvenlik açısından önemli yapılandırma bilgilerini kök web.config dosyasına depolamak, farklı siteler arasındaki verileri yalıtmak için iyi bir tercih değildir; çünkü tüm siteler bu dosyaya yönelik okuma erişimine sahiptir. Bu nedenle IIS 6'da, önemli yapılandırmayı uygulama web.config dosyanızda depolamanız gerekir. Böylece, siteler önemli yapılandırmayı birbirinden yalıtabilir. Bu durumda uygulamanız, uygulama web.config dosyasına hizmet verilmesini önlemek ve önemli bilgilerin açığa çıkmadığından emin olmak için ASP.NET savunmalarını kullanır.

Internet Information Services 7 ve 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 ve Windows Server 2008 R2)

IIS 7 ve sonraki sürümler için, IIS applicationHost.config dosyasındaki önemli yapılandırmayı, uygulandığı siteye yönelik yapılandırmayı kapsayan <location> öğesine taşıyın. Daha fazla bilgi için, bkz. IIS 7.0 Yapılandırmasında Kilitleme Nasıl Kullanılır? Microsoft müşterilerimizin korunmasına destek vermek için bizimle çalışan aşağıdaki kişilere teşekkür eder:
Not Bu, doğrudan Microsoft destek kuruluşu tarafından oluşturulan bir “FAST PUBLISH” makalesidir. Buradaki bilgiler, ortaya çıkan sorunları gidermek üzere olduğu gibi sağlanmaktadır. Mümkün olduğu kadar hızlı sunulmasının bir sonucu olarak malzemelerde yazım hataları bulunabilir ve bunlar bildirimde bulunulmadan daha sonra düzeltilebilir. Diğer hususlar için Kullanım Koşulları’na bakın.

Özellikler

Makale numarası: 2698981 - Last Review: 7 Haziran 2012 Perşembe - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 1.1 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 3
Anahtar Kelimeler: 
atdownload kbinfo kbexpertiseinter kbsecurity KB2698981

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com