Context – Based Access Control

 

Context-Based Access Control

Cisco IOS Firewall’un içinde kullanılabilen CBAC, uygulama katmanı protokolü oturum bilgilerine dayanarak TCP ve UDP paketlerini filtreleme işlemi yapar. Uygulamaya özel protokollerde, multimedya uygulamalarında ve birden fazla kanala ihtiyaç duyan uygulamalarda CBAC, uygulama katmanı filtrelemesi sunar.

CBAC aşağıdaki dört ana fonksiyonu kullanarak çeşitli seviyelerde ağ güvenliği sağlar. Bu fonksiyonlar;

  • Trafik Filtreleme
  • Trafik Denetleme
  • Denetim Kayıtları ve Uyarılar
  • İhlal Tespiti

 

Trafik Filtreleme:

CBAC ile korumak istediğiniz ağdan başlatılan özel TCP ve UDP trafiğine izin verip, bu trafiklerin dışarıdan başlatılmasını engelleyebilirsiniz.

 

Trafik Denetleme:

CBAC’te uygulama katmanında denetlenen paketlerin oturum bilgileri incelenerek, bu bilgiler sayesinde SYN-flood atağı gibi ataklar önlenir. CBAC, TCP paketlerin sequence numaralarını denetleyerek, bu numaraların kabul edilebilir bir aralıkta olup olmadıklarını belirler ve şüpheli paketleri çöpe atar. Böylece SYN-flood atağında olduğu gibi atak yapan kişinin gönderdiği bağlantı istekleri reddedilerek sistemin kaynaklarını kullanılamaz duruma getiren DoS atağı engellenmiş olur.

 

İhlal Tespiti:

CBAC, kısıtlı düzeyde ihlal tespiti yapabilir. Belirli atakların özel imzaları vardır. Bu ataklardan biri CBAC tarafından tespit edilirse, bağlantı sıfırlanır ve syslog sunucusuna syslog bilgisi gönderilir.

 

Denetim Kayıtları ve Uyarılar:

CBAC gerçek zamanlı denetim kayıtları ve uyarılar oluşturur.  Denetim kayıtları sayesinde kaynak ve hedef makinalarla, kullanılan portlarla, taşınan verinin miktarıyla ve daha birçok özellikle ilgili bilgi edinilir. Gerçek zamanlı uyarılar ile şüpheli bir şey bulunduğunda syslog mesajı gönderilir.

 

CBAC neleri yapamaz?

  • CBAC bütün protokoller için filtreleme yapmaz, sadece sizin belirlediğiniz protokoller için filtreleme yapar. Eğer herhangi bir protokol belirlemezseniz, önceden yazılmış olan ACL’ler dışında o protokole herhangi bir filtreleme yapılmaz.
  • CBAC sizin iç ağınızdan yapılan ataklar için eğer trafiğin üzerinden geçtiği routerda Cisco IOS Firewall özelliği etkinleştirilmemişse herhangi bir güvenlik sağlayamaz.
  • CBAC belirli ataklar için koruma sağlar, fakat her atak tipi için koruma sağlayamaz.

 

CBAC Nasıl Çalışır?

CBAC devrede değilken filtreleme var olan ACL’ler tarafından yapılmaktadır.  CBAC devrede iken Firewall interfacelerindeki ACL’lerde içerinden dışarıya başlatılan trafik için geçici ACL’ler oluşturur ve bu geçici ACL’ler ile başlatılan trafik için geri dönen trafiğe izin verilir. Aksi takdirde dışarıdan gelen trafik engellenir.

CBAC’ in nasıl çalıştığını birkaç adımda anlatacak olursak:

  1. Korunan networkten bir trafik oluşturulduğunda routerdan geçerken bir ACL var ise o ACL işletilir. ACL pakete izin vermiyorsa paket düşürülür, izin veriyorsa CBAC denetim kuralları uygulanır.
  2. CBAC denetim kuralları eğer başlatılan paketi denetlemiyorsa paket hakkında bilgi toplanmaz, paketin geçmesine izin verilir. Eğer başlatılan trafik denetleniyorsa bir sonraki adıma geçilir.
  3. Bağlantı mevcut durum tablosuyla karşılaştırılır ve önceden mevcut değilse durum tablosuna eklenir. Eğer önceden mevcut ise bağlantı için zaman sıfırlanır.
  4. Eğer yeni bir bağlantı ekleniyorsa çıkış interface’ine giriş yönünde dinamik ACL eklenerek, başlatılan trafiğin dönen paketlerine izin verilir.
  5. Oturum sonlandığında durum tablosundaki dinamik bilgi ve dinamik ACL silinir.

 

CBAC Konfigürasyonu Nasıl Yapılır?

CBAC’ i devreye alırken konfigürasyon aşamasında aşağıdaki adımlar uygulanır:

  1. İç ve dış interface’ ler seçilir. İç interface’ e güvenlik duvarımızın denetleyeceği trafiğe dışarı yönde izin verilir.
  2. Dış interface’ e dışarıdan gelecek trafiği filtrelemek için extended ACL uygulanır. Bir trafik içeriden başlatıldığında CBAC bu extended ACL üzerine dinamik satırlar ekleyerek başlatılan trafiğin dönen paketlerine izin verir.
  3. Denetlenecek olan uygulama katman protokolü global konfigürasyon modunda konfigüre edilerek denetleme kuralları tanımlanır.

