|
Welcome,
Guest
|
|
SNMP (Simple Network Management Protocol) genellikle ağ aktif cihazlarının yönetiminde kullanılan bir protokoldür. Fakat SNMP, ağ aktif cihazlarının yanı sıra SNMP desteği olan ve bir ağa bağlı olan tüm cihazların yönetiminde de kullanılabilmektedir. Günümüzde ağa bağlanan hemen hemen her cihazın SNMP desteği bulunmaktadır. SNMP çok karmaşık bir protokol olmadığı için kullanımı da bundan dolayı bir o kadar yaygındır. Oldukça işe yarayan bir protokol olan SNMP, gerekli önlemler alınmadığı takdirde ağa bağlı cihazlarımız için bir o kadar tehlikeli olabilmektedir.
SNMP’nin güvenlik açıklarına değinmeden önce konunun daha iyi anlaşılması amacıyla SNMP ile ilgili biraz özet bilgi vermeyi faydalı buluyoruz. Ağa bağlı olan cihazların standart bir protokol kullanılarak yönetilmesi ihtiyacından dolayı ortaya çıkan SNMP ilk olarak 1987 yılında duyurulmuştur(SNMPv1). 1993 yılında SNMP’nin ikinci sürümü yayınlanmıştır (SNMPv2). (SNMPv2’nin birden fazla versiyonu bulunmaktadır.) SNMPv3 ise 1999 yılında duyurulmuştur. SNMP’nin üç temel parçası vardır: Yönetilen cihazlar, ajanlar ve SNMP bilgilerinin toplandığı bir ağ yönetim merkezi. Yönetilen cihazlar ile ağda bulunan ve üzerinde SNMP ajanı çalışan cihazlar kastedilmektedir. Yönetilen cihazlar, üzerlerinde üretilmiş olan cihaz bilgilerini ağ yönetim merkezinde bulunan merkezi bir yönetim sistemine gönderirler. Yönetilen cihazlar kavramı; ağa bağlı yazıcılardan sunuculara, anahtarlama cihazlarından kullanıcı bilgisayarlarına kadar çok geniş bir yelpazeyi kapsamaktadır. Ajanlarsa; yönetilen cihazlara kurulmuş olan, yönetim bilgisine sahip ve bu bilgiyi SNMP ile uyumlu hale getiren program parçaları olarak tanımlabilir. Yönetim merkezi de yönetilen cihazlardan bilgi toplayan, bu cihazları yönetebilen ve bu cihazlar üzerinde bazı uygulamaları çalıştırabilen merkezlerdir. SNMP, haberleşmede UDP’yi kullanır. Yönetilen cihazlardaki SNMP ajanları UDP 161 numaralı portu dinleyerek ağ yönetim merkezinden gelen isteklere cevap verirler. Ağ yönetim merkezi, yönetilen cihazlardan “SNMP trap” bilgilerini alabilmek için UDP 162 numaralı portu dinler. SNMPv1 ve SNMPv2’de yönetilen cihazlar ve ağ yönetim merkezi arasında oldukça basit bir kimlik doğrulama mekanizması kullanılır. Bu kimlik doğrulama mekanizmasında sadece “community name” diye adlandırılan bir şifre kullanılır. Bu şifre; yönetilen cihazlardaki verileri almak ya da bu verileri değiştirmek için kullanılır. SNMPv1 ve SNMPv2’de bu “community name” değerleri ağ üzerinden açık olarak gönderilmektedir. Bu nedenle SNMPv1 ve SNMPv2, dinleme saldırılarına açıktır. SNMPv1 ve SNMPv2’de yer alan bu güvenlik açığı SNMPv3 ile büyük oranda giderilmiştir. SNMPv3 ile SNMP paketlerine ek güvenlik önlemleri getirilmiştir. SNMPv3 ile SNMP paketleri ağ üzerinden şifreli olarak gönderilip, alınmaya başlanmıştır. SNMPv3 ile SNMP paketlerinin ayrıca özet (hash) değerleri de alınmaya başlanmıştır. Bununla SNMP paketlerinin bütünlüğünün (integrity) koruma altına alınması amaçlanmıştır. SNMPv3’e kimlik doğrulamanın sağlanması amacıyla kullanıcı ismi ve şifre özelliği de eklenmiştir. Bu ek önlemlerle SNMPv3 ile gönderilen/alınan SNMP paketlerinin gizlilik ve bütünlüğü koruma altına alınmaya çalışılmıştır. Verdiğimiz bu özet SNMP bilgilerinden sonra şimdi de SNMP’nin güvenlik açıklarına ve karşı önlemlerine değinelim: SNMP açıklıklarının kullanılmasıyla yönetilen cihazlara yetkisiz erişimler sağlanabilmekte ve bu durum da cihazların istenmedik şekilde çalışmalarına sebep olabilmektedir. Bazı SNMP uygulamalarında SNMP paketleri “broadcast” adreslerine gönderilmektedir. Bazı marka ve modellere ait olan cihazlar da bu “broadcast” adreslerine gönderilen SNMP paketlerini kabul etmektedir. Bu da SNMP’yi destekleyen ve SNMP’nin aktif hale getirildiği cihazların servis dışı kalmasına sebep olabilir. SNMP’nin güvenlik açıkları OSI’nin üçüncü katmanda cihazların servis dışı kalmalarına sebep olabileceği gibi OSI’nin yedinci katmanında da cihazlar üzerinde “format string” ve “buffer overflow” problemlerine de yol açabilmektedir. SNMP güvenliğini almak için önce ağımızda yer alan SNMP’nin aktif hale getirilmiş olduğu cihazların bulunması gerekir. Bu cihazları tespit etmek için SNMP taraması yapan yazılımlar kullanılabilir. SNMP’nin aktif olduğu cihazlar tespit edildikten sonra bu cihazların üreticileri tarafından SNMP açıklıklarına karşı herhangi bir yamanın yayınlanıp, yayınlanmadığı araştırılmalıdır. Üreticiler tarafından SNMP ile ilgili yayınlanmış yamalar varsa bu yamalar cihazlara uygulanmalıdır. Bu yamalar bazı kötü biçimlendirilmiş (malformed) SNMP isteklerinin cihaz tarafından filtrelenmesini sağlamaktadır. SNMP protokolü kullanılmayacaksa ağa bağlı olan cihazlarda SNMP iptal edilmelidir. Bazı cihazlar için SNMP’yi iptal etmek de servis dışı bırakma saldırıları (DoS) açısından tam bir çözüm olamayabilmektedir. SNMP’nin kullanılması gerekiyorsa SNMPv3 tercih edilmelidir. SNMPv1 ve SNMPv2’yi destekleyen tüm cihazların ön tanımlı (default) “community string” değerleri tüm marka ve modeler için fabrika çıkışında “public” ve "private” olarak belirlenmektedir. Salt okunur (read-only) erişimler için bu değer “public”, okuma-yazma (read-write) erişimleri için de “private”tır. Cihazlar üzerinde SNMP iptal edilemiyorsa ağa bağlanan cihazlar üzerinde yapılacak ilk işlemlerden birisi ön tanımlı “SNMP community” değerlerinin değiştirilmesi olmalıdır. SNMPv3 kullanılması durumunda bu problem kısmen ortadan kalkmaktadır. SNMP’nin tüm versiyonları “brute force” ve sözlük ataklarına karşı korunmasız durumdadır. Bu duruma önlem olarak “community string” değerleri de belirli periyotlarla değiştirilmelidir. Sistem yöneticilerinin bu “SNMP community” değerlerinden ve bunlardan kaynaklanabilecek tehditlerden genellikle habersiz durumda olmaları sistemler için ayrı bir risk faktörüdür. Ağa bağlı olan cihazların SNMP ayarları ne kadar güvenli hale getirilmiş olursa olsun “SNMP community” değerleri ağ üzerinden açık olarak (plain text) yayınlandıkları için dinleme (spoofing) saldırılarına açıktırlar. Cihazların SNMP değerlerinin saldırganlar tarafından öğrenilmesi durumunda yönetilen cihazlarlara zarar verilebilir. Bu durum SNMPv1 ve SNMPv2c için geçerlidir. Ağın dinlenmesi ataklarına karşı etkili olamasa da cihazların “SNMP community” değerleri mümkün olduğunca karışık ve uzun belirlenmelidir. Bu değerler kolay tahmin edilebilir olmamalı ve kurum/firma bilgilerini, kişisel bilgiler, vs… içermemelidir. Ayrıca bu değerler belirli periyotlarla değiştirilmelidir. Kötü “SNMP community” örnekleri: tubitak2012, snmptubitak, snmp-read, snmp-rw, tubitak-ro, tubitakrw, … Kurum/firma ağı dışından içeriye doğru gelen SNMP istekleri, güvenlik duvarları veya yönlendiriciler üzerinde filtrelenmelidir. SNMP servisleri UDP 161 ve UDP 162 numaralı portlar dışında TCP ve UDP 199, 391, 750 ve 1933 numaralı portları da kullanabilmektedir. Başka uygulamaları etkilemeyecekse filtrelemeye bu portlar da dahil edilmelidir. Kurum/firma ağından dışarıya giden SNMP istekleri de güvenlik duvarları ya da yönlendiriciler üzerinde filtrelenmelidir. Bu şekilde iç ağda yer alan cihazlar üzerinden ağ dışına yapılması olası SNMP saldırılarının da önüne geçilmiş olunur. Yerel ağda bir yönetim ağı oluşturmak ve bu yönetim ağını da diğer ağlardan izole etmek suretiyle SNMP’nin zaafiyetlerinden kaynaklanabilecek saldırılar için bir önlem olabilir. Pek fazla farkına varılamamış olunsa da SNMP açıklıkları ağımız için oldukça tehlikeli olabilir. Bu yüzden gerekli önlemlerin bir an önce alınması ağımızın güvenliği açısından oldukça önemlidir. |
|
|
Please Log in or Create an account to join the conversation. |
