Ana Sayfa Çözümler Neden Netsmart? Kariyer Keşif Kurumsal Materyal İletişim

Netsmart Bilişim Sistemleri A.Ş.

Esentepe Mh. Ecza Sk. No: 6 K: 1, 34394,
Şişli-İstanbul, Türkiye

+90212-274-31-61

info@netsmart.com.tr

Analiz

ArcSight FlexConnector ve Parser yazımı

FlexConnector ArcSight ürün ailesi içerisinde bulunan bir SmartConnector çeşididir. ArcSight ürün ailesinde tanımlı olarak gelen kaynaklar dışında bir kaynaktan log alınması gerektiği durumlarda FlexConnector kullanılmaktadır.

ArcSight FlexConnector ve Parser yazımı

ArcSight FlexConnector Nedir?

FlexConnector ArcSight ürün ailesi içerisinde bulunan bir SmartConnector çeşididir. ArcSight ürün ailesinde tanımlı olarak gelen kaynaklar dışında bir kaynaktan log alınması gerektiği durumlarda FlexConnector kullanılmaktadır. FlexConnector sayesinde ArcSight tarafında desteği olmayan özel kaynaklardan log alımı Parser yazımı ile sağlanabilmektedir.

Parser nedir?

Genel anlamda Parser, gelen verinin parçalara ayrılıp bu ayrılmış parçaların anlamlandırılmasını sağlayan bir çeşit scripttir. ArcSight SmartConnector içerisinde desteği verilen ürünlerin parserları gömülü bir şekilde gelmektedir. Desteği verilmeyen log kaynaklarına Parser yazımı sağlayarak özel bir şekilde logları yorumlayabiliriz. Parser sayesinde log içerisinde ayrımı yapılan alanları ArcSight içerisindeki alanlara tanımlayarak okunurluğu arttırabiliriz.

ArcSight içerisinde parserları 3 ana başlığa ayırılabiliriz;

Regex: Regex ile loglardan alanları ayırarak kullandığımız parser.
Delimeter: Log içerisinde alan ayrımını sağlayan bir özel karakter (“;” “,” “:” gibi) kullanılan parser.
Database: Database tablosundaki alan adlarını kullanarak ayrım yaptığımız parser.

Şeklinde özetleyebiliriz.

Bu yazıda size elimizde bir text dosyasına log yazan bir uygulama olduğu bir senaryo için

FlexConnector kurulumunu Regex parser yazımını demo ile göstereceğim.

Demo içerisinde elimizde IBM ACE ürününe ait ArcSight tarafından henüz destek verilmeyen log kaynağından log alımın ve Logger üzerinde görüntülenmesini sağlanacaktır.

Log örneği dosyaya şu şekilde yazılmaktadır;

2020-03-25 03:48:41,229 INFO  [test] <HTTPInputHeader Host=”localhost:7080″ User-Agent=”Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0″ Accept=”text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8″ Accept-Language=”en-US,en;q=0.5″ Accept-Encoding=”gzip, deflate” Connection=”keep-alive” Upgrade-Insecure-Requests=”1″ X-Original-HTTP-Command=”GET http://localhost:7080/xxxxx HTTP/1.1″ X-Server-Name=”localhost” X-Server-Port=”7080″ X-Remote-Addr=”127.0.0.1″ X-Remote-Host=”localhost” X-Scheme=”http”></HTTPInputHeader>

Logger üzerinde logları okunaklı bir şekilde görüntüleyebilmemiz adına Parser yazımına ihtiyaç duyulacaktır.

Parser Yazımı

Öncelikle elimizdeki log örneğini alanlara bölebilmek için regex yazmamız gerekecek. Bu şekilde log içerisinde gelen bilgileri istediğimiz gibi gruplayabileceğiz. Regex yazımı için internet üzerinde birçok yardımcı site bulunmaktadır.

(Demo içerisinde Regex101 sitesi kullanılmaktadır).

Örnek logumuzu aşağıdaki “TEST STRING” bölgesine yapıştırdıktan sonra yukarıdaki “REGULAR EXPRESSION” alanından regex yazılır.

