BiznetBiznet

IBM QRADAR’DA SNMP KULLANIMI

Yazar: Hasan Keskin

Ağ yöneticileri, onlarca hatta yüzlerce cihazı kurmak, yapılandırmak, yönetmekle sorumludurlar. Kurulum işlemini için her cihazla ayrı ayrı yapmak gerekir ama bu tek seferlik bir iştir, ya sonrası? Bir ağ yöneticisi kurduğu bütün ağ bileşenlerini tek tek kontrol edebilir mi? Her bileşenin sürekli olarak çalışması gerektiği bir ağda, cihazları devamlı, sağlıklı olarak yönetebilmek için kaç ağ yöneticisinin çalışması gerekirdi? Birçok soruna olduğu gibi zamanla bu soruna da otomatize edilmiş bir çözüm bulundu: SNMP (Simple Network Management Protocol).

SNMP, yönetici tarafından, merkezi bir cihazdan ağdaki bütün cihazların çalışma durumunun, servis bilgilerinin ve çalışma prensiplerinin yönetilmesini sağlar. SNMP vasıtasıyla yönetici eriştiği bütün ağ bileşenlerini görüntüleyebilir ve bu cihazlara komut vererek çalışmalarını yönlendirebilirler.

Bir ağ yöneticisi, sorumlusu olduğu ağa hakim olabilmek için temel olarak iki işlem yapar:

  • Ağdaki cihazların nasıl çalıştığını öğrenmek.
  • Cihazların işleyişini düzenlemek amacıyla komutlar girmek.

Bu iki işlem teknik olarak, sırasıyla okuma (read) ve yazma (write) işlemlerine karşılık gelmektedir.

Birçok protokol komut odaklı çalışır. Gerçekleştirilmesi amaçlanan işlemleri yerine getirmek için belirli bir komut vardır. Örneğin; “x servisi çalışıyor mu” ya da “y servisini çalıştır”.

Ağ yöneticisi uygun komutları kullanarak bir cihaz üzerindeki servisi kontrol edebilir ya da bir servisin aktif hale gelmesini sağlayabilir. Bu açıdan komut odaklı protokollerin çalışması kolaydır fakat bu işlemi çok fazla cihazın bulunduğu geniş bir ağda gerçekleştirmek isterse sorunlarla karşılaşabilir.

Ağdaki her cihaz farklı tür komutlarla çalışıyor olabilir, yeni bir cihaz üretildiğinde bu cihazı yönetmek için farklı bir protokol gerekebilir. Bir cihazın çalışma şekli değiştiğinde protokolün güncellenmesi gerekebilir ve protokolün güncellenmesi başka cihazları ya da donanımları etkiliyor olabilir.

Komut odaklı yönetim modeli yerine, bilgi odaklı bir yönetim modeli kullanmak yani cihaz yönetimi için belirli komutlar kullanmak yerine, cihaz ve yönetim birimi arasında bilgi alışverişini sağlayacak bir model kullanmak daha faydalı olacaktır.

SNMP,bu anlamda birçok protokolün aksine bilgi odaklı çalışan bir protokol olarak, uygulama seviyesinde çalışan, “object” adı verilen değişkenler yardımıyla cihazları yönetir. Yani bir komut çalıştırmak yerine bir değişkeni okuyarak cihazın durumunu görüntüler ya da bir değişkeni değiştirerek cihazın çalışmasını yönetebilir.

SNMP ile yönetilen basit bir ağ, 3 farklı bileşenden oluşur:

  • Uygulama seviyesinde çalışarak yönetici tarafından kullanılan “NMS” (Network Management System),
  • Yönetici ve yönetilen fiziksel cihazlar arasında ara yüzü sağlayan “Agent”,
  • Managed Device” olarak isimlendirilen fiziksel cihazlar.

SNMP ile cihazların yönetebilmesi için ağdaki her cihaza özel olarak bulunan, MIB (Management Information Base) adı verilen, içinde “object” isimli değişkenler barındıran veri tabanı bulunur. Yönetici ile agent arasındaki iletişim MIB aracılığıyla sağlanır.

