SNMP

İnternet iletişim kuralları dizisi

OSI modeli

Katman İletişim kuralları
7. Uygulama katmanı HTTP, DNS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ...
6. Sunum katmanı ISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ...
5. Oturum katmanı NFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ...
4. Ulaşım katmanı TCP, UDP, SCTP, DCCP, ...
3. Ağ katmanı IP, IPv4, IPv6, ICMP, ARP, İnternet Grup Yönetim Protokolü, IPX,...
2. Veri bağlantısı katmanı Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP...
1. Donanım katmanı ISDN, RS-232, EIA-422, RS-449, EIA-485, ...
SNMPv3 STD0062
OSI katmanıUygulama
Port(lar)161, 162 (Trap)
RFC(ler)3411–3418
Secure SNMP
OSI katmanıUygulama
Port(lar)10161, 10162 (Trap)
RFC(ler)6353

Basit Ağ Yönetim Protokolü, (İngilizce: Simple Network Management Protocol) bilgisayar ağları büyüdükçe bu ağlar üzerindeki birimleri denetlemek amacıyla tasarlanmıştır. Cihaz üzerindeki sıcaklıktan, cihaza bağlı kullanıcılara, internet bağlantı hızından sistem çalışma süresine kadar çeşitli bilgiler SNMP'de tanımlanmış ağaç yapısı içinde tutulurlar.

SNMP, ağ cihazlarında yönetimsel bilgi alışverişinin sağlanması için oluşturulmuş bir uygulama katmanı protokolüdür. TCP/IP protokolünün bir parçası olan SNMP; ağ yöneticilerinin ağ performansını arttırması, ağ problemlerini bulup çözmesi ve ağlardaki genişleme için planlama yapabilmesine olanak sağlar. Günümüzde kullanımda olan 3 tane SNMP sürümü mevcuttur. 3. sürüm SNMP'ye pek çok güvenlik özelliği getirmiştir.

SNMP’yi oluşturan bileşenler

SNMP'nin tipik kullanımlarında, ağdaki bir grup ana bilgisayar veya cihazı izleme veya yönetme görevi olan bir veya daha fazla yönetici adı verilen yönetici bilgisayarları bulunur. Her yönetilen sistem, yöneticiye SNMP aracılığıyla bilgi raporlayan bir yazılım bileşeni olan bir ajanı yürütür.

SNMP İletişim Prensibi

SNMP tarafından yönetilen bir ağ, üç temel bileşenden oluşur:

Yönetilen cihaz, düğüm özgü bilgilere tek yönlü (yalnızca okuma) veya iki yönlü (okuma ve yazma) erişim sağlayan bir SNMP arabirimini uygulayan bir ağ düğümüdür. Yönetilen cihazlar, NMS'lerle düğüm özgü bilgileri takas ederler. Ağ elemanları olarak da adlandırılan yönetilen cihazlar, yönlendiriciler, erişim sunucuları, anahtarlar, kablo modemleri, köprüler, hub'lar, IP telefonları, IP video kameraları, bilgisayar ana bilgisayarları ve yazıcılardan herhangi bir cihaz olabilir.

Bir ajan, yönetilen bir cihazda yer alan bir ağ yönetimi yazılım modülüdür. Bir ajan, yönetim bilgilerinin yerel bilgisine sahiptir ve bu bilgileri SNMP'ye özgü bir forma çevirir.

Bir ağ yönetim istasyonu, yönetilen cihazları izleyen ve kontrol eden uygulamaları yürütür. NMS'ler, ağ yönetimi için gereken işlem ve bellek kaynaklarının çoğunu sağlar. Yönetilen bir ağda bir veya daha fazla NMS olabilir.

SNMP yönetim bilgi birimleri (MIB)

MIB’ler hiyerarşik bir yapıda kayıtlı tutulan bilgi koleksiyonudur. SNMP’de belirli bir değişkenin değerine ulaşmak için evrensel olarak belirlenmiş bu koleksiyonun ilgili birimi kullanılır. Örneğin bir cihazın üreticisi tarafından atanan cihaz açıklaması için 1.3.6.1.2.1.2 birimindeki bilgiye ulaşmak gerekir. Ağaç yapısında bu rakamların karşılığı "iso.identified-organization.dod.internet.mgmt.mib-2.description" değerine karşılık gelmektedir.

SNMP OID (Object ID) ağacı

SNMP'nin kullanımı

SNMP istek gönderme ve cevap bekleme ile çalışan bir protokoldür. Ağ yönetim sistemi uygulaması ajan uygulama çalıştıran cihaza ihtiyaç duyduğu bilginin isteğini gönderir ve isteği alan cihaz yönetim uygulamasına ilgili değeri döndürür. Burada UDP ve IP gibi geçmişten günümüze sıklıkla kullanılan iletişim protokollerinden birisi kullanılabilir. SNMP’de yönetim ve izleme SNMPv1 adı verilen ilk sürümünde sadece 4 çeşit işlemle gerçekleştirilir:

SNMPv2 adı verilen ikinci sürüm ise ilk sürümün geliştirilmesi ile ortaya çıkarılmıştır. Örneğin iki yeni işlem ilave edilmiştir:

Bunun yanı sıra MIB’ler için kullanılan bilgi saklama değişkenlerinin kapasitesi arttırılmıştır. Örneğin 32 bitlik sayaçların yanı sıra 64 bitlik sayaçlar kullanılmaya başlanmıştır. Her ne kadar bir geliştirilme ile ortaya çıkarılsa da bu iki sürüm birbiriyle uyumlu değildir. Ancak her iki sürümü destekleyen sistemler de mevcuttur.

RESPONSE: Get komutu ile istenen verileri içeren bir yanıt gönderir.

Protokol sürümleri

Uygulamada, SNMP uygulamaları genellikle birden fazla sürümü desteklerler: tipik olarak SNMPv1, SNMPv2c ve SNMPv3 olmak üzere 3 tanedir.

SNMPv1

SNMP'nin ilk uygulaması olan SNMP sürüm 1 (SNMPv1), SNMP protokolünün tasarımı 1980'lerde bir grup işbirlikçi tarafından yapılmıştır. Resmi olarak desteklenen OSI/IETF/NSF (Ulusal Bilim Vakfı) çabası (HEMS/CMIS/CMIP) o dönemin bilgi işlem platformlarında uygulanamaz olduğu kadar potansiyel olarak işlevsiz olarak da görülmüştü. SNMP, internetin büyük ölçekli dağıtımı ve ticarileştirilmesine yönelik atılan adımlar için geçici bir protokol olarak kabul edildi.

SNMP'nin ilk İstek için Yorumlar (RFC'ler), şimdi SNMPv1 olarak bilinen, 1988'de ortaya çıktı:

1990 yılında, bu belgelerin yerini şunlar aldı:

1991 yılında, RFC 1156 (MIB-1) daha sık kullanılan ile değiştirilmiştir:

SNMPv1, User Datagram Protocol (UDP), OSI Connectionless-mode Network Service (CLNS), AppleTalk Datagram Delivery Protocol (DDP) ve Novell Internetwork Packet Exchange (IPX) gibi taşıma katmanı protokolleri tarafından taşınabilir.

Sürüm 1, zayıf güvenliği nedeniyle eleştirildi. Spesifikasyon, aslında, özel kimlik doğrulamanın kullanılmasına izin verir, ancak yaygın olarak kullanılan uygulamalar, "yalnızca tüm SNMP mesajlarını gerçek SNMP mesajları olarak tanımlayan önemsiz bir kimlik doğrulama hizmetini destekler." Bu nedenle, mesajların güvenliği, mesajların gönderildiği kanalların güvenliğine bağlıdır. Örneğin, bir kuruluş, kendi iç ağının, SNMP mesajları için hiçbir şifreleme gerekmeyecek kadar güvenli olduğunu düşünebilir. Bu gibi durumlarda, açık metin olarak iletilen "topluluk adı", orijinal spesifikasyona rağmen fiili bir şifre olarak görülme eğilimindedir.

SNMPv2c

RFC 1441 ve RFC 1452 tarafından tanımlanan SNMPv2, sürüm 1'i gözden geçirir ve performans, güvenlik ve yönetici-yönetici iletişimi alanlarında geliştirmeler içerir. Tek bir istekte büyük miktarda yönetim verisi almak için iteratif GetNextRequests'a alternatif olarak GetBulkRequest tanıtıldı. SNMPv2'de tanıtılan yeni parti tabanlı güvenlik sistemi, birçok kişi tarafından aşırı karmaşık olarak görüldüğü için yaygın olarak benimsenmedi. Bu SNMP sürümü, Önerilen Standart olgunluk seviyesine ulaştı, ancak daha sonraki sürümler tarafından kullanılmayacak şekilde eski olarak kabul edildi.

Topluluk Tabanlı Basit Ağ Yönetim Protokolü sürüm 2 veya SNMPv2c, RFC 1901 - RFC 1908'de tanımlanmıştır. SNMPv2c, tartışmalı yeni SNMP v2 güvenlik modeli olmadan SNMPv2'yi içerir ve yerine SNMPv1'in basit topluluk tabanlı güvenlik şemasını kullanır. Bu sürüm, IETF'nin Taslak Standart olgunluk seviyesini karşılayan nispeten az sayıda standarttan biridir ve yaygın olarak SNMPv2 standardı olarak kabul edilir. Daha sonra SNMPv3'ün bir parçası olarak yeniden belirtildi.