Router(config)# ip inspect name inspection_name protocol [alert {on | off}] [audit-trail {on | off}] [timeout seconds]

Inspection name –> Denetleme kuralına isim atanır.

Protocol –> Denetlenecek olan protokolü tanımlar.

Alert {on | off}  –> (Opsiyonel ) Denetlenecek olan protokollerin her biri için uyarı mesajları açılabilir veya kapatılabilir. Eğer “no” seçilirse uyarılar ip inspect alert-off komutunun açık olup olmamasına göre belirlenir.

Audit-trail {on | off} –> (Opsiyonel ) Denetlenecek olan protokollerin her biri için denetleme kayıtları açılabilir veya kapatılabilir. Eğer “no” seçilirse denetleme kayıt mesajları ip inspect audit-trail komutunun açık olup olmamasına göre belirlenir.

Timeout seconds –> (Opsiyonel ) Zaman aşımı süresini belirtmek için girilir.

Oluşturulan denetleme kuralları interface’ e uygulanır. Buradaki interface trafiği başlatacak olan taraftaki interface’ dir.

Router(config-if)# ip inspect inspection_name {in | out}

 

Var olan denetleme kurallarını silmek için:

Router(config)# no ip inspect

komutu global konfigürasyon modunda girilir.

 

CBAC Troubleshooting

Uyarılar(Alerts):

Uyarılar CBAC’ i ilgilendiren yetersiz router kaynakları, DoS atakları ve diğer atakları görüntüler. Uyarılar varsayılanda açık olarak tanımlanmıştır ve router’ın konsol ekranında görüntülenir.

Uyarıların kapatılması önerilmez fakat uyarıların kapatılması için aşağıdaki komut global konfigürasyon modunda girilmelidir.

Router(config)# ip inspect alert-off

Uyarıları tekrar açmak için ise global konfigürasyon modunda aşağıdaki komut yazılmalıdır.

Router(config)# no ip inspect alert-off

Uyarılar her bir denetleme kuralı için ayrıca açık veya kapalı olarak belirlenebilir.

Denetleme Kayıtları:

Denetleme kayıtları geçerli ve geçersiz girişimler de dahil denetlenecek bütün bağlantıların izini sürer. Kayıtlar bağlantılar hakkında istatistiksel bilgiler verir. Bu kayıtlar konsol ekranında görüntülenebileceği gibi bir syslog sunucusunda da tutulabilir.

Denetleme mesajlarını açmak için global konfigürasyon modunda aşağıdaki komut yazılmalıdır.

Router(config)# ip inspect audit-trail

Mesajlar her bir denetleme kuralı için ayrıca açık veya kapalı olarak belirlenebilir.

Denetleme mesajlarını kapatmak için ise global konfigürasyon modunda aşağıdaki komut yazılmalıdır.

Router(config)# no ip inspect audit-trail

Loglar bir sunucuya gönderilecekse global konfigürasyon modunda aşağıdaki iki komut yazılmalıdır.

Router(config)# logging on

Router(config)# logging host sunucu_ip_adresi

 

Show ip inspect Parameters

CBAC aynı zamanda geçici ACL’leri, durum tablosunu ve CBAC operasyonunu görüntüleyebileceğimiz show komutlarına sahiptir.

Bunları görüntülemek için kullanılacak komut şu şekildedir:

Router# show ip inspect [parameter]

name inspection_name à Sadece istenen isimdeki denetleme kuralını görüntüler.

config –> Bütün CBAC operasyonunu görüntüler.

interfaces –> Router interface’ indeki aktif edilmiş denetleme kurallarını görüntüler.

sessions –> CBAC durum tablosundaki bağlantıların özetini görüntüler

sessions [detail] –> Durum tablosundaki bütün bağlantıları görüntüler

all –> Listedeki bütün özellikleri görüntüler

 

Debug ip inspect Parameters

Daha detaylı troubleshooting yapmak için debug komutlarını da kullanabilir.

Bunun için kullanılacak komut ve parametreleri şu şekildedir:

Router# debug ip inspect protocol parameter

Udp –> Udp denetleme olaylarını görüntüler.

Tcp –> Tcp denetleme olaylarını görüntüler.

Icmp –> Icmp denetleme olaylarını görüntüler.

events –> Paketlerin işlenmesi ile ilgili CBAC olaylarını görüntüler.

application_name –> Uygulamaya yönelik olayları görüntüler.

object-deletion –> Durum tablosunda yapılan silme işlemlerini görüntüler.

object-creation –> Durum tablosuna yapılan ekleme işlemlerini görüntüler.

function-trace –> CBAC’ in çağırdığı yazılım fonksiyonları ile ilgili bilgiyi görüntüler.

timers –> CBAC zamanlayıcısı ile ilgili bilgileri görüntüler.

detailed –> Bütün CBAC işlemleri hakkındaki bilgileri görüntüler.

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir