Nis
10th

Asp.Net ve Şifrelenmiş Web.Config

Kategori Webmaster | Posted by admin | 1,664 Defa Okunmus.


Genel Bakış

Web.config gibi yapılandırma dosyaları genellikle “hassas” bilgileri tutarlar, kullanıcı adı, şifre, veritabanı bağlantısı ve şifrelenmiş anahtarlar gibi. Eğer bu bilgileri korumazsanız uygulamanız çeşitli saldırılardan etkilenir ki bu etki yapılandırma dosyasının erişilmesi sebebi ile çok büyük olur. Aşağıdaki yapılandırma düğümleri sıklıkla hassas bilgileri içerirler ve bu yüzden şifrelenmeleri gerekmektedir.

· <appSettings>. Özelleştirilmiş ayarlar yapmanızı sağlar.

· <connectionStrings>. Bağlantılarınızı belirlemenizi sağlar.

· <identity>. Kişiselleştirme yapılmasını olanak sağlar.

· <sessionState>. Oturum bilginisinin ne şekilde saklanacağını belirlemenizi sağlar.

Şifreleme ve şifrelenmiş bilgiyi çözme performans bakımından yorucu bir işlemdir. Bu performans yoğunluğunu minimunda tutmak için sadece gerekli, özel bilgiler içeren yapılandırma düğümlerini şifrelemek gerekir.

2.0 ile Gelen Yenilikler

.NET Framework 1.0 ve 1.1 sürümleri sınırlı şekilde yapılandırma dosyalarını şifreleme desteği sağlıyor. Buna rağmen .NET Framework 2.0 bize yapılandırma dosyalarında bilgileri command line kullanarak (Command Promt) şifreleme imkanı vermektedir. Kendi özelleştirilmiş provider’larınızı da kullanabileceğiniz bu destek bize standart olarak iki provider ile destek sunur. Bunlar :

· RSAProtectedConfigurationProvider. Verileri şifrelemek ve şifreyi çözmek için kullanılan standart şifreleme anahtarıdır ve bu anahtar RSA genel anahtarını kullanmaktadır.

· DataProtectionConfigurationProvider. DPAPI kullanarak verileri şifreleme ve şifreyi çözme işlemi yapmaktadır.

Bu makalede Aspnet_Regiis.exe aracını kullanarak verileri DataProtectionConfigurationProvider ile verileri şifreleyeceğiz ve şifreyi çözüp okuyacağız

Not : ASP.NET otomatik olarak yapılandırma düğümlerinde şifrelenmiş dosyaların şifrelerini çözmektedir. Sizin ayrıca bir işlem yapmanıza veya ek kod yazmanıza gerek yok.

Adımlar

Bağlantı düğümlerini DPAPI ile şifrelemek için aşağıdaki adımları izlememiz gerekiyor.

· Adım 1. Şifrelenecek Düğümü Belirleme

· Adım 2. Makine veya kullanıcı bazlı depolama

· Adım 3. Yapılandırma dosyasını şifreleme

Adım 1. Şifrelenecek Düğümü Belirleme

Şifreleme ve şifrelenmiş bilgiyi çözme performans bakımından yorucu bir işlemdir. Bu performans yoğunluğunu minimumda tutmak için sadece gerekli, özel bilgiler içeren yapılandırma düğümlerini şifrelemek gerekir.

Şifreleme yapılamayacak düğümler

Eğer aşağıdaki düğümlerde “hassas” bilgiler tutuyorsanız , o verileri korumak için aspnet_regiis.exe aracı ile şifreleme yapamazsınız:

· <processModel>

· <runtime>

· <mscorlib>

· <startup>

· <system.runtime.remoting>

· <protectedData>

· <satelliteassemblies>

· <cryptographySettings>

· <cryptoNameMapping>

· <cryptoClasses>

Not : Bağlantı düğümlerini listelemek için Aspnet_setreg.exe aracını kullanabilirsiniz. Bu araç diğer sürümler için de mevcuttur.

Not : Bu bağlantı düğümlerini Aspnet_setreg.exe aracını kullanarak şifrelemek için daha fazla bilgi almak için bu makaleden yararlanabilirsiniz. How to use the ASP.NET utility to encrypt credentials and session state connection strings.

Devamı için Okan TEKELİ’nin Makalesini Okuyabilirsiniz… 

Yorum Yapın







Değerli Webkafe.net Ziyaretçileri eğer güncel web teknolojleri, internet, ve teknoloji magazin konularında kendinize güveniyor ve yazarımız olmak aynı zamanda eklediğiniz haber ve yazılar ilke gelir kazanmak istiyorsanız gurkancelik21[@]hotmail.com mail/msn adresinden mail atarak iletişim kurabilirsiniz.