Elasticsearch, Wazuh, Graylog, Ossec, Ossim, Yelp/Elastalert, Security Onion ve SIEMonster Gibi Açık Kaynak Ürünlerin Canlı Log, Korelasyon, Arşiv Log Açısından Değerlendirmeler

Ertugrul Akbas
6 min readDec 7, 2021

Çok kullanılan, çok bilinen ve çok sevilen başarılı açık kaynak SIEM veya SIEM yerine kullanılabileceği düşünülen ürünlerin canlı log, korelasyon ve arşiv log açısından değerlendirmeleri aşağıdadır.

Elasticsearch:

Elasticsearch bu makalede incelenecek bütün ürünlerin log saklama ve loga erişim altyapısıdır. Dolayısı ile canlı log ile ilgili buradaki veriler diğer bütün çözümler için geçerlidir.

Korelasyon: Açık kaynak sürümünde korelasyon yoktur. Çeşitli açık kaynak alarm çözümleri bu eksiği gidermek için geliştirilmiştir. Bunlarda en meşhuru Yelp/Elastalert dir. Yelp/Elastalert periyodik Elasticsearch sorguları çalıştırarak alarm üretir. Dolayısı ile gerçek zamanlı korelasyon yoktur. Ayrıca sadece SIEM korelasyon piramidinin temel basamaklarındaki senaryoları sağlar [1]. Ayrıca

  • Yelp/Elastalert korelasyon motorunun çapraz bağlama yeteneği mevcut değildir,
  • Yelp/Elastalert korelasyon motorunun adımlarını takip etme yeteneği yoktur,
  • Aktif liste kullanma yeteneği çok kısıtlıdır [2],
  • Operatörleri çok kısıtlıdır[3,4,5].
  • Correlation Field(Filter) Operatorleri çok kısıtlıdır [3,4,5]

Korelasyon piramidinin üst basamaklarındaki aşağıdaki gibi senaryoları desteklemez.

🔴 Abnormal number of (X) failed logons, expected around Y
🔴 First access to database mssql for user
🔴 Unusual access to servers
🔴 Failed logon to an asset us_crm_srv1 that this user has previously never logged on to
🔴 Abnormal volume of downloads from critical applications
🔴 Suspicious file type detected
🔴 Rare process detected across the resource
🔴 Spike in Remote Logon Attempts
🔴 Abnormal visits to Risky Resources
🔴 User Volume Activity Anomaly — Traffic to Internal Domains Found
🔴 Suspicious PowerShell Activity
🔴 Unusual Scanning of Windows Servers Detected
🔴 Ertuğrul Akbaş son 6 aydır hiç bu SAP sunucuya öğleden sonra login olmamıştı şimdi oldu, bu onun için anormal bir durum
🔴 Ertuğrul Akbaş bugün Türkiye içinden VPN yapmıştı 4 saat sonra ABD den VPN yaptı fiziksel olarak mümkün değil, anormal bir durum
🔴 Herhangi bir kullanıcı, herhangi bir cihaz üzerinde veya internette daha önce hiç yapmadığı bir işlem yaparsa uyar
🔴 New host logins

Canlı Log: Elasticsearch Java dilinde yazılmış, açık kaynak kodlu ve metin bazlı bir arama motorudur. Apache Lucene altyapılıdır. Arama yapabilmesi için önce logun indekslenmesi gerekir. Elasticsearch’ün logu indexlediği zaman kullanacağı disk miktarının bulunmasını sağlayan formül aşağıdadır

disk space used(original) = 1/3 original for each indexed field + 1 * original for stored + 2 * original per field with term vectors [6]

Bu noktada referans olması açısından bir rakam vermek gerekirse; Exabeam Analytics ürünü (UEBA olan değil) Elasticsearch kullanır ve 1000 (Bin) EPS için 1 yıllık indekslenmiş (canlı) log için disk ihtiyacı yaklaşık 10000 (10 Bin) GB dır [7].

Wazuh:

Korelasyon: Korelasyon kuralların öncelikle geliştirmek için aşağıdaki gibi dosyalar oluşturmalısınız. Ticari uygulamalardaki gibi bir kolay kural geliştirme ara yüzü mevcut değildir