SNMP, yönetici ile agent arasındaki iletişim farklı komutlar yoluyla sağlanır:

  1. Get
  2. GetNext
  3. GetBulk (SNMPv2)
  4. GetResponse
  5. Set
  6. Trap
  7. Inform (SNMPv2)
  • Yönetici Get, GetNext ya da GetBulk mesajları ile bir ya da birden fazla değişken verisi talep eder, agent ise GetResponse mesajı ile talep edilen veriyi ya da isteğin neden cevaplandırılamadığını belirten hata mesajını iletir.
  • Yönetici Set mesajı ile bir değişken üzerindeki verinin değiştirilmesini talep eder, agent ise GetResponse mesajı ile değişikliğin yapıldığını veya hangi nedenle yapılamayacağını belirten GetResponse mesajı iletir.
  • Trap mesajı ise agent tarafından yöneticiye iletilen, önemli olayı ya da durumu belirten mesajdır.
  • Inform mesajı, mesaj iletildikten sonra yöneticiden onay paketi beklenir. Onay gelmediği durumda Inform mesajı tekrar gönderilir.

SNMP’nin 3 (üç) versiyonu vardır: SNMPv1, SNMPv2, SNMPv3.

SNMPv1

En eski versiyonudur ve yönetilen cihazlardan veri çekmek için basit fonksiyonlar sağlar. Basit ve kolay kullanılabilir bir yapıya sahiptir ve şifreleme algoritması barındırmaz. Güvenlik sebebiyle sadece LAN seviyesinde kullanmak daha sağlıklı olacaktır.

En büyük dezavantajı ise 32-bit counter yapısı ile günümüzde gigabyte ve terabyte’larla ifade edilen trafik için yetersiz kalmasıdır.

SNMPv2

Bu versiyonla 64-bit counter yapısına geçilmiştir fakat hala bazı kritik bilgilerin clear text olarak gönderiliyor olması, güvenlik açısından pek değer katmamıştır.

SNMPv2 konuşulurken genelde SNMP “v2c” ile karşılaşırız. “c” community anlamına gelmektedir. SNMP ”v2p“ ve . SNMP ”v2u” olmak üzere iki farklı versiyonu daha bulunmaktadır ama bunlar çok nadir durumlarda kullanılırlar.

SNMPv3

2002 yılında ortaya çıkarılan SNMPv3, önceki versiyon olan SNMPv2c özelliklerini barındırmakla birlikte, farklı güvenlik çözümleri ile gelmiştir: Kullanıcı hesabı (user account) tanımlama, kimlik doğrulama (authentication) ve veri şifreleme (encryption) özelliği. Bu açıdan kullanılması tavsiye edilen SNMP versiyonudur fakat unutulmamalıdır ki; bu özellikler yapılandırmayı zorlaştırdığı gibi daha çok veri işlem kapasitesine de ihtiyaç oluşturur.

Peki IBM QRadar’da SNMP nasıl kullanılıyor?

SNMP, IBM QRadar 7.2.x ve sonraki versiyonlarında desteklenen bir protokoldür. SNMP ile log toplamak isteyen kullanıcı, log kaynağını manuel olarak eklemek durumundadır. Çünkü QRadar event verilerini otomatik olarak tanımayacaktır. Log kaynağı eklenip, “Deploy configuration” yapıldıktan sonra, yapılandırmada belirtilen portun açıldığından emin olunmalıdır. Port açıldıktan sonra SNMP yoluyla alınan veriler parse edilir ve işlenir.

IBM QRadar varsayılan olarak UDP 162 portunu kullanır, eğer kullanıcı bunu değiştirmek isterse,

admin > system configuration > system settings > SNMP settings yolundan “destination port” seçeneğinden değiştirebilir. İşlemi tamamladıktan sonra “Deploy full configuration” işlemi yapılmalıdır.

SNMPv2 ya da SNMPv3 kullanan bir log kaynağı eklerken, event payloadlarının düzgün bir şekilde biçimlendirildiğinden ve isim-değer çiftinin doğru yapılandırıldığından emin olmak için “Include OIDs in Event Payload” seçeneği aktif edilmelidir. (OID=Object ID kısaltmasıdır ve her Event’in cihaz hakkındaki bilgiler yardımıyla eşsiz bir şekilde ayırt edilmesini sağlar)

Ayrıca, IBM QRadar, üzerinde oluşan alarm/offense’leri SNMP trap yardımıyla farklı cihazlara gönderebilir. Fakat bu özellik varsayılan olarak aktif değildir.

SNMP ile SolarWinds Orion’da Log Toplama (SolarWinds Orion NPM 12.4)

