SNMP

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'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.

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.

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.

TRAP: Üzerinde ajan uygulama çalışan cihazda belirli özel durumlar oluştuğunda bu durumu yönetim sistemine bildiren işlemdir. Diğer işlemlerden farklı olarak bu işlem için yönetim sisteminden herhangi bir istek gönderilmesi gerekmez.

GETBULK: Büyük boyutlu bilgilerin verimli şekilde elde edilmesi için yönetim sistemi tarafından gönderilen istek. Bu sayede tablolardan aynı anda birkaç sütun almak mümkün olmuştur.

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.

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.

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.

ve 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, - '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, - '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, ş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.

Bilinen SNMP varlıkları arasında sadece iletişimi kolaylaştırmak için SNMP varlıklarının tanımlanması - Her SNMP varlığı SNMPEngineID adı verilen bir tanımlayıcıya sahiptir ve SNMP iletişimi, bir SNMP varlığının eşinin kimliğini bildiği durumlarda mümkündür. Ancak, Trap'ler ve Bildirimler bu kuralın istisnasıdır.

Güvenlik modellerini destekleme - Bir güvenlik modeli, bir yönetimsel alan veya bir intranet içindeki güvenlik politikasını tanımlayabilir. SNMPv3, kullanıcı tabanlı bir güvenlik modeli (USM) için özellikleri içerir.

Masquerade, bazı yetkilere sahip olmayan bir ilke tarafından yetkilendirilmemiş yönetim işlemlerine karşı koruma sağlamak için uygun yetkilere sahip başka bir ilkenin kimliğini üstlenme işlemidir.

Mesaj akışı değiştirme, yetkisiz yönetim işlemlerini etkilemek için kötü niyetli olarak yeniden sıralanan, geciktirilen veya yeniden oynatılan mesajlara karşı koruma sağlar.

Farklı kimlik doğrulama ve gizlilik protokollerinin tanımı - USM'de MD5, SHA ve HMAC-SHA-2 kimlik doğrulama protokolleri ve CBC_DES ve CFB_AES_128 gizlilik protokolleri desteklenmektedir.

Keşif prosedürünün tanımı - Belirli bir taşıma adresi ve taşıma uç nokta adresi için bir SNMP varlığının SNMPEngineID'sini bulmak için yapılan işlemlerdir.

View-Based Access Control Model (VACM) MIB'lerinin tanımı - Erişim kontrol modülünün uzaktan yapılandırması ve yönetimi için kolaylık sağlamak için yapılan işlemlerdir.

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.

Görünüm Tabanlı Erişim Kontrol Modeli (VACM), belirli bir MIB nesnesine erişime izin verilip verilmeyeceğini belirler ve belirli işlevleri gerçekleştirmek için PDU seviyesinde çalışır.

Taşıma Güvenlik Modeli (TSM), mesajların harici güvenlik kanalları üzerinden kimlik doğrulama ve şifreleme yöntemi sağlar. TSM özelliklerini kullanan SSH ve TLS/DTLS adlı iki taşıma protokolü tanımlanmıştır.

2004 yılı itibarıyla, IETF, - 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.

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.

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 .

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.