<rule id="5716" level="5">
<if_sid>5700</if_sid>
<match>^Failed|^error: PAM: Authentication</match>
<description>SSHD authentication failed.</description>
<group>authentication_failed,pci_dss_10.2.4,pci_dss_10.2.5,</group>
</rule>

Temel ihtiyaç olan kuralları yukarıdaki formatta geliştirmek mümkün ama gelişmiş ve daha ileri seviye kurallar mümkün değildir.

Ayrıca Yelp/Elastalert de olduğu gibi sadece SIEM korelasyon piramidinin temel basamaklarındaki senaryoları sağlar [1]. Ayrıca

  • Aktif liste kullanma yeteneği çok kısıtlıdır [2],
  • Operatörleri çok kısıtlıdır[3,4,5].
  • Correlation Field(Filter) Operatorleri çok kısıtlıdır [3,4,5]

Aşağıdaki tarz senaryoları Wazuh desteklemez.

● Aynı anda aynı kullanıcı bir makinaya VPN yaparken, başka bir makinaya da RDP yaparsa uyar.

● Eğer bir domain son 24 saate oluşturuldu ise ve bu domain Alexa 1 milyon ve Cisco Umbrella 1 milyon listesinde ve bizim White liste de değilse uyar

● Password changes for the same user more than 3 within 45 days,

● 2 aydan daha uzun süredir login olmayan varsa uyar

● 72 saatten fazla süredir IP değiştirmeyen cihaz (MAC) olursa uyar

● 30 günden uzun süredir şifre değiştirmeyen kullanıcı olursa uyar

● En az 30 gündür veya daha uzun süredir networkde ses çıkarmayan (suskun, hiçbir aktivitesi olmayan) bir IP veya kullanıcı tekrar ses çıkarmaya başlarsa uyar

● First VPN connection from device for the user

● Abnormal session start time

● First connection from Source IP

● First access to device for the user

● First remote login to device for the user

● Credential switch to a privileged or execute sa

● First switch to target account sa for the user

● First access to database mssql for user

● Odd time of access (first and last access)

Korelasyon piramidinin üst basamaklarındaki Yelp/Elastalert için verdiğim senaryo örneklerini desteklemez.

Canlı Log: Wazuh log saklama ve log arama özellikleri için Elasticsearch kullanır [8]. Dolayısı ile yukarıda Elasticsearch için anlatılan her şey Wazuh için de geçerlidir.

Graylog:

Korelasyon: Free olan sürümünde korelasyon yoktur [9]. Günlük 5 GB yani ortalama 100 EPS gibi bir limit ile çalışırsanız korelasyon geliyor. Orada da temel korelasyonlar mümkün ama gelişmiş seviye korelasyon ve ileri seviye korelasyon desteklenmemektedir.

Eğer ücretsiz ve limitsiz versiyona https://github.com/airbus-cyber/graylog-plugin-correlation-count gibi açık kaynak eklentilerle korelasyon eklemek isterseniz bu mümkün, ama bu durumda SIEM korelasyon piramidinin 2. basamağındaki threshold tipi korelasyonların bile tamamını gerçekleyemezsiniz.

Graylog Yelp/Elastalert de olduğu gibi sadece SIEM korelasyon piramidinin temel basamaklarındaki senaryoları sağlar [1]. Ayrıca

  • Aktif liste kullanma yeteneği çok kısıtlıdır [2],
  • Operatörleri çok kısıtlıdır[3,4,5].
  • Correlation Field(Filter) Operatorleri çok kısıtlıdır [3,4,5]

Aşağıdaki tarz senaryoları Graylog desteklemez.

● Aynı anda aynı kullanıcı bir makinaya VPN yaparken, başka bir makinaya da RDP yaparsa uyar.

● Eğer bir domain son 24 saate oluşturuldu ise ve bu domain Alexa 1 milyon ve Cisco Umbrella 1 milyon listesinde ve bizim White liste de değilse uyar

● Password changes for the same user more than 3 within 45 days,

● 2 aydan daha uzun süredir login olmayan varsa uyar

● 72 saatten fazla süredir IP değiştirmeyen cihaz (MAC) olursa uyar

● 30 günden uzun süredir şifre değiştirmeyen kullanıcı olursa uyar

● En az 30 gündür veya daha uzun süredir networkde ses çıkarmayan (suskun, hiçbir aktivitesi olmayan) bir IP veya kullanıcı tekrar ses çıkarmaya başlarsa uyar