SolarWinds Orion ile IBM QRadar’ı entegre etmek için sırasıyla aşağıdaki işlemler gerçekleştirilmelidir:

  • Otomatik güncellemeler aktif değil ise IBM Support (http://www.ibm.com/support) sitesinden SolarWinds Orion DSM RPM dosyası QRadar Console’a indirilir,
  • Loglarını QRadar’a göndermesi için SolarWinds Orion cihazı yapılandırılır,
  • IBM QRadar üzerinde SolarWinds Orion log kaynağı olarak eklenir,
  • QRadar’ın doğru yapılandırıldığından emin olunur.

SOLARWINDS ORION’U YAPILANDIRMA

  1. Alerts & Activity menüsünden Alerts sekmesine ulaşılır.
  2. Alerts sekmesi açıldıktan sonra, sağ üst bölgede bulunan Manage Alerts menüsü açılır.
  1. ADD NEW ALERT seçeneği seçilir.
  2. Add action sekmesinde, “Send SNMP Trap” seçeneği seçilir.
  • Configure Action” seçeneği seçilerek açılan menüde eklenen action için isim belirlenir. “SNMP Trap Destinations” bölümünde ise, IBM QRadar Console ya da Event Collector IP adresi belirtilir.

NOT: SNMP Properties bölümünde, eğer default SNMP portu kullanılmayacaksa, değişiklik yapılarak istenilen SNMP portu ve versiyonu belirlenmelidir. Community string değeri de bu bölümde değiştirilir.

  • Summary sekmesinde, geriye dönük bir değişiklik yapılması gerekmiyorsa, “Submit” butonuna tıklanır ve SolarWinds Orion yapılandırması tamamlanır. İşlem sonucunda, oluşturulan alert, “Alerts” bölümüne eklenecektir.

IBM QRADAR YAPILANDIRMASI (Ver: 7.3.1)

IBM QRadar 7.3.1 üzerinde log kaynayı ekleme işlemi için, IBM QRadar Console’da;

  1. “Admin” menüsü açılır.
  2. “Data sources” Menüsünden “Log sources” penceresi açılır.
  3. Açılan pencerede, ekleme işlemişi başlatmak üzere, üstte bulunan “add” butonuna tıklanır.

Açılan ekranda;

  1. “Log Source Name” kısmına SolarWinds Orion cihazın adı verilir.
  2. “Log Source Description” kısmında, istenilen log kaynağı tanımı yazılabilir.
  3. “Log Source Type” olarak, SolarWinds Orion seçilmelidir.
  4. “Protocol Configuration” kısmında SNMP versiyonu seçilir. (SNMP v2 ya da SNMPv3)

SolarWinds Orion NPM 12.4 cihazında yapmış olduğumuz tanımlamalara istinaden;

  1. “Log Source Identifier” kısmında SolarWinds Orion cihazının IP adresi belirtilir.
  2. “Authentication Protocol” kısmında, SolarWinds Orion cihazında tanımlanmış olan algoritma seçilir. (MD5 ya da SHA)
  3. “Authentication Password” kısmında, SolarWinds Orion cihazında tanımlanmış olan şifre girilmelidir. Şifre en az 8 karakter içermelidir.
  4. “Decryption Protocol” kısmında, SolarWinds Orion cihazında tanımlanmış olan decryption algoritması seçilir. (DES, AES128, AES192 ya da AES256. Eğer AES192 ya da AES256 seçilmişse, Java Cryptography eklentisi yüklenmelidir.)
  5. “Decryption Password” kısmında, SolarWinds Orion cihazında tanımlanmış olan decryption şifresi girilir. Şifre en az 8 karakter içermelidir.
  6. SolarWinds Orion cihaz loglarının event payload bölümünde standart payload görünümü yerine isim-değer ikilisi görüntülenmesi için, “Include OIDs in Event Payload” seçeneği aktif edilir.

NOT: SNMPv2 ile log kaynağı ekleniyorsa, belirlenmiş olan “community string” değeri “community” bölümünde belirtilir. Bu ayar default olarak “public” şeklinde tanımlıdır, değişiklik yapılmamışsa sonraki adıma geçebilirsiniz.

  1. Yapılan değişiklikler kaydedilir.
  2. Admin sekmesine dönülür ve s ol üst bölgede bulunan “Deploy Changes” seçeneği seçilir.
hasan.keskin
Yazar: hasan.keskin