WCF Güvenlik Kılavuzu - 2 (Denetim ve Log'lama)

Biri size "mesajları log'layın, süper olur, olan biteni görürsünüz" dediğinda cazip bir tavsiye hediye ediyormuş gibi görünebilir. Oysa...

"WCF Güvenlik Kılavuzu" ana başlığı altında döktürmeye devam ediyoruz. İlk çeviri yazımızda "Tasarım Hususları"nı işlemiştik. Bu yazıyla WCF servislerinde denetimi ve log'lamayı "güvenlik" paradigmasıyla ele alacağız. Tekrar hatırlatmakta faide var ki bu yazı serisi, Patterns&Practices ekibinin "WCF 3.5 Security Guidelines" belgesi esas alınarak hazırlanıyor.

Denetleme ve Log'lama

Denetleme ve log'lama "sürekli güvenlik" için iki ayrı vazgeçilmez unsur. İkisi de bir uygulamanın hayatı boyunca karşılaştığı durumlardan haberdar olmamızı sağlıyor. Görelim bakalım, neler yapmalıyız.

Servisinizi denetlemek için WCF Auditing özelliğini kullanın:

WCF servisinizin denetim özelliğini, güvenlikle ilgili başarı ve başarısızlık durumlarını log'lamak üzere yapılandırın. Log'lar tahmin edebileceğiniz gibi Event Log'a yazılacak. Bu log'lar size güvenlik ile ilgili istenmedik durumları yakalamanızı sağlar. Bakım için de veri oluşturur. Kod örneğini şuradan alabilirsiniz.

Denetimsel bir hataya hoşgörünüz yok ise SuppressAuditFailure özelliğini kapatın:

Bu özellik açık olursa ortaya çıkan herhangi bir denetimsel hata servisin çalışmasını durdurmaz. Özelliğin açık olması "denial of service" (DoS)  ataklarını da göz önünde bulundurmanızı gerektirir.

Mesaj log'lamalayı kullanın:

WCF mesajlar üzerinden çalışıyor mâlum. Gidip gelen mesajları takip etmek için mesaj log'lamayı açın. Config'ten kolayca yapabiliyorsunuz. Ama dikkatli olun. Nedeni son maddede açıklanacak.

Log dosyalarını meraklılardan sakının:

Denetleme ve log dosyalarını Windows'un "Access Control List" ile koruyun ve bunlara erişimi kısıtlayın. Dosya dışında başka bir yere yazıyorsanız oranın erişim denetimini gözden geçirin. Mesela yazma müsadesini kendi uygulamanızın hesaplarına, tüm hakları yöneticilere ve okuma hakkınını da operatörlere vererek temiz bir iş yapın.

Bu tedbir, saldırganların izlerini kaybettirmelerini zorlaştırır.

Hassas bilgileri log'lamayın:

Hassas ve mühim kullanıcı ve uygulama bilgilerini log'lamayın. Çünkü bu bilgilerin gerçekte durduğu yerden daha farklı erişim yetkileri var log dosyalarında. Kredi kartlarının bulunduğu tabloya erişemeyen birisi bu log dosyalarına da erişememelidir. Yukarıdaki nasihatlere uyup her giden gelen mesajı içeriğine bakmadan gövdesiyle log'larsanız bu maddeyle katı bir çelişkiye düşebilirsiniz.

Log'lamaktan sakınmanız lâzım gelen bilgiler: kişileri kimliklendiren vergi no, kimlik no, kredi kartı no vs. bilgileri; uygulamaya dair tercihler, giriş bilgileri gibi kişisel hassasiyeti olan veriler ve veritabanı bağlantı cümlesi, servise ait hesap adı gibi uygulama bilgileri.

...

Patterns&Practices yukarıdaki maddede "tüm mesajları loglayın" nasihatiyle biraz çelişmiş. Zaten ilgili maddenin yorumlarında da bir şahıs bu çelişkiye kayıtsız kalamamış. Yetkili kişi de bu çelişkiyi özel log'lama yazarak çözün diyor. Buradan şu mesajı almamız gerekiyor: söyleyen her kim olursa olsun duyduğunuz, okuduğunuz sözleri etraflıca düşünmeden uygulamaya koymayın. Biri size "mesajları log'layın, süper olur, olan biteni görürsünüz" dediğinda cazip bir tavsiye hediye ediyormuş gibi görünebilir. Oysa işinizin ciddiyetine göre değişebilecek düzeyde bir güvenlik zaafiyetine kapı araladığınızı da söylemelidir aynı kişi. Söylemiyorsa ya eksik bilgilidir ya da kötü niyetlidir.

Kolay gelsin.

Sonraki bahis: Kullanıcı doğrulama

, , ,

Arşivden

Yorum bulunmuyor.

Yorum yazabilirsiniz


* [b], [i] ve [quote] serbest