● First VPN connection from device for the user

● Abnormal session start time

● First connection from Source IP

● First access to device for the user

● First remote login to device for the user

● Credential switch to a privileged or execute sa

● First switch to target account sa for the user

● First access to database mssql for user

● Odd time of access (first and last access)

Ayrıca korelasyon piramidinin üst basamaklarındaki Yelp/Elastalert için verdiğim senaryo örneklerini desteklemez.

KVKK, BDDK, TCMB denetimleri ve 5651 için gerekli olan zaman damgası için de Graylog yetersiz kalır. Bunun için de ek bir şeyler yapmalısınız.

Canlı Log: Graylog log saklama ve log arama özellikleri için Elasticsearch kullanır [10]. Dolayısı ile yukarıda Elasticsearch için anlatılan her şey Wazuh için de geçerlidir.

Ossec:

OSSEC tek başına bir log toplama veya SIEM çözümü değildir. Dolayısı ile ELK, Wazuh gibi diğer açık kaynak sistemlerinden biri ile entegre olarak sistemlerde bulunur. Dolayısı ile seçilen diğer Log yönetimi veya SIEM ürünü hangi avantaj ve dezavantajlara sahip ise kurulacak sistem otomatik olarak aynı avantaj ve dezavantajlara sahiptir.

Ossim:

Korelasyon: Ossim çok temel korelasyon senaryolarını destekler

  • Aktif liste kullanma yeteneği yoktur,
  • Operatörleri çok kısıtlıdır[3,4,5].
  • Correlation Field(Filter) Operatorleri çok kısıtlıdır [3,4,5]

Korelasyon piramidinin üst basamaklarındaki yukarıda verdiğim örneklerdeki gibi senaryoları desteklemez.

Canlı Log: OSSIM de log yönetimi özelliği yoktur, yani kanun ve yönetmeliklerin şart koştuğu süre logları canlıda tutabilmeyi desteklemez. Arşiv ile de log yönetimini desteklemez[11].

Security Onion:

Korelasyon: Security Onion alarm için Elastalert kullanır [12]. Dolayısı ile yukarıdaki Elasticsearch, Yelp/Elastalert için yazdıklarım Security Onion alarm kısmı için de geçerlidir.

Canlı Log: Security Onion log saklama ve log arama özellikleri için Elasticsearch kullanır [13]. Dolayısı ile yukarıda Elasticsearch için anlatılan her şey Security Onion için de geçerlidir.

SIEMonster:

Korelasyon: SIEMMonster alarm için Elastalert [14] ve Wazuh [15] kullanır . Dolayısı ile yukarıdaki Elasticsearch, Yelp/Elastalert ve Wazuh için yazdıklarım Security Onion alarm kısmı için de geçerlidir.

Canlı Log: SIEMMonster log saklama ve log arama özellikleri için Elasticsearch kullanır [15,16]. Dolayısı ile yukarıda Elasticsearch için anlatılan her şey Security Onion için de geçerlidir.

Referanslar:

  1. https://drertugrulakbas.medium.com/siem-korelasyon-piramidi-e40be8cc41ce
  2. http://www.frankcardinale.com/2020/04/15/siem-lists-and-design-considerations/
  3. https://www.itcentralstation.com/articles/the-math-of-siem-comparison
  4. https://www.itcentralstation.com/articles/how-to-select-the-right-siem-solution
  5. https://www.itcentralstation.com/articles/what-really-matters-when-selecting-a-siem-and-how-to-choose-a-siem-looking-into-the-correlation
  6. https://lucidworks.com/post/estimating-memory-and-storage-for-lucenesolr/
  7. https://www.exabeam.com/siem-guide/siem-architecture/
  8. https://documentation.wazuh.com/current/learning-wazuh/build-lab/install-elastic-stack.html
  9. https://www.graylog.org/products/open-source-vs-enterprise
  10. https://docs.graylog.org/v1/docs/elasticsearch
  11. https://cybersecurity.att.com/products/ossim
  12. https://docs.securityonion.net/en/latest/elastalert.html
  13. https://docs.securityonion.net/en/latest/elasticsearch.html
  14. https://gitlab.com/siemonster-kubernetes/praeco
  15. https://siemonster.com/community-edition/
  16. https://github.com/siemonster/elasticsearch

--

--