.NET Framework üzerinde oluşturulan güvenli uygulamalar

Bu makalede, Microsoft .NET Framework üzerinde oluşturulmuş uygulamaların güvenliğini sağlamaya yönelik önemli noktalar açıklanmaktadır.

Orijinal ürün sürümü: .NET Framework
Özgün KB numarası: 818014

Özet

Bu makale, .NET Framework üzerine oluşturulan uygulamalar için ayrıntılı bilgi sağlayan bir dizi makaleden biridir.

Bu serideki makaleler şunlardır:

.NET Framework güvenliğini bölgelere göre ayarlama

.NET Framework, yönetilen derlemelere güven düzeyleri atar. Bu atamalar kısmen derlemenin çalıştığı bölgeye dayanır. Standart bölgeler Bilgisayarım, Yerel intranet, İnternet, Güvenilen Siteler ve Güvenilmeyen Siteler'dir. Bu bölgelerden biriyle ilişkili güven düzeyini artırmanız veya azaltmanız gerekebilir. .NET Framework, bu ayarların ayarlanması için araçlar içerir.

.NET Framework derlemesinde güven düzeyini ayarlama

.NET Framework, bir derlemeye vermeniz gereken güven düzeyini belirlemek için birçok yol içerir. Ancak, belirli bir derlemenin ortak dil çalışma zamanına sağlanan kanıta göre normalde alacağı güven düzeyinden daha yüksek bir güven düzeyi almasını sağlamak için kurallarda özel durumlar yapabilirsiniz. .NET Framework, bu amaçla özel olarak bir sihirbaz aracı sağlar.

Özelleştirilmiş ilke düzeylerini geri yükleme

Yönetici olarak, çeşitli güven düzeylerinde çalışan bütünleştirilmiş kodlara verdiğiniz erişim üzerinde tam denetime sahipsiniz. Güven düzeylerini özelleştirirseniz, genellikle standart güven düzeyi altında çalışan bir uygulamayı çalıştırdığınızda sorunlarla karşılaşabilirsiniz. Ancak, ilke düzeylerini varsayılan ayarlarına hızla geri yükleyebilirsiniz.

Bir derlemeye verilen izinleri değerlendirme

Kurumsal, makine ve kullanıcı güvenlik yapılandırma ilkeleriniz ve özelleştirilebilir güven düzeyleriniz varsa, yönetilen bir derlemeye verilen izinleri değerlendirmek zor olabilir. .NET Framework Yapılandırma aracı, bu izinleri değerlendirmek için basit bir yöntem içerir.

öğesinin güvenliğini denetleme. NET bağlantılı uygulamalar

Yükseltmeler, test ve sorun giderme sırasında üretim sistemlerinin yapılandırması istemeden değişebilir. Örneğin, bir yönetici kullanıcıya yönetici kimlik bilgileri verirken bir hatanın erişim haklarıyla ilgili olup olmadığını saptayabilir. Bu yönetici, sorun giderme işlemini tamamladıktan sonra yükseltilmiş kimlik bilgilerini iptal etme işlemini unutursa sistemin bütünlüğü tehlikeye girer.

Sistem güvenliği zaman içinde bu tür eylemlerle düşürülebileceğinden, düzenli denetimler yapmak iyi bir fikirdir. Bunu yapmak için, temel ölçü oluşturmak için el değmemiş bir sistemin önemli yönlerini belgele. Güvenlik açığı düzeyini önemli ölçüde azaltabilecek bir sorun geliştirilip geliştirimediğini belirlemek için bu ayarları zaman içindeki temelle karşılaştırın.

bir yapılandırın. AĞ iletişimleri için alternatif bağlantı noktası numarası kullanmak için NET bağlantılı uygulama ve SQL Server

Birçok otomatik araç, iyi bilinen bağlantı noktası numaralarını sorgulayarak kullanılabilir hizmetleri ve güvenlik açıklarını tanımlar. Bu araçlar hem meşru güvenlik değerlendirme araçlarını hem de kötü amaçlı kullanıcıların kullanabileceği araçları içerir.

Bu tür araçlara maruz kalma riskini azaltmanın bir yolu, uygulamaların kullandığı bağlantı noktası numarasını değiştirmektir. Bu yöntemi uygulamasına uygulayabilirsiniz. Arka uç SQL Server veritabanını kullanan NET bağlantılı uygulamalar. Bu yöntem, hem sunucu hem de istemci doğru yapılandırıldıysa çalışır.

ASP.NET web uygulamasını veya web hizmetini kilitleme

ASP.NET web uygulamalarının ve web hizmetlerinin güvenliğini artırmanın birçok yolu vardır. Örneğin, paket filtrelemeyi, güvenlik duvarlarını, kısıtlayıcı dosya izinlerini, URL Tarama Internet Server Uygulama Programlama Arabirimi (ISAPI) filtresini ve dikkatle denetlenen SQL Server ayrıcalıklarını kullanabilirsiniz. ASP.NET uygulamaları için ayrıntılı güvenlik sağlamak üzere bu farklı yöntemleri gözden geçirmek iyi bir fikirdir.

