icerige gec

Açık Kaynaklı Yazılımlarla ve Açık Kaynaklı Yazılımlardan Türetilen Yazılımlarla Log Yönetimi Projelerini Gerçekleyenlerin Dikkat Etmesi Gereken Bazı Parametreler

Kasım 21, 2013 yazan ertugrul.akbas

      Açık Kaynaklı Yazılımlarla ve Açık Kaynaklı Yazılımlardan Türetilen Yazılımlarla Log Yönetimi Projelerini Gerçekleyenlerin Dikkat Etmesi Gereken Bazı Parametreler

 

Dr. Ertuğrul AKBAŞ

[email protected]

Günümüzde güvenlik yönetimi açısından bakıldığından en önemli konulardan biri de log yönetimidir. Log yönetimi, Bilgi Teknolojileri yönetimin altyapı bileşenlerinden biri olmasına rağmen kurumlar tarafından hala göz ardı edilmektedir. Bir uçağın karakutusu ile bilişim sistemleri için ayrıntılı log tutmak eşdeğer anlamdadır. Ne karakutusuz bir uçak kazası ne de sağlıklı loglama yapılmamış bir ortamdaki bilişim olayı istenildiği gibi aydınlatılamaz. Birçok kurumda loglar sadece kayıt altına alınmaktadır fakat log analizi yapılmamaktadır. Kayıt altına alırken de özellikle bütün loğların kaydedilip kaydedilmediği bile analiz edilmemekte. Bu konu ile ilgili bir çalışmayı aşağıdaki linkte bulabilirsiniz. http://www.slideshare.net/anetertugrul/siem-log-ynetimi-ve-5651-projelerinin-performans-ve-log-kairip-kairmadiinin-testleri-nasil-yapilir

 ISO 27001, Bilgi Güvenliği(BG) Yönetim Standardında log(iz kaydı) yönetimin önemi vurgulanmaktadır. Bilgi güvenliği ihlalleri ve vakaları arttıkça log yönetiminin önemi ve gerekliliği daha iyi anlaşılmaktadır.

Ayrıca PCI DSS, HIPAA, SOX, GLBA, FISMA gibi standartlar ve Türkiye için de 5651 sayılı yasa Log Yönetimini gerekli kılmaktadır.


Kanunlar da Log Yönetimi konusuna önem vermektedirler. Log Yönetimi örneğin PCI denetimi sırasındaki yükümlülüklerin karşılanması konusunda gereklidir. Sorumlu oldukları denetimler için Log Yönetimi yapan şirketler bu loğlar sayesinde sistemlerinde farkında olmadıkları birçok sorunu da tespit etmektedirler.

Yönetim seviyesinde duyarlılığın artmasına faydalı olan Log Yönetimi sayesinde şirketler daha verimli ve sağlıklı bir ağ yapısına sahip olurlar. Sonuç olarak Log Yönetimi sistemlerin çökmesine sebebiyet veren sorunların evvelden tespit edilerek sistemlerin daha güvenli çalışmasına ve sistemlerin daha az çökmesini fırsat verir

Son zamanlarda birçok şirket sistemlere yapmış oldukları yatırımlardan daha çok verim alabilmek için Log Yönetimi üzerine yoğunlaşmış durumdadırlar ve bu şirketlerdeki IT departmanları da Log Yönetimi sayesinde verimliliği arttırmaktadırlar.

 

 

AÇIK KAYNAKLI SİSTEMLERİN ÖNEMİ

 

Açık kaynak kodlu sistemler gerekli ve önemlidir. Önemini kısaca ifade etmek istersek:

1-Açık kaynak kodlu yazılımlar, eğitim ve öğretim açısından da oldukça faydalı olmakla beraber kodlar ile alakalı olan kişilerin kendini geliştirmesine olanak sağlar.

2-Açık kaynak kodlu bir yazılımda herhangi bir hata, açık vb. durum ortaya geldiğinde bu yazılımlar ile ilgili herkes erişim hakkı olduğu için rahatlıkla kapatılabilir ve geliştirilebilir.

3-Güvenliğiniz açısında açık kaynak kodlu yazılımlar daha sağlıklıdır. Çünkü kapalı kaynak kodlu yazılımlarda, yazılımı geliştirenin sisteminizde neler yaptığını anlamanız veya görmeniz pek mümkün olmayabilir.

