Log yönetimi ve siem projelerindeki en önemli kriter EPS değerleri
1. LOG YÖNETİMİ ve SIEM PROJELERİNDEKİ EN ÖNEMLİ KRİTER
Dr. Ertuğrul AKBAŞ
eakbas@gmail.com
Log Yönetimi projelerinin demo aşamalarında en önemli parametrenin atlandığı ve bundan dolayı
aslında amaca hizmet etmeyen ya da lazım olduğunda işe yaramayan, aranan verinin bulunamadığı bir
kurulum ortaya çıkmış olur. Bu parametre kurulan sistemlerin vaat edilen EPS değerlerini
sağlayabilmeleridir.
SEÇİLEN SİSTEMİN LOG KAÇIRMIYOR OLMASI GEREKİR.
Bir log yönetim sisteminin en önemli özelliği gelen bütün logları yakalamak ve işlemektir. Sistemin bu
özelliği bir proje yapılırken neredeyse hiç göz önünde bulundurulmamaktadır. Maalesef görsel unsurlar
bu özelliği perdelemektedir.
EPS DEĞERİ NEDİR?
Bazı sistemler kullanıcı ve bilgisayar sayısına göre kurgulama ve fiyatlandırma yapmaktadır. Bu doğru bir
yaklaşım olmadığı gibi sektörce bilinen yazılımlar EPS değeri kullanmaktadır.
NASIL TEST EDİLİR?
Sistemlerin gönderilen bütün logları karşılayıp karşılayamadıklarını ölçmenin pek çok yöntemi mevcuttur.
En kolay yöntemi bir SYSLOG Simulator kullanıp saniyede belirlenen adette log göndermek ve bunun
sistem tarafından yakalanıp yakalanmadığına bakmaktır. Bunu yaparken sistemin ortalamanın 2-3 katına
belli tepe ( peak) zamanlarında çıkabileceğini de hesaba katıp ona göre log göndermektir.
Örnek SYSLOG Simulatorler:
http://www.theonesoftware.com/syslog_sender.php
2. http://sourceforge.net/projects/nxlog-ce/?source=directory
http://sourceforge.net/projects/syslog-slogger/
ayrıca profesyonel ürünün üreticilerinin tamamı bu testleri hem kendi ürünleri hem de müşteri talebi ile
herhangi bir ürün üzerinde yapabilmektedir.
ANET yazılım olarak 100 K EPS değerlerine erişmemizi sağlayacak bir altyapıyı test etmek için özel olarak
geliştirdiğimiz SYSLOG simülatörümüzü kullanmaktayız.
Bu aracın konfigürasyon dosyasında log üretme hızı vs.. ayarlanabilmektedir
logsize=10000
totallogs=50000000
sleeptime=1000
fast=true
logsize parametresi EPS değerini totlalogs ise toplamda kaç log gönderileceğini belirtmektedir.
Ayrıca projelerde geliştirdiğimiz bu ve benzeri araçlarda danışmanlık desteği de sunmaktayız.
Testler yapılırkan normal şartlar için değil Peak EPS değerleri için test edilmelidir. Burada en önemli
kriter
1. Belirli bir sayıdaki logu belirli sürede gönderebilmek
3. 2. Toplam log sayısına değil de saniyede kaç adet gönderilebildiğini hesaba katmaktır.
Kiwi veya yukarıda linki verilen yazılımlar ile 30-40 EPS i aşmak mümkün değildir.
Bunun için ANET yazılımdan destek alınabilir info@anetyazilim.com.tr
Ya da üçüncü bir parti yazılım kullanılmak istenirse aşağıdaki linkteki ürün kullanılabilir
http://sourceforge.net/projects/syslog-slogger/
bu linkten Slogger-v0.6.zip dosyası indirilip açıldıktan sonra aşağıdaki gibi bir dosya yapısı ile
karşılaşılacaktır
Burada sadece run.bat dosyası kullanıcı tarafından oluşturulmalıdır. Bu dosyanın içeriği ise
“java -cp .bin;.3rdPartySyslog.jar org.slogger.Slogger” şeklindedir. Tabi sistemde java yüklü
olduğundan emin olun. Bunu için komut satırında aşağıdaki komut “java -version” çalıştırılır
5. Burada EPS değerini 977 olarak görürsünüz. Bu parametreler ise slogger.properties dosyasından
ayarlanmaktadır. Örneğin 1000 EPS hız ile 200 000 log göndermek için aşağıdaki parametreleri
kullanabilirsiniz.
## slogger Properties file
## configure slogger options.
## program options.
syslogProvider=org.slogger.provider.randomMessageProvider.RandomSyslogProvider
#syslogPublisher=org.slogger.publisher.FilePublisher
syslogPublisher=org.slogger.publisher.NetworkPublisher
## Control the rate at which messages are sent.
##Delay added between messages in millis. 0 means no delay.
## If maxEpsRate is specfied, this value is ignored.
#delayBetweenMessages=0
maxEpsRate=1000
promptForStart=FALSE
displayCounters=TRUE
displaySentMessages=TRUE
## FileTarget Options
FilePublisher.file=syslog.log
## Network publisher options
NetworkPublisher.host=localhost
NetworkPublisher.port=514
NetworkPublisher.sourceAddressEncapString=
NetworkPublisher.keepMessageCounters=FALSE
## RandomMessageProvider options.
## Global message options
## Message Count
rmp.messageCount=200000
rmp.useEmblem=true
rmp.sources=10.1.1.1,10.1.1.2,10.1.1.3
rmp.levels=3
rmp.facility=ASA
rmp.sourcePort=5555
rmp.targetHost=2.2.2.2
rmp.targetPort=targetPort
rmp.timeStamp=timeStamps
rmp.inputSyslogFile=input_syslogs.log
###Messages to be generated
rmp.message.1.multiplier=1
rmp.message.1.messageText=302013: Built <<inbound,outbound>> TCP connection <<1-100000>> for
inside:<<1.1.0.0,1.1.255.255>>/<<10000-50000>> (<<10.10.10.0,10.10.10.255>>/<<10000-50000>>) to outside:<<128.1.1.1-200.1.1.2>>/<<1-
1024>> (<<21.1.1.1,21.1.1.255>>/<<1-1024>>)
rmp.message.2.multiplier=1
rmp.message.2.messageText=302014: Teardown TCP connection <<1-100000>> for
<<inside,outside,dmz>>:<<1.1.0.0,1.1.255.255>>/<<10000-50000>> to <<inside,outside,dmz>>:<<128.1.1.1-200.1.1.2>>/<<1-1030>> duration
<<100,200,300>> bytes <<100,200,300>> Richa (Ric)
rmp.message.3.multiplier=1
rmp.message.3.messageText=302015: Built <<inbound,outbound>> UDP connection <<1-100000>> for
inside:<<1.1.0.0,1.1.255.255>>/<<10000-50000>> (<<10.10.10.0,10.10.10.255>>/<<10000-50000>>) to outside:<<128.1.1.1-200.1.1.2>>/<<1-
1024>> (<<21.1.1.1,21.1.1.255>>/<<1-1024>>)
rmp.message.4.multiplier=1
rmp.message.4.messageText=302016: Teardown UDP connection <<1-100000>> for
<<inside,outside,dmz>>:<<1.1.0.0,1.1.255.255>>/<<10000-50000>> to <<inside,outside,dmz>>:<<128.1.1.1-200.1.1.2>>/<<1-1030>> duration
<<100,200,300>> bytes <<100,200,300>>
rmp.message.5.multiplier=1
rmp.message.5.messageText=106100: access-list <<acl1,acl2,acl3>> permitted <<TCP,UDP>> outside/<<1.1.0.0,1.1.255.255>>(<<10000-
50000>>) -> inside/<<128.1.0.0,128.1.255.255>>(<<10000-50000>>) hit-cnt 10 Something [0x1001, 0x1000]
rmp.message.6.multiplier=1
6. rmp.message.6.messageText=106023: Deny tcp src outside:<<1.1.0.0,1.1.255.255>>/<<10000-50000>> dst inside:<<192.168.131.10-
192.168.135.10>>/<<5060-17000>> by access-group "TRANSIT" [0x298f38e5, 0x0]
rmp.message.7.messageText=302020: Built outbound ICMP connection for faddr <<10.20.14.141-10.20.255.255>>/<<0-7>> gaddr
<<192.168.5.21-192.168.6.255>>/512 laddr <<192.168.5.21-192.168.6.255>>/512
Yukarıdaki programı kullanarak
1. Belirli bir sayıdaki logu belirli sürede gönderebilmeyi sağlayabiliriz. Burada 200 000 log
2. Toplam log sayısına değil de saniyede kaç adet gönderilebildiğini hesaba katmaktır. Bu da
mümkün yaklaşık 1000 EPS değeri (997) sağlanabilmektedir.
Ve tabi en önemlisi gönderilen toplam log sayısı ve süresi gözükmektedir.
SİSTEMİNİZİN KAÇ EPS LOG ÜRETECEĞİNİ YAKLAŞIK NASIL
BİLEBİLİRSİNİZ?
Ölçeklemek amaçlı bir rakam vermek gerekirse 100-150 bilgisayar olan 1-3 server olan 10 mbit bir WAN
hatta sahip bir network için 500-1000 EPS arası bir değeri ölçeklemek için kullanabiliriz.
Aşağıda birkaç hazır EPS hesaplama tablosu mevcuttur
http://www.netcerebral.com/log-management-planning-calculator/#more-125