SNMPV3
___________




Öncelikle bu konu CCNA seviyesi egitimlerde yok.

CCNP seviyesi ( RS, Security vb ) egitimlerde ise var.


V3 ün iki tane farki vardir diger sürümlerden :

1- Güvenlik
2- KOnfigurasyon


Kullandigi mesajlar bile V2c nin aynilaridir.

2004 den beri Standard kabul edilmistir.

ve Agent ile Manager arasi gelip giden SNMP Mesajlari güvenlidir.

Yani arada kimse okuyamaz.


SNMPv3 ile

USER
GROUP
VIEW


KAvramlari gelmis bulunuyor.



View ile MIB denilen SÖZLÜGÜN neresi Kullanilabiliri tanimlariz !

GROUP ile O view i kimler kullanabiliri tanimlariz.

USER ile ise o GROUP a kimler katilabiliri tanimlariz.


***

Söyle bir küçük örnek vereyim.
( BU örnek ve kodlar uydurmadir )


Diyelimki elimizde cidden bir sözlük var.

Türkçe-Ingilizce Sözlük.

Söyle bir istegimiz olsun.

Herkes sözlügün her kismini kullanamasin.

MEsela kimisi sadece "A" harfi ile baslayan kelimeleri görebilirsin gibi.


Uydurma kodlarımızı girelim :



Kod:
CONF T
SNMP-SERVER VIEW XXX "A"
SNMP-SERVER GROUP YYY READ XXX WRITE XXX
SNMP-SERVER USER ZZZ YYY

Bu kodlari inceleyelim :



XXX diye bir View tanimladik.

View zaten GÖZ ATMAK , GÖRMEK demektir.

Kisaca XXX "A" = "A" ile baslayan kelimeler demektir.

*

YYY diye bir grup tanimladik ve

bu grubun XXX denilen view i kullanabilecegini söyledik.

Yani YYY grubundaki elemanlar "A" harfi ile baslayan kelimeleri görebilirler.

*

Sonra ZZZ diye bir kullanici tanimladik ve YYY grubuna üye oldu.

*

Sonuç olarak ZZZ kullanicisi sözlükteki sadece
A ile baslayan KELIMELERI görebilir çikti ortaya !

*



Yukardaki örnek uydurma bir örnektir.
Kodlarda uydurmadir.
Ve içinde GÜVENLIK yoktur.





Bakalim Cisco cihazlarda nasil yapacaz :



Önce bir VIEW olusturalim
__________________________



Kod:
CONF T
SNMP-SERVER VIEW XXX ISO INCLUDED

ISO bizim MIB sözlügünde hiyerarsik olarak
kocaman bir alani kapsar.

INCLUDED -> GÖRSÜN
EXCLUDED -> GÖRMESIN

Demektir.

Yani

Uydurma kodumuzdan örnek verecek olursak

CONF T
SNMP-SERVER VIEW XXX A INCLUDED
SNMP-SERVER VIEW XXX AN EXCLUDED

Burda sunu dedik : A ile baslayan kelimeleri görebilsin ( INCLUDED )
ancak "AN" ile baslayanlar hariç ( EXCLUDED )


Kisaca XXX diye bir VIEW olusturduk.



Kod:

#sh snmp view  | inc xxx
xxx iso - included nonvolatile active



Simdi bir GROUP OLusturalim
______________________________




Kod:

CONF T
SNMP-GROUP GROUP YYY V3 PRIV READ XXX WRITE XXX NOTIFY XXX

Bu komutu parçalara bölerek anlayalim :


---YYY diye bir grup olusturduk.

---SNMPv3 kullanacagimizi söyledik.

---PRIV diye bir sey yazdik.

"PRIV" yerine "auth" yada "noauth" yazabilirdik.

BUnlarin anlami ise bu group a
girecek USER larin ( birazdan tanimlayacagimiz )
nasil kabul edilecegidir.



NOAUTH -> Hiç Bir Güvenlik sorgulamasi olmadan herkes girebilir.
AUTH -> Kullanicilar MD5 yada SHA ile Authenticate olmalidirlar.
PRIV -> Kullanicilar hem MD5 yada SHA ile Authenticate olmalidirlar
hemde DES, 3DES, AES için ortak bir sifreleri olmalidir.


Not : Hashing , Hmac, Encryption, Authentication, Confidentiality gibi
kavramlari CCNA Security de ögretilmektedir.



Ayrica

Read XXX
Write XXX
Notify XXX

ile bu grubun XXX e neler yapabilecegini söyledik.
OKuyabilirler ( READ ) , Degistirebilirler( WRITE ),
ve Trap/Inform gönderebilirler ( NOTIFY )



Kisaca YYY denilen bir gruba ( ki suanda içinde kullanici yok )

üye olmak isteyen USER bize hashing ( md5,sha vb.) ve encryption

( des,3des,aes vb. ) bilgileri sunmak zorundadir.


*


Ayrica bu grup XXX denilen ( ki bu ISO demekti ) view i

okuyabilir, degistirebilir ve bununla ilgili trap/inform lari

Manager a gönderebilir.


*


Kod:
R1#sh snmp group

groupname: yyy                              security model:v3 priv
contextname: <no context specified>         storage-type: nonvolatile
readview : xxx                              writeview: xxx
notifyview: xxx
row status: active



Simdide bir USER olusturalim
_____________________________



Kod:

CONF T
SNMP-SERVER USER ZZZ YYY V3 AUTH MD5 12345 PRIV DES 54321


---ZZZ diye bir USER olusturdum.
---YYY group una üye ettik.
---SNMPv3 kullaniyoruz.

AUTH MD5 -> Authentication olarak MD5 kullaniyoruz. ( MD5 yada SHA olabilir)
Ve sifremiz 12345

PRIV 3DES -> Encryption olarak DES kullaniyoruz.
Ve sifremiz 54321

Çünkü yukarda tanimladigimiz grubun üyelerine bunlari sart koyduk.




Kod:
R1#sh snmp user


User name: zzz
Engine ID: 800000090300CA0010800006
storage-type: nonvolatile        active
Authentication Protocol: MD5
Privacy Protocol: DES
Group-name: yyy




Win7 ye gidip Gerekli SNMPV3 ayarlari yaptim.
Win7 de yaptigim ayar ise

Target Host : 10.0.0.1
User Name : zzz
Auth Protocol : MD5
Auth Password : 12345
Priv Protocol : DES
Priv Password : 54321





Test olarak ise ROUTER un ismini soralim :


OID -> .1.3.6.1.2.1.1.5.0 Yazdim

Ve GETREQUEST tusuna bastim.

Bana -> sysName.0 = R1 degerini verdi.


AYrica Manager ve Agent arasi SNMP Mesajlarini

WireShark ile görmeye çalistim ama hersey sifreliydi.





Son olarak ise TRAP/INFORM gönderelim:

Bunun için R1 üzerinde :



Kod:

CONF T
SNMP-SERVER ENABLE TRAPS
SNMP-SERVER ENABLE TRAPS SYSLOG
SNMP-SERVER HOST 10.0.0.10 TRAPS VERSION 3 priv zzz


Win7 üzerindeki SNMP yazilimina gidip TRAP leri göster dedim

ve TRAP leri almaya basladim.



***


Umarim buraya kadarki SNMP kavramlari anlasilmistir.

( Müsait bir zamanda ayrintili MIB hakkinda yazabiliriz )



Bir Sonraki KOnular :

NETFLOW ( Detayli )
Cisco Security Konulari ( CCNA,CCNP,CCIE )