Regex yazımını tamamlandıktan sonra “MATCH INFORMATION” kısmından grupların doğruluğunu kontrol edilmelidir.

Sonrasında Parserı yazmak için bir text dokümanının içerisine “regex=” ibaresini yazarak regexi bu alana eklenir.

ArcSight ürün ailesinde “\” karakteri “Escape character” olarak tanımlandığı için regex connector tarafından sağlıklı bir şekilde tanımlanamayacaktır. Bunu engellemek ve tüm regex in tanımlanmasını sağlamak için “\” karakterini “\\” ile değiştirilmesi gerekmektedir.

Karakter değişimini tamamladıktan sonra “Tokenization” işlemi ile devam edilir.

Tokenization

Regex içerinde gruplamış olduğumuz alanları tanımlayabilmek için token lara atanmalıdır. Token ları tanımlarken;

token[1].name=TOKEN İSMİ

token[1].type=TOKEN TİPİ (string,long,int,timestamp,ip vb.)

Şeklinde kullanmamız gerekmektedir. Tarih tipli tokenlarda ekstra olarak tarih formatını da token tanımlarken belirtilmesi gerekmektedir.

token[0].format=yyyy-MM-dd HH\:mm\:ss\,SSS

Tüm gruplar için token tanımlanması yapıldıktan sonra mapping aşaması ile devam edilir.

Bu aşamada dikkat edilmesi gereken önemli bir nokta ise token tipi alanında belirlenen tip ile log içerisinden regex ile alınan alanın tipinin aynı olması gerekmektedir. Örneğin tarih alanı belirtiliyorsa token[0].type=timestamp ,string, bir veri belirtiliyorsa token[0].type=string şeklinde belirtilmelidir.

Tokenization işlemi bittikten sonra aşağıdaki gibi bir doküman oluşacaktır.

Mapping

Bu kısımda yapılmış olunan token tanımlamalarını kullanarak ArcSight içerisinde hangi alanda hangi token ın görülmek istenildiği belirtilecektir.

Tüm ArcSight alanlarını görebilmek için

“ArcSight FlexConnector Developer’s Guide” daki “ArcSight Built-in Event Field

Mappings” kısmındaki tablodan yararlanılabilir.

Mapleme işlemi yapılırken ArcSight Built-in Event Fields olarak belirlenmiş olan isim adlarının kullanılması gerekmektedir. Mapping işlemini;

event.”ArcSight-Field-İsmi”=”Token İsmi”

Şeklinde belirtilmesi gerekmektedir.

Demo üzerinde token tanımı yapılmış alanlardan;

Time alanını endTime alanına,

Log_Level alanını deviceEventCategory alanına,

Message alanını message alanına,

server_name ve device_version alanlarını da deviceCustomString alanlarına maplenmiştir.

Mappingini yaptığımız log un kolay anlaşılabilmesi için verilmiş olunan deviceCustomString alanlarının yanına deviceCustomStringLabel alanını  __stringConstant(“”) kullanarak sabit bir açıklama eklenilebilir.

Son düzeltmelerimiz ardından aşağıdakine benzer bir doküman oluşacaktır.

Parser dosya yazımı bu adım ile birlikte tamamlanıyor. Parser dosyasını kaydederken isimlendirmesine dikkat etmek gerekir. Oluşturduğumuz parser regex olduğu için “isim.sdkrfilereader.properties” formatını kullanmalıyız.

Oluşturulan parser’ı “test.sdkrfilereader.properties” olarak kaydediyoruz.

SmartConnector Kurulumu ve Konfigürasyonu

SmartConnector kurulumunda connector çeşidini seçildiği ekranda “ArcSight FlexConnector Regex File” seçilir.

connector tipini seçtikten sonrasında şu şekilde bir ekran çıkmaktadır.

Bu ekranda;

Log Unparsed Events kısmında connectore gelen logların parse edilememesi durumunda ham olarak hedefe gönderilmesi veya gönderilmemesini belirtilir.

