SNMP bölüm 3: v3 yenilikleri ve yapılandırması

SNMPv3 önceki versiyonlara göre ve güvenlik açısından daha gelişmiştir. SNMPv3’te güvenlik düzeyi kavramı ortaya çıkmıştır. Bu düzeyler noAuthNoPriv (Kimlik denetimi ve şifreleme yok), authNoPriv (Kimlik denetimi var, şifreleme yok) ve authPriv (Kimlik denetimi ve şifreleme var) şeklindedir. Bu düzeylerin özellikleri şöyledir.

• noAuthNoPriv: v1 ve v2c’ye karşılık gelen güvenlik düzeyidir. Sadece kullanıcı adı bazlı şifreleme yapar.
• authNoPriv: Önceki versiyonlara göre daha üst seviyede bir güvenlik sağlar çünkü kimlik denetimini kullanıcı adı ve şifre bazlı yapmasının yanı sıra MD5 veya SHA algoritmalarını kullanarak veri bütünlüğü de sağlar.
• authPriv: Uygulanması tavsiye edilen güvenlik düzeyidir çünkü bir önceki seviyeye ek olarak DES, 3DES ya da AES algoritmasını kullanarak sadece aynı anahtara sahip alıcıların çözebileceği bir şekilde veriyi şifreler.

Yani SNMPv3 güvenlik modeli authPriv güvenlik düzeyinde kullanıldığında güvenliğin 3 temel bileşeni olan kimlik denetimi, veri bütünlüğü ve gizliliği sağlar. Bu nedenle SNMPv3 IETF tarafından 2004 yılından itibaren güncel SNMP standardı olarak kabul edilmiş, önceki versiyonlar “demode” olarak nitelendirilmiştir.

SNMPv3 yapılandırması

• Group oluşturulur. Grup oluşturulurken kullanılacak güvenlik modeli (v3) ve güvenlik düzeyi seçilir.
• User oluşturulur. User oluşturulurken bir gruba üye olacak şekilde oluşturulur. Dolayısıyla o gruptaki güvenlik modeline ve güvenlik düzeyine uygun bir şekilde oluşturulmalıdır. Güvenlik düzeyi gerektiriyorsa kimlik denetimi şifresi ve şifreleme anahtarı girilir.
• View oluşturulur. View’lar MIB’deki belli değişkenleri içerir. Her grubun üç view’u vardır: read view, write view ve notify view.Bir grubun sahip olduğu read view o gruptaki kullanıcıların sorgu yapma izni olan değişkenleri ifade eder. Aynı şekilde write view kullanıcıların değiştirme izni olduğu değişkenleri, notify view da kullanıcılara değiştiğinde bildirim gönderilecek değişkenleri belirtir. View’ların içerdiği değişkenler değiştirilebileceği gibi grupların sahip olduğu view’lar da değiştirilebilir. Bir grup yaratılırken sahip olacağı view’lar belirtilmezse grup sadece “v1default” adında bir read view’a sahip olarak yaratılır. Dolayısıyla örneğin kullanıcılara değiştirme izni vermek isteniyorsa gruba bir write view tanımlanmalıdır çünkü view olmadan sorgulama yapılamaz.
• VPN kullanıcılarının SNMP’den faydalanması isteniyorsa context ve match parametreleri kullanılarak oluşturulan gruba bir context tanımlanmalı ve bu context ilgili VPN ile eşleştirilmelidir.

• Grup oluşturma:

snmp-server group grup_adı {v1 | v2c | v3 {auth |noauth | priv}} [read read_view] [write write_view] [notify notify_view] [access access_list] [context context] [match {exact | prefix}]

• Kullanıcı oluşturma

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]

• View oluşturma

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 güvenlik düzeyinde “deneme” adında bir grup oluşturur. Grubun read view’u “GET”, write view’u da “SET”tir. “remote” parametresinin kullanılması halinde 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” grubuna üye olan “test” adında bir kullanıcı oluşturur. Güvenlik modeli v3, kimlik denetimi şifresi “authpass”, hash algoritması MD5’tir. Paketlere uygulanacak şifreleme algoritması 3DES olarak seçilmiştir ve anahtar “privpass”tır. Burada “encrypted” parametresi şifre ve anahtarın kriptolu bir şekilde girilmesine imkan tanır.

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

Router(config)#snmp-server view SET 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

itu(config)#snmp-server enable traps

itu(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.
itu(config)#snmp-server group deneme v3 priv notification TRAP

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

TRAP adında bir notification view’u oluşturduk ve içerdiği değişkenleri belirledik. Fakat unutulmamalıdır ki GET ile erişebildiğimiz her değişken TRAP olarak gönderilmez.

Trap paketlerini alacak olan makineye bu paketleri dinleyen bir uygulama kurulursa gelen paketler eş zamanlı olarak gözlemlenebilir.Kurulan uygulamada da cihazdaki yapılandırmaya uygun ayarlar yapılmalıdır(Yani güvenlik seviyesi, kullanıcı adı, şifresi, şifreleme anahtarı ve şifreleme türleri belirtilmelidir).
Aşağıda trap paketleri gösterilmektedir

• Cihazın bir interface’i “shutdown” komutuyla kapatıldığında:


• Cihaz “reload” komutuyla baştan başlatıldığında:


• Cihazla kurulan bir telnet oturumu sonlandığında:

MIB’lerin ne anlama geldiğini öğrenmek için Cisco’nun sitesindeki SNMP Object Navigator kullanılabilir.

Yetkili modda “show snmp group” komutu yürütüldüğünde, cihazın türüne bağlı olarak v1 ve v2c güvenlik modellerinde “*ilmi” okuma ve yazma görünümlerine sahip “ILMI” adında iki grup gözükebilir. Bu iki grubun oluşmasının sebebi ATM bağlantılarda bağlantının kurulması için ILMI (Interim Local Management Interface) protokolünün SNMP kullanmasıdır. Bu gruplar bir güvenlik açığı oluşturabilir. Bunu önlemek amacıyla interface’lere veya community’ye bir access-list tanımlanabilir ya da “snmp-server community ILMI rw” , “no snmp-server community ILMI rw” komutlarıyla gruplar kaldırılabilir.
SNMP işlemleri sadece komut satırında yapılmaz. Windows istemcilerde grafik arayüzde çalışan kullanışlı SNMP yazılımları vardır. Bu yazılımlar sayesinde get ve set komutları gayet hızlı ve etkili bir şekilde kullanılabilir. SNMP’den özellikle cihazları takip etmede yararlanılır. Cihazla ilgili bilgileri grafik olarak ekrana getiren, hatta belirtilen durumlarda sorumluya e-posta ve SMS atacak şekilde ayarlanabilen uygulamalar mevcuttur. Yani SNMP cihaz yönetimine yeni bir boyut katarken acil durumlarda müdahale süresini en aza indirmekte ve SNMPv3 ile gelen ek özellikler sayesinde bu işlemleri güvenli bir şekilde yapmaktadır.


OĞUL ÇELİKSOYDAN

“SNMP bölüm 3: v3 yenilikleri ve yapılandırması” için bir cevap

Bir Cevap Yazın

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