ASP.NET ve güvenlikMerhaba arkadaşlar
Bu makalemde ASP.NET uygulamalarında güvenlik hakkında önbilginiz olması amacıyla kısa bir giriş yapacağız
İlk önce Authentication ve Authorization kavramlarını bilmekte yarar var
Kısaca Authentication kimlik denetimidir.Mesela programlama com da makaleleri okumak veya kullanıcı işlemi gerektiren herhangi bir bölüme girmek istediğinizde sizi login sayfasına yönlendirirler.İşte bu işleme Authentication denir.
Authorization ise kimliği doğrulanmış kişinin sahip olacağı yetkidir
Yani yetkilendirme işlemine authorization denir.Yani login sayfasından kullanıcı adını ve şifresini girdinizve haklarınıza göre muamele görüyorsanız.Normal kullanıcı iseniz makale okuma,yazma vs admin iseniz kullanıcıları gruplama,mesaj silme gibi
ASP.NET’te Authentication 3 çeşittir.
1.WINDOWS AUTHENTICATION
2.PASSPORT AUTHENTICATION
3.FORMSAUTHANTICATION
Burada ilk maddedeki Windows Authentication da kendi içinde ayrılır
WINDOWS AUTHENTICATION
a.Integrated Windows Authentication(Tümleşik Windows Doğrulaması)
b.Digest Authentication
c.Basic Authentication
d.Anonim Denetim
Şimdi gelelim Windows Authentication nedir?
Windows Authentication windows işletim sistemine dayanan güvenlik sistemidir
Web config dosyası içinden
<authentication mode=”Windows” /> ayarlayarak Windows Authentication sağlayabiliriz
Windows Authenticationın Integrated Windows doğrulama modu Windows Nt veya Active Directory Domaininde gerçekleşir.Basic ve Digest Authentication daki gibi parolalar network üzerinden yollanmaz.Logon olan kişi tüm Windows haklarında sahip olur
Windows Authenticationın diğer doğrulama modu Basic Authentication da ise kullanıcının var olup olmadığı kısaca kontrol edilir.Mesela bazı sitelere girmek isteyince bir pencere çıkar kullanıcı adı veya şifre ister.Bu modu kulanmak için IIS de gerekli ayarlamalar yapılmalıdır
Windows Authenticationun bir diğer modu Digest Authentication modunda ise ssitem Active Directory yapısında çalışır.Kullanıcı adlar ve parolaları farklı sistemlerle şifrelenir ve bilgiler network üzerinden açık olarak gönderilmez.Bu modu kullanmak için de IIS konfigüre edilmelidir
Sıra geldi Windows Authenticationun son maddesi Anonymus modu
Bu gel birader parayla değil sırayla misali kullanıcı adı veya şifre istemez.Anonim erişim içni tanınan hesab hakları kullanılır
Forms Authentication ise Form ile doğrulama işlemidir.
<authentication mode=”Forms” />
Web sitelerinde genellikle bu yöntem kullanılır.Altında yatan mantık cookie dir.Kişi login olduğu zaman kişiye ait bilgiler bir cookie de tutularak gitmek istediğiniz sayfada bu cookie incelenir eğer cokie varsa izin verilir yoksa kullanıcı erişemez
Form authenticationın çok kullanışlı metotları vardır
Mesela “Forms.Authentication.RedirectFromLoginPage”
ile kullanıcı login olunca gitmek istediği sayfaya yönlendirilir
Şayet kullanıcı çıkış yapmak isterse Yine “Signout” metotu ile cookie si silerek güvenli bir çıkış yaptırabiliriz
En son maddemiz PassPort authentication
Bu sistemde ise Microsoftun passport hizmetinden yararlanmanız gerekiyor.Tabii belli bi ücret karşılığında