SNMP (Simple Network Management Protocol)

SNMPv3, önceki sürümlerden ve güvenlik açısından daha gelişmiş. SNMPv3’te güvenlik seviyesi kavramı ortaya çıkmıştır. Bu seviyeler noAuthNoPriv (kimlik doğrulama ve şifreleme yok), authNoPriv (kimlik doğrulama, şifreleme yok) ve authPriv’dir (kimlik doğrulama ve şifreleme yok). Bu seviyelerin özellikleri aşağıdaki gibidir.

• noAuthNoPriv: v1 ve v2c’ye karşılık gelen güvenlik seviyesi. Sadece kullanıcı tabanlı şifreleme.
• authNoPriv: MD5 veya SHA algoritmalarını kullanarak veri bütünlüğünün yanı sıra kullanıcı adı ve şifreye dayalı kimlik doğrulama sağladığı için önceki sürümlerden daha yüksek bir güvenlik seviyesi sağlar.
• authPriv: Önerilen güvenlik seviyesi, verileri yalnızca aynı anahtara sahip alıcıların, önceki seviyeye ek olarak DES, 3DES veya AES algoritmasını kullanarak şifresini çözebilecek şekilde şifrelemesi nedeniyledir.

Başka bir deyişle, SNMPv3 güvenlik modeli authPriv güvenlik düzeyinde kullanıldığında, üç güvenlik bileşeni olan kimlik doğrulama, veri bütünlüğü ve gizlilik sağlar. Bu nedenle SNMPv3, 2004 yılından beri mevcut SNMP standardı olarak IETF tarafından kabul edilmiş ve önceki versiyonlar “modası geçmiş” olarak tanımlanmıştır.

SNMPv3 yapılandırması

• Grup oluşturuldu. Grubu oluştururken kullanılacak güvenlik modeli (v3) ve güvenlik seviyesi seçilir.
• Kullanıcı oluşturuldu. Kullanıcı oluştururken bir grubun üyesi olarak oluşturulur. Bu nedenle, söz konusu gruptaki güvenlik modeli ve güvenlik seviyesine uygun olarak oluşturulmalıdır. Güvenlik seviyesi gerektiriyorsa, doğrulama şifresi ve şifreleme anahtarı girilir.
• Görünüm oluşturulur. Görünümler MIB’de belirli değişkenleri içerir. Her grubun üç görünümü vardır: okuma görünümü, yazma görünümü ve görünümü bildir. Bir grubun okuma görünümü, o gruptaki kullanıcıların sorgulama izninin olduğu değişkenleri ifade eder. Benzer şekilde, yazma görünümü, kullanıcıların değiştirmelerine izin verilen değişkenleri belirtir ve bildirimde bulunma, kullanıcılara değiştiğinde bildirilecek değişkenleri belirtir. Görünümlerde yer alan değişkenler, grupların görünümlerinin yanı sıra değiştirilebilir. Grup oluştururken görünüm belirtilmezse, grup ”v1default sadece adlı bir okuma görünümüyle oluşturulur. Bu nedenle, örneğin, kullanıcıların değişmesine izin vermek istiyorsanız, grup görünüm için bir sorgu tanımlanmalıdır çünkü sorgu görünüm olmadan yapılamaz.
• VPN kullanıcılarının SNMP’den yararlanmaları isteniyorsa, bağlam ve eşleşme parametreleri kullanılarak oluşturulan grupta bir içerik tanımlanmalı ve bu içerik karşılık gelen VPN ile eşlenmelidir.

• Grup oluştur:

snmp-server user kullanıcıadı grup_adı [remote makine_adı [udp-port port]] {v1 | v2c | v3 [encrypted] [auth {md5 | sha} kimlik_denetimişifresi] [priv {des | 3des | aes {128 | 192 | 256}} şifreleme_anahtarı]} [access access_list]

• Bir kullanıcı oluştur

snmp-server user kullanıcı adı_grup [uzak makine_adı [udp-port port]] {v1 | v2c | v3 [şifreli] [auth {md5 | sha} id_control_password] [priv {des | 3des | aes {128 | 192 | 256}} encryption_key]} [erişim access_list]

• Görünüm Oluştur

snmp-server view view_adı OID {included | excluded}

Örnek SNMPv3 authPriv yapılandırması:

Router(config)#snmp-server group deneme v3 priv read GET write SET

V3 güvenlik modelinde authPriv “gerçekten güvenlik düzeyinde test” adlı bir grup oluşturur. Grubun okuma görünümü “GET” ve yazma görünümü “SET”. Eğer “remote” parametresi kullanılıyorsa, kullanıcının bağlanacağı ip adresi ve port numarası da özelleştirilebilir.