Log File Name olarak belirtilen alanda kaynaktan almak istediğimiz log dosyasının yerini belirtiyoruz. Yanda bulunan “…” tuşuna tıklayarak dosya konumunu gösterilmelidir.

Configuration file alanında ise isimlendirmiş olduğumuz Parser dosyamızın sadece ilk noktaya kadar olan kısmının yazılması gerekmektedir.

Connector kurulumunun sonraki adımında ise hedef belirtilmesi gerekmektedir.

Hedef ile ilgili bilgilerde girildikten sonra servis kurulumunu sayfası gelmektedir.

Bu sayfada da servis ismi girildikten sonra kurulum tamamlanır.

Oluşturulan Parser dosyasını ilgili connector de;

“ARCSIGHT_HOME\user\agent\ flexagent”

Altına yerleştirilerek kurulum tamamlanır.

Kurulum tamamlandıktan sonra Connector ün kurulmuş olduğu cihazda servisinin çalıştırılması gerekmektedir. Connector ün kurulu olduğu cihazın tekrar başlatılması durumunda servisin otomatik çalışması için durumunun “Automatic” olması gerekmektedir.

Servis çalıştırıldıktan sonra ilgili connectorün “ARCSIGHT_HOME\current\logs\agent.out.wrapper.log” dosyası kontrol edildiğinde First Event from kısmında deviceProduct ve deviceVendor alanı görülür.

Hedef gösterilen ArcSight Logger üzerinde deviceVendor = “TEST” araması yapıldığında aşağıdaki şekilde görüntülenmektedir.

Logger v7 Öncesi sürümlerde maplenmiş alanları aşağıdaki gibi görüntülenebilir.

Logger v7 ve sonrası sürümlerde yeni gelen Search sekmesinde ise aşağıdaki gibi görüntülenebilir;

9 Adımda Veri Keşfi Neden Önemli

9 Adımda Veri Keşfi neden önemli ve Veri Keşfi ürünlerinde nelere dikkat edilmeli

Analiz

Veri keşfi konusu 7 Nisan 2016 tarihinde yürürlüğe giren 6698 sayılı Kişisel Verilerin Korunması Kanunu (KVKK) ile hayatımıza girdi. Bu kanunla beraber bu zamana kadar dağınık olan verilerimizin nerede tutulduğunun ve ne derece kritik olduğunun önemi giderek artmaktadır.

Daha fazla
ArcSight ESM MISP entegrasyonu nasıl yapılır?

ArcSight ESM MISP entegrasyonu nasıl yapılır?

Entegrasyon

SIEM ürünlerinin en önemli özelliği korelasyon yapabilmesidir. ESM de correlation engine sayesinde verileri işler ve korelasyon yapabilme yeteneği kazanır.

Daha fazla
Türkiye'nin En Mutlu İş Yeri ve Mükemmel Çalışan Deneyimi

“Türkiye’nin En Mutlu İş Yeri” ve 3 yıldız ile “Mükemmel Çalışan Deneyimi” ödüllerini büyük bir gurur ve heyecan ile aldık

Ofis

Happy Place to Work tarafından gerçekleştirilen uluslararası standartlara uygun değerlendirme sonrası sektöründe “En Mutlu İşyeri” seçilmiş olmamız başarımızı taçlandıran bir ödül oldu. Ofisimizde düzenlediğimiz bir etkinlik ile ödülümüzü alırken, değerlendirmeye katılan ve bizi bu ödüle layık gören ekip arkadaşlarımızla kutlama yaptık.

Daha fazla
ReFS ve NFTS Hakkında Karşılaştırma

ReFS vs. NTFS

Versus

Full Stabil yapılardan söz etmek mümkün mü? Dosya içeriği değişmiyor belki ama dosya sistemi, formatı ihtiyaçlarla paralel olarak değişebiliyor. Neden bu konuya girdim peki? Çünkü alışkın olduğumuz FAT32 ya da NTFS dosya sistemlerinin yanında artık sıklıkla duyulmaya başlanan ReFS dosya sistemi de yerini almaya başladı.

Daha fazla