Kullanıcı Tabanlı Basit Ağ Yönetim Protokolü sürüm 2 veya SNMPv2u, RFC 1909 - RFC 1910'da tanımlanmıştır. Bu, SNMPv1'den daha büyük bir güvenlik sağlamaya çalışan, ancak SNMPv2'nin yüksek karmaşıklığını ortaya çıkarmadan bir uzlaşmadır. Bu varyant, SNMP v2 * olarak ticarileştirildi ve mekanizma nihayetinde SNMP v3'teki iki güvenlik çerçevesinden biri olarak benimsendi.

SNMPv3

SNMPv3, şifreli güvenliğin eklenmesi dışında, protokolde herhangi bir değişiklik yapmaz; ancak yeni metinsel kurallar, kavramlar ve terimler nedeniyle çok farklı görünür. En dikkat çekici değişiklik, SNMP'nin güvenli bir sürümünü tanımlamak için, SNMP'ye güvenlik ve uzaktan yapılandırma geliştirmeleri ekleyerek gerçekleştirildi. Güvenlik yönü, gizlilik için hem güçlü kimlik doğrulama hem de veri şifrelemesi sunarak ele alınmıştır. Yönetim yönü için SNMPv3, bildirim kaynakları ve proxy yönlendiricileri olmak üzere iki bölüme odaklanmaktadır. Değişiklikler ayrıca, SNMP varlıklarının uzaktan yapılandırması ve yönetimi ile ilgili konuların yanı sıra, büyük ölçekli dağıtım, hesaplamalar ve hata yönetimi ile ilgili sorunları ele almayı kolaylaştırmaktadır.

Dahil edilen özellikler ve geliştirmeler:

SNMP'nin en büyük zayıflıklarından biri güvenlik, özellikle SNMP Sürümleri 1 ve 2'de kimlik doğrulama, yönetici ve ajan arasında açık metin olarak gönderilen bir paroladan (topluluk dizisi) ibarettir. Her SNMPv3 mesajı, oktet dizesi olarak kodlanan güvenlik parametreleri içerir. Bu güvenlik parametrelerinin anlamı, kullanılan güvenlik modeline bağlıdır. v3'teki güvenlik yaklaşımı aşağıdaki hedefleri hedefler:

v3 ayrıca, daha sonra SNMPv3'ün SSH üzerinden ve SNMPv3'ün TLS ve DTLS üzerinden desteklenmesini sağlayan bir taşıma güvenliği modeli (TSM) tarafından takip edilen USM ve VACM'yi tanımlar.

2004 yılı itibarıyla, IETF, RFC 3411 - RFC 3418 tarafından tanımlandığı şekliyle (aynı zamanda STD0062 olarak da bilinen) Basit Ağ Yönetim Protokolü sürüm 3'ü, mevcut standart sürüm olarak tanımaktadır. IETF, SNMPv3'ü tam bir İnternet standardı olarak belirlemiştir, RFC için en yüksek olgunluk seviyesidir. Daha önceki sürümleri, çeşitli şekillerde "Tarihi" veya "Eskimiş" olarak belirleyerek, eskimiş olarak kabul etmektedir.

Linux işletim sisteminde SNMP sürümlerini etkinleştirme

Turbonomic, Guest Processes'i bulmak için SNMP'nin etkinleştirmesi ve yapılandırılması gerekir. Bu adımlar işletim sürümleri arasında farklılık gösterebilir. Genel adımlar şu şekildedir;

SNMPv2'yi etkinleştirmek

1.Adım: Linux dağıtımınız ve sürümünüz için uygun SNMPv2c sunucu paketini edinin ve kurun. Çoğu paket yöneticisinde net-snmp şeklinde adlandırılır. Eğer paket içerinde net-snmp-utils varsa bunu da kurun.

2.Adım: SNMP'yi yapılandırmak için /etc/snmp/snmpd.conf ve doğrulamak için snmp-conf -i komutu çalıştırılarak SNMPv2c etkinleştirilir ve ardından salt okunur bir topluluk adı ayarlanır. Bu topluluk adı Turbonomic tarafından sanal makinedeki SNMP aracıyla iletişim kurmak için kullanılır. Not:Seçeceğiniz topluluk adı sistemdeki tüm OID'lere en azından salt okunur erişime sahip olmalıdır.

3.Adım: Arka plan programını genel bir arabirimde dinleyecek şekilde yapılanmalıdır. Varsayılan kurumların çoğu yalnızca şu adresi tanır: 127.0.0.1

4.Adım: SNMP kurulumu doğrulanması gerekir.Topluluk dizesini ve IP adresini değiştirerek uzak bir makineden aşağıdaki komutu kullanarak SNMP kurulumunuzun başarılı olduğunu doğrulayın:

snmpwalk -Os -v 2c -c COMMUNITY_STRING IP_ADDRESS iso.3.6.1.2.1.1.1

