Güvenli Ağ İşlemleri

Güvenli Ağ İşlemleri Bu makalemizde güvenli ağ işlemlerini sağlayan kod erişim güvenliği sınıfını inceleyeceğiz. Zorluk Derecesi: 1 2 3 4 5 Anahtar Sözcükler: Güvenli ağ işlemleri, Kod Erişim Güvenliği, İzin, Microsoft .NET Microsoft .NET Framework’te, belirli bir adres üzerine yapılacak ve kabul edilecek bağlantılara erişimleri kontrol edebilmek için SocketPermission sınıfı tanımlanmıştır. System.Net altında yer alan SocketPermission sınıfı CodeAccessPermission sınıfından türeyen, IUnrestrictedPermission arayüzünü destekleyen serileştirilebilir mühürlü bir sınıftır. Mühürlü sınıf, hiç bir sınıfın kendisinden türetilemeyeceğini ifade eder. Bu sınıfın erişilebilir özellikleri şunlardır; AllPorts, bütün portları ifade eden statik bir sabittir. AcceptList, bu izin örneği tarafından kabul edilen bütün EndpointPermission nesnelerini içerir. ConnectList, bu izin örneği tarafından bağlanan bütün EndpointPermission nesnelerini içerir.Bu sınıfın erişilebilir metotları ise şunlardır; AddPermission, bir bağlantı adresiyle ilgili yeni bir izin kümesi ekler. Assert, bu kodu çağıran kodun, erişimin bir yetki ile sınırlandırıldığı kaynağa her şekilde erişebileceğini ifadeeder. Bu kodun daha üst seviyesinde bu kodu çağıran tüm kodlara şartsız güvenilmesini sağlar. Assert kullanımı çoğu zaman güvenlik açıklarına yol açabilir, zorunlu kalınmadıkça kullanımı önerilmez. Copy, şu an ki izin nesnesinin birebir bir yeni bir kopyasını oluşturup geri döndürür. Demand, bu kodu çağıran kodların bu yetkiye sahip olup olmadığının denetimi için CLR’yi zorlar, eğer bu kodu çağıran kodlardan herhangi bir seviyede o yetki sağlanmamış ise güvenlik ihlalini belirtmek için SecurityException istisna fırlatılır. Deny, çağırma yığıtındaki bu kodu çağıran kodların bu kodu çağırmalarını engeller. Equals, iki nesnenin birbirine eşit olup olmadığını test eder. FromXml, ToXml metotuyla XML olarak ifade edilen nesneyi yeniden oluşturur. XML Serileştirme gibidir. GetHashCode, bellekteki o nesneye özgü bir hash kodu oluşturur. GetType, bu nesnenin tipini verir. Intersect, şu an ki izin nesnesiyle, belirtilen izinin kesişimini ifade eden başka bir izin nesnesi oluşturur. IsSubsetOf, şu an ki izin nesnesinin, belirtilen izinin bir alt kümesi olup olmadığını ifade eder. IsUnrestricted, izinin mantığının anlamsal olarak doğruluğunu düşünmeden sınırsız izin olarak ifade edilip edilemeyeceğini belirtir. PermitOnly, bu metotu çağıran kodların bu izin nesnesi tarafından sınırlandırılmış kaynak dışındaki sınırlı kaynaklara erişmesini engeller. ToString, şu an ki nesneyi ifade eden bir metin oluşturur. ToXml, bu nesnenin tüm durumnu ifade FromXML metotuyla yeniden olşturulabilinecek bir XML oluşturur. Union, şu an ki izin nesnesiyle, belirtilen izinin birleşimini ifade eden başka bir izin nesnesi oluşturur.SocketPermission sınıfı tarafından bir adresi EndpointPermission sınıfı ile tanımlanır. System.Net altında yer alan EndpointPermission sınıfı mühürlü bir sınıftır. Mühürlü sınıf, hiç bir sınıfın kendisinden türetilemeyeceğini ifade eder. Bu sınıfın erişilebilir özellikleri şunlardır; Hostname, bu izin ile ilişkilendirilmiş sunucunun IP adresini ve ya DNS ismini verir. Port, bu bağlantı ile ilişkilendirilmiş sunucuya ait port numarasını verir. Transport, bu bağlantı ile ilişkilendirilmiş iletişim tipini verir.Bu sınıfın erişilebilir metotları ise şunlardır; Equals, iki nesnenin birbirine eşit olup olmadığını test eder. GetHashCode, bellekteki o nesneye özgü bir hash kodu oluşturur. GetType, bu nesnenin tipini verir. ToString, şu an ki nesneyi ifade eden bir metin oluşturur.Microsoft .NET Framework’te, HTTP üzerinden İnternet erişimlerini kontrol edebilmek için WebPermission sınıfı tanımlanmıştır. System.Net altında yer alan WebPermission sınıfı CodeAccessPermission sınıfından türeyen, IUnrestrictedPermission arayüzünü destekleyen serileştirilebilir mühürlü bir sınıftır. Mühürlü sınıf, hiç bir sınıfın kendisinden türetilemeyeceğini ifade eder. Bu sınıfın erişilebilir özellikleri şunlardır; AcceptList, WebPermission örneği tarafından kabul edilen izinleri içerir. ConnectList, WebPermission örneği tarafından bağlanılan izinleri içerir.Bu sınıfın erişilebilir metotları ise şunlardır; AddPermission, belirtilen URI adresini belirtilen erişim haklarıyla şu anki WebPermission nesnesine ekler. Assert, bu kodu çağıran kodun, erişimin bir yetki ile sınırlandırıldığı kaynağa her şekilde erişebileceğini ifadeeder. Bu kodun daha üst seviyesinde bu kodu çağıran tüm kodlara şartsız güvenilmesini sağlar. Assert kullanımı çoğu zaman güvenlik açıklarına yol açabilir, zorunlu kalınmadıkça kullanımı önerilmez. Copy, şu an ki izin nesnesinin birebir bir yeni bir kopyasını oluşturup geri döndürür. Demand, bu kodu çağıran kodların bu yetkiye sahip olup olmadığının denetimi için CLR’yi zorlar, eğer bu kodu çağıran kodlardan herhangi bir seviyede o yetki sağlanmamış ise güvenlik ihlalini belirtmek için SecurityException istisna fırlatılır. Deny, çağırma yığıtındaki bu kodu çağıran kodların bu kodu çağırmalarını engeller. Equals, iki nesnenin birbirine eşit olup olmadığını test eder. FromXml, ToXml metotuyla XML olarak ifade edilen nesneyi yeniden oluşturur. XML Serileştirme gibidir. GetHashCode, bellekteki o nesneye özgü bir hash kodu oluşturur. GetType, bu nesnenin tipini verir. Intersect, şu an ki izin nesnesiyle, belirtilen izinin kesişimini ifade eden başka bir izin nesnesi oluşturur. IsSubsetOf, şu an ki izin nesnesinin, belirtilen izinin bir alt kümesi olup olmadığını ifade eder. IsUnrestricted, izinin mantığının anlamsal olarak doğruluğunu düşünmeden sınırsız izin olarak ifade edilip edilemeyeceğini belirtir. PermitOnly, bu metotu çağıran kodların bu izin nesnesi tarafından sınırlandırılmış kaynak dışındaki sınırlı kaynaklara erişmesini engeller. ToString, şu an ki nesneyi ifade eden bir metin oluşturur. ToXml, bu nesnenin tüm durumnu ifade FromXML metotuyla yeniden olşturulabilinecek bir XML oluşturur. Union, şu an ki izin nesnesiyle, belirtilen izinin birleşimini ifade eden başka bir izin nesnesi oluşturur. Son Söz: Bir sonraki makalemizde görüşünceye kadar güvende kalın... İlgili Makaleler: Referanslar: Yazar : Yunus Emre ALPÖZENe-Posta : yunus.alpozen et msakademik.net

Döküman Arama

Başlık :

Kapat