ASP.NET uygulamalarının güvenliğini artırmak için NTFS dosya izinlerini yapılandırma

Yeni Teknoloji Dosya Sistemi (NTFS) dosya izinleri, web uygulamaları için önemli bir güvenlik katmanı olmaya devam eder. ASP.NET uygulamalar önceki web uygulaması ortamlarından çok daha fazla dosya türü içerir. Anonim kullanıcı hesaplarının erişmesi gereken dosyalar açık değildir.

.NET Framework üzerinde oluşturulan uygulamalar için SQL Server güvenliği yapılandırma

Varsayılan olarak, SQL Server kullanıcılara veritabanlarını sorgulama veya güncelleştirme olanağı vermez. Bu kural ASP.NET uygulamaları ve ASPNET kullanıcı hesabı için de geçerlidir. ASP.NET uygulamaların SQL Server veritabanında depolanan verilere erişim kazanmasını sağlamak için veritabanı yöneticisinin ASPNET hesabına hak vermesi gerekir.

ASP.NET uygulamalarından gelen sorgulara ve güncelleştirmelere izin vermek üzere SQL Server yapılandırma hakkında ek bilgi için Veritabanı nesnelerinde izinleri yapılandırma sayfasını ziyaret edin.

ASP.NET web uygulamalarının korumasını artırmak için URLScan'ı yapılandırma

URLScan'ı bir Internet Information Services 5.0 (IIS 5.0) sunucusuna yüklediğinizde, ASP 3.0 uygulamalarının çalışmasına izin verecek şekilde yapılandırılır. Ancak, .NET Framework yüklediğinizde URLScan yapılandırması yeni ASP.NET dosya türlerini içerecek şekilde güncelleştirilmez. ASP.NET uygulamalarınız için URLScan ISAPI filtresinin ek güvenliğini istiyorsanız URLScan yapılandırmasını ayarlayın.

ASP.NET web uygulamaları için kimlik doğrulaması gerektirme

Birçok ASP.NET uygulaması anonim erişime izin vermez. Kimlik doğrulaması gerektiren bir ASP.NET uygulaması şu üç yöntemden birini kullanabilir: Forms kimlik doğrulaması, .NET Passport kimlik doğrulaması ve Windows kimlik doğrulaması. Her kimlik doğrulama yöntemi farklı bir yapılandırma tekniği gerektirir.

Belirli kullanıcıların belirtilen web kaynaklarına erişmesini kısıtlama

ASP.NET Forms kimlik doğrulamayı içerir. Bu, Windows hesapları oluşturmadan kullanıcıların kimliğini doğrulamanın benzersiz bir yoludur. ASP.NET, bu kullanıcıların farklı web kaynaklarına erişimini verme veya reddetme özelliğini de içerir.

Kullanıcı başına web kaynaklarına erişimi denetleme hakkında daha fazla bilgi için , Belirli Kullanıcıların Belirtilen web Kaynaklarına Erişim Kazanmasını Kısıtlama sayfasını ziyaret edin.

Sunucunun izin verir web hizmetleri protokollerini sınırlama

Varsayılan olarak, ASP.NET web hizmetleri istemcilerinin web hizmetlerine istek göndermesi için üç yolu destekler: SOAP, HTTP GET ve HTTP PUT. Ancak çoğu uygulama bu üç yöntemden yalnızca birini gerektirir. Kullanılmayan protokolleri devre dışı bırakarak saldırı yüzeyini azaltmak iyi bir fikirdir.

tarayıcının erişimine izin verme. NET bağlantılı web hizmetleri

ASP.NET web hizmetleri, geliştiricilerin web hizmetleri istemcileri oluşturmasını kolaylaştırmak için tarayıcı dostu bir arabirim sağlar. Bu kolay arabirim, web hizmetine ulaşabilen herkesin kullanılabilir yöntemlerin tüm ayrıntılarını ve gerekli parametreleri görüntülemesine izin verir. Bu erişim, yalnızca genel kullanıma açık yöntemleri içeren genel web hizmetleri için kullanışlıdır. Ancak, özel web hizmetlerinin güvenliğini azaltabilir.

Kullanıcı başına web kaynaklarına erişimi denetleme hakkında ek bilgi için , Belirli Kullanıcıların Belirtilen web Kaynaklarına Erişim Kazanmasını Kısıtlama sayfasını ziyaret edin.

Dosya türlerini korumak için ASP.NET kullanma

ASP.NET uygulamalarının yapısı, son kullanıcıların istediği dosyalarla birçok özel dosyanın depolanmasına neden olur. ASP.NET, dosyalara yönelik istekleri keserek ve hata döndürerek bu dosyaları korur. Yapılandırma ayarlarını kullanarak bu koruma türünü herhangi bir dosya türüne genişletebilirsiniz. Uygulamanız özel kalması gereken olağan dışı dosya türleri içeriyorsa, bu dosyaları korumak için ASP.NET dosya korumasını kullanabilirsiniz.

Başvurular

.NET Framework üzerinde oluşturulan uygulamaların güvenliğini sağlama hakkında daha fazla bilgi için Windows 10 dağıtımındaki yenilikler sayfasını ziyaret edin.