Router(config)#snmp-server user test deneme v3 auth md5 authpass priv 3des privpass

“Deneme” grubunun üyesi olan “test” adlı bir kullanıcı oluşturur. Güvenlik modeli v3, kimlik doğrulama şifresi h authpass ve ”karma algoritması MD5’tir. Paketlere uygulanacak şifreleme algoritması 3DES olarak seçilir ve anahtar geçiş şifresidir. Burada, “şifreli” parametresi, şifrenin ve anahtarın şifreli bir şekilde girilmesine izin verir.

Router(config)#snmp-server view GET 1.3.6.1 included

Gruba tanımlanan view’ların içereceği değişkenler belirlenir. Bu yapılandırmada 1.3.6.1 değişkeni erişilebilecek tüm değişkenleri tanımlamış olur. Varsayılan olarak tanımlanan “v1default” view’unun aksine bu görünümler ilk oluşturulduklarında hiçbir değişken içermez. Dolayısıyla erişimi sağlamak için hangi değişkenleri içerecekleri belirlenir.

Gerekli paketlerin yüklü olduğu bir Linux istemci de cihaz adını öğrenmek için komut satırında aşağıdaki komut işletilebilir:

root@bt: ~#snmpget –v 3 –l authPriv –u test –a MD5 –A authpass –X privpass 10.0.0.1 1.3.6.1.2.1.1.5.0
Çıktı:
SNMPv2-MIB: :sysName.0 = STRING: Router

Cihaz adını “itu” olarak değiştirmek için de aşağıdaki komut yürütülebilir:
root@bt: ~#snmpset –v 3 –l authPriv –u test –a MD5 –A authpass –X privpass 10.0.0.1 1.3.6.1.2.1.1.5.0 = itu
Çıktı:
SNMPv2-MIB: :sysName.0 = STRING: itu

Örneğin “SET” view’undan bu değişkeni çıkarırsak kullanıcı cihaz ismini görüntüleyebilecek fakat değiştiremeyecektir.
itu(config)#snmp-server view yazizni 1.3.6.1.2.1.1.5.0 excluded
root@bt: ~#snmpset –v 3 –l authPriv –u test –a MD5 –A authpass –X privpass 10.0.0.1 1.3.6.1.2.1.1.5.0 = hackme
Çıktı:
Error in packet.
Reason: noAccess
Failed object: SNMPv2-MIB: :sysName.0

SNMPv3 trap

Cihazdan trap (veya inform) yani bildirim almak istiyorsak eklememiz gereken yapılandırma şöyledir.
itu(config)#snmp-server enable [traps | informs]

Cihazın notification göndermesi aktive edilir. Bu komutun sonuna hangi konuda bildirim almak istediğimiz de eklenebilir (atm, bgp gibi). Eklenmezse hepsini içerir.

itu(config)#snmp-server host host-addr [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]}] WORD [udp-port port] [notification-type]

Cihazın bildirim göndereceği makine tanımlanır. Burda makine ismi veya ip’si belirtilir, trap mi inform mu kullanacağımız belirtilir güvenlik modeli ve düzeyi seçilir. “WORD” v1 ve v2c de community’ye v3’te kullanıcıya karşılık gelir. Ayrıca udp port’u ve hangi konuda bildirim gönderileceği de özelleştirilebilir.

SNMPv3 trap örnekleri

Yukarıdaki yapılandırmaya trap ile ilgili kısımları da ekleyelim

Router(config)#snmp-server enable traps

Router(config)#snmp-server host 10.0.0.2 traps version 3 priv test

Trap’leri 10.0.0.2 ip’sine v3 güvenlik modeli ve authPriv güvenlik düzeyinde, test kullanıcı adıyla göndereceğini belirtir.

Ayrıca oluşturduğumuz gruba bir notification view’u eklemeliyiz ve bu view’un içereceği değişkenleri belirtmeliyiz.

Router(config)#snmp-server group deneme v3 priv notification TRAP

Router(config)#snmp-server view TRAP 1.3.6.1 included

TRAP adında bir bildirim görünümü oluşturduk ve içerdiği değişkenleri belirledik. Ancak, GET ile erişebileceğimiz her değişkenin TRAP olarak gönderilmediğine dikkat edilmelidir.

Bu paketleri dinleyen bir uygulama, tuzak paketlerini alan makineye kurulursa, gelen paketler aynı anda gözlenebilir.

About cemerbas

Check Also

Zone-based Policy (ZPF) Firewall Yapılandırması

IOS ZBF erişim kontrolü / kısıtlaması için kullanılan bir özelliktir. Bildiğimiz en temel kısıtlama yöntemi …

Bir yanıt yazın