Başarılı olursa, komut makinenin çekirdek sürümünü döndürecektir.

SNMPv3'ü etkinleştirmek

1.Adım: Linux dağıtımınız ve sürümünüz için uygun SNMPv2c sunucu paketini edinin ve kurun. Aynı şekilde SNMPv2c sürümünde olduğu gibi genel olarak çoğu paket yöneticisinde net-snmp ile adlandırılır. Aşağıdaki 5. adımda yapılandırmanızı doğrulamak için paketi Turbonomicnet-snmp-utils VM'ye de kurmalısınız .

2.Adım: SNMP hizmetini durdurun.

3.Adım: SNMPv3 kullanıcısını şu komutla oluşturun ;net-snmp-config --create-snmpv3-user

Örnek komut:

i. net-snmp-create-v3-user -ro -A snmpv3authPass -a SHA -X snmpv3encPass -x AES snmpv3user

Aşağıdaki koda benzer bir çıktıyla sonuçlanır:

adding the following line to /var/lib/net-snmp/snmpd.conf:

createUser snmpv3user SHA "snmpv3authPass" AES snmpv3encPass adding the following line to /etc/snmp/snmpd.conf:

rouser snmpv3user

4.Adım: Kurulumunuzu doğrulayın ; Yapılandırmayı doğrulamak için Turbonomic VM üzerinde aşağıdaki komutu yürütebilirsiniz :

snmpwalk -Os -v 2c -c COMMUNITY_STRING IP_ADDRESS iso.3.6.1.2.1.1.1

SNMP'nin uygulama alanları

SNMP büyük ve uzaktan yönetilme zorunluluğu doğan ağ cihazlarının tek bir merkezden gözlenmesi ve ayarlanmasına olanak sağlar. Sunucular, routerlar, modemler ve kişisel bilgisayarlar gibi ağı oluşturan tüm birimlerde birer SNMP ajanı bulunabilir. Bunlar Ağ Yönetim Sisteminin çalıştığı birime istek üzerine çalıştırdıkları hizmetlerle ilgili bilgileri sağlayabilecekleri gibi oluşan herhangi bir acil durumu da bu sisteme bildirip sorundan en hızlı şekilde haberdar edilmesini sağlayabilirler. Güvenlik açıklarından dolayı güvenliği sağlanmamış ağlarda kullanımı hâlâ bir tehdit olduğundan SNMP kişisel ağlarda pek fazla uygulama bulamamıştır. Her ne kadar üçüncü sürümde güvenliği sağlayıcı bazı önlemler alınmış olsa bile kullanımı artmamıştır.

Kaynakça

  1. ^ "IBM". IBM. 10 Nisan 2023 tarihinde kaynağından arşivlendi. 
  2. ^ "RFC ft-ietf-snmpv3-coex-v2: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework". IETF Datatracker (İngilizce). 25 Ağustos 2003. 4 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  3. ^ "Wayback Machine" (PDF). web.archive.org. 29 Nisan 2013. 2 Kasım 2021 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  4. ^ "RFC 1157: Simple Network Management Protocol (SNMP)". IETF Datatracker (İngilizce). 1 Mayıs 1990. 4 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  5. ^ "Wayback Machine" (PDF). web.archive.org. 29 Nisan 2013. 2 Kasım 2021 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  6. ^ a b c "RFC Search Detail". www.rfc-editor.org. 4 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  7. ^ "RFC ft-ietf-snmpv3-update-proto: Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)". IETF Datatracker (İngilizce). 18 Aralık 2002. 4 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  8. ^ Davis, Eric. "SNMPv3 -- User Security Model". Dr. Dobb's. 1 Şubat 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  9. ^ "The Simple Times, Volume 5, Number 1, December, 1997". web.archive.org. 27 Temmuz 2017. 27 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  10. ^ "SNMP Research--SNMPv3 with Security and Administration". snmp.com. 31 Mart 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  11. ^ Merkle, J.; Lochter, M. (Nisan 2016). "HMAC-SHA-2 Authentication Protocols in User-Based Security Model (USM) for SNMPv3" (İngilizce). doi:10.17487/RFC7860. ISSN 2070-1721. 4 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  12. ^ "SNMPv3 - Cisco Systems". web.archive.org. 19 Temmuz 2011. 19 Temmuz 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  13. ^ steinb. "IBR Login". Institut für Betriebssysteme und Rechnerverbund (Almanca). 3 Temmuz 1997 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Nisan 2023. 
  14. ^ Keary, Tim (28 Kasım 2018). "snmpwalk Examples & Commands (Windows & Linux) Step-by-Step Guide". Comparitech (İngilizce). 12 Kasım 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Nisan 2023. 
  15. ^ "CentOS / RHEL 6 : Install and Configure SNMPv3 – The Geek Diary". www.thegeekdiary.com. 30 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Nisan 2023.