Ama bu demek değildir ki herhangi bir konuda eğitim almamış , tecrübe edinmemiş bir ekibin açık kaynak kodu alıp bundan başarılı bir ürün çıkarması kolaydır.

LOG YÖNTİMİNDE NEDEN AÇIK KAYNAKLI YAZILIM TERCİH EDİLİYOR?

 

Açık kaynak kodlu çözümleri son kullanıcıların tercih etme sebebi genelde maliyet unsuru. Tabii burada ilk yatırım maliyetinden bahsetmek daha doğru olur.

Yazılım geliştiriciler ise bu sistemleri hem konu ile ilgili derinlemesine bilgi ve tecrübe sahibi olmadan üzerinde oynayacakları bir sisteme hızlıca sahip olabilecekleri için hem de geliştirme maliyetlerinden kaçmak için tercih ediyorlar. Tabii bu arada bu açık kaynak kodlu sistemleri alıp bu sistemleri derinlemesine analiz edebilecek bilgi, beceri ve tecrübeye sahip ve onlardaki eksikleri giderip mükemmel sistem geliştiren firmalar da mevcuttur.

LOG YÖNTİMİNDE AÇIK KAYNAK TERCİHİNİN HANDİKAPLARI NELERDİR?

 

Bu ürünler yüksek performans için tasarlanmıyor dolayısı ile Log Yönetiminin yüksek log işlemeye ihtiyaç duyması durumunda mesela saldırı veya virüs bulaşması vb.. faydalı olamıyor. Bu konuda en çok kullanılan açık kaynak kodlu rsyslog ile ilgili aşağıdaki linklere bakılabilir. Rsyslog özellikle önemli çünkü pek çok açık kaynaklı sistemde mevcuttur.

http://unix.stackexchange.com/questions/73761/rsyslog-drops-messages-excessively

http://www.gossamer-threads.com/lists/rsyslog/users/933

[opensuse] rsyslog drops thousands of messages.

http://lists.opensuse.org/opensuse/2012-09/msg00449.html

have a syslog server running on redhat enterprise 4.  I see a large number of dropped packets.https://code.google.com/p/php-syslog-ng/issues/detail?id=158

 

Sistem örnek olarak normal şartlarda 300-500 EPS (Events Per Second) ile çalışırken her şey normal olabilir ama PE (Peak EPS) seviyelerine çıkmak gerekirse (Saldırı, Virüs vb..)  3000-5000  HATTA 20000 EPS de çalışması gerekir.

 

Yukarıdaki tablo normal şartlar, PE ve ortalama PE değerlerinin ne olabileceğine bir örnektir. Böyle bir durumda mevcut halleriyle bu ürünler yetersiz oluyor.

Log Yönetimi projelerinde sistemin sağlıklı çalışıp çalışmadığını gözle kontrol etmenin en kolay yolu günlük biriken log miktarını ölçmektir.

Aşağıdaki tabloda günlük yaklaşık log miktarları mevcuttur.  Bu veriler internet çıkış hızının 10 Mb ve daha büyük olduğu varsayımı ile hesaplanmıştır.  Bu değerler yaklaşık olup daha fazla log oluşması ihtimali daha yüksektir.

 

Cihaz Sayısı

EPS

Günlük Log Miktarı

 

 

 

100

250 EPS

~11 milyon

250

600 EPS

~25 milyon

500

1500 EPS

~60 milyon

1000

3000 EPS

~120 milyon

 

Eğer bir ürün değerlendirmeye tabi tutulacaksa aşağıdaki örnek tablodaki yaklaşım kullanılabilir. Buradaki en kritik parametre Motor parametresidir. Eğer Motor testleri yapılmazsa geriye kalan görsel unsurlarla ürün seçilir ki bu sağlıklı bir seçim değildir.

 

 

   

Motor

Arayüz

Ürün Destek

Arama Hızı

Raporlama Yeteneği

             

Ürün A

 

4

9

7

7

7

             

Ürün B

 

7

6

6

6

7

             

Ürün C

 

9

7

7

7

8

             
             
             

Motor:

Log kaçırmama ve parser desteği

   

 

 

HANDİKAP SEBEPLERİ NELERDİR

 

