DEV Community

Feyza Nur Dandal
Feyza Nur Dandal

Posted on

fail-closed yapısı

Geçen gün NAC sistemlerinin çalışma mantığını incelerken ilgimi çeken bir konu oldu. Bir cihaz ağa bağlanmak istediğinde sistem bazen "emin değilim" deyip bağlantıyı tamamen reddediyor.

İlk başta bana garip geldi. Sonuçta veritabanı kısa süreliğine erişilemiyorsa ya da kullanıcı bilgisini doğrulayan servis cevap vermiyorsa, neden kullanıcıyı bekletmek yerine tamamen engelliyoruz?

Biraz düşününce bunun aslında bilinçli bir tasarım kararı olduğunu fark ettim.

Çünkü NAC sistemlerinin görevi internete bağlamak değil, kimin bağlanabileceğine karar vermek.

Mesela kullanıcı bilgilerini kontrol etmek için veritabanına gittiniz ama cevap alamadınız. Elinizde iki seçenek var.

İlki, "Doğrulayamadım ama büyük ihtimalle sorun yoktur." deyip kullanıcıyı içeri almak.

İkincisi ise "Doğrulayamıyorsam izin de vermem." demek.

İlk yöntem kullanıcı açısından daha rahat görünüyor. Kimse bağlantısının kesilmesini istemez.

Ama şöyle bir soru geliyor aklıma:

Ya bağlanmaya çalışan kişi gerçekten yetkili biri değilse?

Sadece doğrulama servisi çalışmadığı için kurumsal ağa erişim kazanmış olacak.

İşte bu yüzden birçok güvenlik ürünü Fail Closed denilen yaklaşımı tercih ediyor.

Yani sistem emin olamadığında varsayılan cevap "izin verme" oluyor.

Tabii bunun bir bedeli de var. Bazen gerçekten yetkili olan kullanıcılar da geçici olarak ağa bağlanamayabiliyor.

Burada aslında güvenlik ile kullanılabilirlik arasında bir tercih yapılıyor.

Ben bu konuyu öğrenmeden önce hata durumunda kullanıcıyı mümkün olduğunca mağdur etmemek gerektiğini düşünürdüm. Ama konu ağ güvenliği olunca bakış açısı değişiyor.

Bazen en güvenli karar, "emin değilsem izin vermem" diyebilmek oluyor.

Top comments (0)