Bir anahtarın portu hata vermeye başladığında, bir güvenlik duvarının belleği dolduğunda ya da bir UPS aküsü zayıfladığında bunu nereden öğrenirsiniz? Çoğu kurumsal ağ cihazında cevap aynıdır: SNMP. Neredeyse her yönlendirici, anahtar, güvenlik duvarı, yazıcı, depolama ünitesi ve UPS bu protokolü konuşur. İzleme yazılımları da cihazların sağlığını büyük ölçüde SNMP ile okur. Ancak SNMP’nin eski sürümleri güvenlik düşünülmeden tasarlanmıştır ve bugün hâlâ birçok ağda varsayılan ayarlarla açık durur. Bu yazıda SNMP’nin temel kavramlarını, sürümler arasındaki farkı ve SNMPv3’ü güvenli şekilde nasıl yapılandıracağınızı anlatıyoruz. Genel izleme yaklaşımımız için ağ ve sunucu izleme sayfamıza bakabilirsiniz.
SNMP nedir?
SNMP (Simple Network Management Protocol), ağ cihazlarından durum ve performans bilgisi okumak, gerektiğinde ayar değiştirmek ve cihazlardan olay bildirimi almak için kullanılan bir protokoldür. Dört temel kavramı vardır:
- Yönetici (manager): Bilgiyi soran taraftır; izleme sunucunuz.
- Ajan (agent): Cihazın üzerinde çalışan ve sorulara cevap veren yazılımdır. Ağ cihazlarının çoğunda yerleşik gelir, yalnızca etkinleştirilmesi gerekir.
- MIB: Bir cihazın hangi bilgileri sunduğunu tarif eden sözlüktür. Standart MIB’lerin yanında her üreticinin kendi MIB’leri vardır.
- OID: MIB içindeki her bilginin adresidir. Örneğin bir arayüzün gelen bayt sayacı ya da cihazın çalışma süresi ayrı bir OID ile okunur.
Sorgu ve bildirim: iki çalışma şekli
SNMP iki yönlü çalışır. İzleme sunucusu belirli aralıklarla cihaza sorar: “Bu arayüzden kaç bayt geçti? İşlemci kullanımı nedir?” Buna yoklama (polling) denir. RFC 3417, ajanların bu sorgular için UDP 161 numaralı portu dinlemesini önerir.
Cihaz da önemli bir olay olduğunda beklemeden haber verebilir: bir port düştüğünde, bir fan arızalandığında ya da cihaz yeniden başladığında. Bu bildirimlere trap ya da inform denir ve bunları alan taraf için önerilen port UDP 162’dir.
İyi bir izleme düzeni ikisini birlikte kullanır. Yoklama, eğilimleri ve eşik aşımlarını yakalar. Bildirim ise iki yoklama arasında olup biten ani olayları kaçırmamanızı sağlar.
SNMP sürümleri: v1, v2c ve v3
| Sürüm | Kimlik doğrulama | Şifreleme | Değerlendirme |
|---|---|---|---|
| SNMPv1 | Düz metin topluluk adı (community string) | Yok | Kullanmayın. |
| SNMPv2c | Düz metin topluluk adı | Yok | Performans iyileştirmeleri getirir ama güvenlik modeli v1 ile aynıdır. |
| SNMPv3 | Kullanıcı bazlı, parola ile türetilen anahtarlar | Var (authPriv seviyesinde) | Tercih edilmesi gereken sürüm. |
SNMPv3 mimarisini özetleyen RFC 3410 bu konuda açıktır: v1 ve v2c yalnızca düz metin topluluk adlarına dayanan basit bir kimlik doğrulama sunar ve temelden güvensizdir. SNMPv3 güvenlik belirtimleri tam standart olduğunda, v1 ve v2c belirtimleri güvenlik zayıflıkları nedeniyle “tarihî” (Historic) statüsüne alınmıştır.
Pratikte anlamı şudur: Ağınızı dinleyebilen biri v2c topluluk adını okuyabilir. Varsayılan “public” adıyla bırakılmış bir cihaz ise dinlemeye bile gerek bırakmaz. Okuma yetkisi, saldırgana ağınızın haritasını, arayüzlerinizi ve yönlendirme tablolarınızı verir. Yazma yetkisi açık bırakılmışsa cihazın ayarlarını değiştirmek mümkün olabilir.
SNMPv3 güvenlik seviyeleri
SNMPv3’ün kullanıcı tabanlı güvenlik modeli (USM), RFC 3414’te tanımlanır ve üç güvenlik seviyesi sunar:
| Seviye | Kimlik doğrulama | Şifreleme | Ne zaman? |
|---|---|---|---|
| noAuthNoPriv | Yok | Yok | Kullanmayın; v2c’den farkı yoktur. |
| authNoPriv | Var | Yok | Yalnızca cihaz şifrelemeyi desteklemiyorsa, geçici olarak. |
| authPriv | Var | Var | Hedef seviye. |
Kimlik doğrulama, mesajın gerçekten yetkili kullanıcıdan geldiğini ve yolda değiştirilmediğini kanıtlar. USM ayrıca zaman bilgisi kullanarak eski mesajların yeniden oynatılmasına karşı koruma sağlar. Şifreleme ise mesaj içeriğinin okunmasını engeller.
Hangi algoritmalar?
RFC 3414 kimlik doğrulama için HMAC-MD5-96 ve HMAC-SHA-96, şifreleme için CBC-DES tanımlar. Sonraki standartlar daha güçlü seçenekler ekledi: RFC 3826 şifreleme için 128 bit anahtarlı AES’i, RFC 7860 ise kimlik doğrulama için SHA-2 ailesinden HMAC protokollerini tanımlar. Önerimiz basittir: Cihazınız destekliyorsa kimlik doğrulamada SHA-2 ailesini, şifrelemede AES’i seçin. MD5 ve DES’i yalnızca başka seçenek sunmayan eski cihazlarda kullanın ve bu cihazları yenileme listenize yazın.
Güvenli SNMP kontrol listesi
- Tüm cihazlarda SNMPv1 ve v2c’yi kapatın. Kapatamadığınız eski bir cihaz varsa topluluk adını değiştirin ve erişimi tek bir izleme sunucusuna sınırlayın.
- Varsayılan “public” ve “private” topluluk adlarını hiçbir cihazda bırakmayın.
- SNMPv3’ü authPriv seviyesinde yapılandırın; güçlü ve cihazdan cihaza farklı parolalar kullanın.
- İzleme için salt okunur kullanıcı tanımlayın. Yazma yetkisini gerçekten ihtiyaç olmadıkça vermeyin.
- Kullanıcının görebileceği MIB bölümlerini görünüm tabanlı erişim denetimiyle (VACM) sınırlayın.
- Cihazlarda SNMP erişimini izleme sunucusunun IP adresiyle kısıtlayın.
- SNMP trafiğini yönetim VLAN’ı üzerinden taşıyın. UDP 161 ve 162 portlarını internete ve kullanıcı ağlarına açmayın; bunu güvenlik duvarı kurallarınızla da uygulayın.
- Trap ve inform hedeflerini tanımlayın ki olaylar yoklama aralığını beklemesin.
- SNMP parolalarını diğer yönetici parolaları gibi bir parola kasasında saklayın. Kimlik ve erişim yönetimi araçları bu konuda işinizi kolaylaştırır.
- Personel değişikliklerinde SNMP kullanıcılarını ve parolalarını da güncelleyin.
SNMPv3’e geçerken sık karşılaşılan sorunlar
- Protokol uyuşmazlığı: Cihazda SHA-256 ve AES seçilip izleme sunucusunda farklı algoritma seçildiğinde sorgular sessizce başarısız olur. İki tarafta kullanıcı adı, kimlik doğrulama ve şifreleme protokolü birebir aynı olmalıdır.
- Cihaz değişimi: SNMPv3’te anahtarlar, cihazın motor kimliğine (engine ID) göre yerelleştirilir. Arızalı bir cihaz yenisiyle değiştirildiğinde ya da motor kimliği değiştiğinde izleme tarafındaki tanımın güncellenmesi gerekebilir.
- Arada kalan güvenlik duvarı: İzleme sunucusu ile cihaz arasında bir güvenlik duvarı varsa UDP 161 ve 162 için yalnızca gerekli yönlerde kural açın.
- Eksik MIB: Üreticiye özel bilgileri okumak için o üreticinin MIB dosyalarının izleme yazılımına yüklenmesi gerekir.
SNMP ile neyi izlemeli?
SNMP’yi etkinleştirmek başlangıçtır. Asıl değer, doğru metriklerden anlamlı uyarılar üretmektir. İlk aşamada şunlar çoğu kurum için yeterlidir:
- Cihaz erişilebilirliği ve çalışma süresi (beklenmeyen yeniden başlamaları gösterir)
- Kritik arayüzlerin durumu, doluluğu ve hata sayaçları
- İşlemci, bellek ve disk kullanımı
- Sıcaklık, fan ve güç kaynağı durumu
- UPS akü durumu ve kalan süre; sistem odası ortam sensörleri
SNMP bir arayüzün dolu olduğunu söyler ama neyle dolu olduğunu söylemez. Bu sorunun cevabı akış verisindedir; NetFlow nedir yazımızda anlattık. İzlemeyi kurduktan sonraki ilk haftalarda hangi uyarıların kurulacağını da ağ izlemede ilk 30 gün yazımızda ele aldık.
Unna ile SNMP tabanlı izleme
Unna olarak izleme projelerine önce envanterle başlarız: hangi cihazlar var, hangileri SNMPv3 destekliyor, hangilerinde eski sürümler hâlâ açık. Sonra cihazlarınızda SNMPv3’ü güvenli ayarlarla yapılandırır, eski sürümleri kapatır ve erişimi yalnızca izleme sunucusuna açarız. İzleme tarafında OpManager ile cihazlarınızı ajansız izler, uyarıları ekibinizin gerçekten takip edebileceği sayıya indiririz. Yenilenmesi gereken eski cihazları da bu çalışmada raporlarız. Ağınızdaki SNMP ayarlarını birlikte gözden geçirmek için bize yazın.