Ürün tasarımı :  Örnek olarak networkden paketlerin gelmesi ile işlenmesi hızını paralel kabul etmek. Ama olması gereken öncelikli olarak paketlerin drop etmesini engelleyecek bir buffer kurmak sonra işleme ve saklama işlemlerini yapmak ve bunları yaparken de multithreaded bir yapıda yapabilmek

Ürün kısıtlama: Ürünlerin çoğunun profesyonel versiyonları olduğu için açık kaynak kodlu sürümleri bilerek ve isteyerek zayıf tutuluyor. Bu tarz ürünleri kaynak kodlarında veya dokümanlarında aşağıdaki gibi ifadelere rastlayabilirsiniz

“The open-source version of the correlation engine is not designed for large deployments”

Geliştirme için kullanılan teknoloji:  Bu tarz ürünler genelde hızlıca bir sonuç alabilmek amacıyla geliştiriliyor. Bu arada da geliştirme dili , kullanılan altyapı (Veritabanı vs..) yüksek performansı kaldırabilir mi diye düşünülmüyor.

Ürünün profesyonel destek eksikliği:

 

Enterprise altyapı tasarımı: Gerektiği zaman veritabanı, motor ve arayüzü farklı faklı makinelere kurulabilmeli.

 

AÇIK KAYNAK KODLU LOG YÖNETİMİ ÇÖZÜMLERİ HANGİLERİDİR?

 

Bu konuda onlarca ürün sayılabilir.

www.logstash.net

http://www.graylog2.org/

www.nxlog-ce.sourceforge.net

https://code.google.com/p/log2timeline/

http://ristov.users.sourceforge.net/loghound/

http://www.logreport.org/

http://www.crypt.gen.nz/logsurfer/

http://sourceforge.net/projects/logwatch/

https://code.google.com/p/php-syslog-ng/

http://www.alienvault.com/open-threat-exchange

http://wiki.contribs.org/SME_Server:About

 

 TÜRKİYE’DE AÇIK KAYNAK KODDAN TÜRETİLMİŞ LOG YÖNETİM SİSTEMLERİ HANGİLERİDİR?

 

Bu tarz ürünleri belirlemede ilk kullanılacak kriter kurulacak olan işletim sistemidir. Linux , Openbsd vs.. tarzı işletim sistemine kurulurlar. Windows işletim sistemine kurulan açık kaynak kodlu bir log yönetimi sistemi yoktur.

Ayrıca geliştirilen dil ikinci parametredir. Bu yazılımların motoru genellikle PHP ile yazılmıştır.  Ticari SIEM yazılımlarında motor kısmında PHP hiç kullanılmaz.  En fazla ara yüzde PHP vardır. Bu konuda aşağıdaki Gartner raporundaki ürünler incelenebilir.

 

 

Örnek olarak:

IBM-Q1 Labs: JAVA

HP-ArcSight: JAVA

McAffe: JAVA

LogRthym: JAVA

Tibco-Loglogic:JAVA

Splunk: C/C++

Vb..

 

En önemli parametre ise ürünün kapasite ve performansıdır.  Örneğin 100 cihazlık bir ağda PE (Peak EPS) değeri 2000 EPS civarındadır. 250 Cihaz olunca 5000 EPS 1000 cihaz olunca 20 000 EPS olur. Kurulan veya satın alınan sistemin bu değerler için test edilmesi ile de sistemle ilgili bir fikir sahibi olunabilir. Nasıl test edileceği ile ilgili aşağıdaki linkten faydalanılabilir.

http://www.slideshare.net/anetertugrul/siem-log-ynetimi-ve-5651-projelerinin-performans-ve-log-kairip-kairmadiinin-testleri-nasil-yapilir

 

Bununla birlikte 5651 sayılı yasadan dolayı PFSense temelli pek çok ürün de loglama adı altında mevcut olmakla birlikte bu yazıda bahsi geçen kategoride olmadıkları için incelenmeyecektir.

NELERE DİKKAT EDİLMELİ

 

Bu konu ile ilgili aşağıdaki linklere bakılabilir.

http://www.slideshare.net/anetertugrul/log-ynetimi-projelerinde-dikkat-edilmesi-gereken-hususlar

http://www.slideshare.net/anetertugrul/log-ynetm-siem-projelernde-eps-deerlernn-krtkl-ve-hesaplanma-yntemler

http://www.slideshare.net/anetertugrul/log-ynetimi-ve-siem-projelerindeki-en-nemli-kriter-eps-deerleri