Ana içeriğe geç

Logstash üzerinden Splunk Enterprise

Bu talimatlar, Wallarm’ın Logstash veri toplayıcı ile entegrasyonuna ilişkin bir örnek sunar; olayların Splunk SIEM sistemine iletilmesini sağlar.

The most common logging scheme in complex systems consists of the following components:

  • Data collector: accepts logs from several sources and forwards logs to the SIEM system

  • SIEM system or log management systems: used to analyze logs and monitor the system status

Webhook akışı

Kullanılan kaynaklar

Wallarm Cloud IP addresses

To provide Wallarm Cloud access to your system, you may need a list of its public IP addresses:

35.235.66.155
34.102.90.100
34.94.156.115
35.235.115.105
34.94.85.217
34.94.51.234
34.102.59.122
34.94.238.72
35.235.100.79
34.102.45.38
34.94.241.21
34.102.90.100
34.94.203.193
34.94.238.221
34.94.9.23
34.141.230.156
34.91.138.113
34.90.114.134
35.204.127.78
34.90.24.155

Splunk Enterprise ve Logstash servislerine ait bağlantılar örnek olarak verildiğinden yanıt vermezler.

Splunk Enterprise yapılandırması

Logstash günlükleri, Wallarm Logstash logs adı ve diğer varsayılan ayarlarla Splunk HTTP Event Controller’a gönderilir:

HTTP Event Collector yapılandırması

HTTP Event Controller’a erişmek için oluşturulan 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb jetonu kullanılacaktır.

Splunk HTTP Event Controller kurulumunun daha ayrıntılı açıklaması resmi Splunk dokümantasyonunda mevcuttur.

Logstash yapılandırması

Wallarm, günlükleri webhooks üzerinden ara veri toplayıcı olan Logstash’e gönderdiğinden Logstash yapılandırması aşağıdaki gereksinimleri karşılamalıdır:

  • POST veya PUT isteklerini kabul etmek

  • HTTPS isteklerini kabul etmek

  • Genel bir URL’ye sahip olmak

  • Günlükleri Splunk Enterprise’a iletmek; bu örnekte günlükleri iletmek için http eklentisi kullanılmaktadır

Logstash, logstash-sample.conf dosyasında yapılandırılmıştır:

  • Gelen webhook işleme input bölümünde yapılandırılmıştır:

    • Trafik 5044 portuna gönderilir
    • Logstash sadece HTTPS bağlantılarını kabul edecek şekilde yapılandırılmıştır
    • Genel olarak güvenilen bir CA tarafından imzalanmış Logstash TLS sertifikası /etc/server.crt dosyasında bulunmaktadır
    • TLS sertifikasının özel anahtarı /etc/server.key dosyasında bulunmaktadır
  • Splunk’a iletim ve günlük çıktılaması output bölümünde yapılandırılmıştır:

    • Günlükler Logstash’ten Splunk’a JSON formatında iletilir
    • Tüm olay günlükleri Logstash’ten Splunk API uç noktası https://109.111.35.11:8088/services/collector/raw adresine POST istekleriyle iletilir. İstekleri yetkilendirmek için HTTPS Event Collector jetonu kullanılır
    • Logstash günlükleri ayrıca komut satırına yazdırılır (15. kod satırı). Bu ayar, olayların Logstash üzerinden günlüğe yazıldığını doğrulamak için kullanılır
input {
  http { # HTTP ve HTTPS trafiği için input eklentisi
    port => 5044 # gelen istekler için port
    ssl => true # HTTPS trafiğinin işlenmesi
    ssl_certificate => "/etc/server.crt" # Logstash TLS sertifikası
    ssl_key => "/etc/server.key" # TLS sertifikası için özel anahtar
  }
}
output {
  http { # Logstash'ten HTTP/HTTPS protokolü ile günlükleri iletmek için output eklentisi
    format => "json" # iletilen günlüklerin formatı
    http_method => "post" # günlükleri iletmek için kullanılan HTTP yöntemi
    url => "https://109.111.35.11:8088/services/collector/raw" # günlüklerin iletileceği uç nokta
    headers => ["Authorization", "Splunk 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb"] # istekleri yetkilendirmek için HTTP başlıkları
  }
  stdout {} # Logstash günlüklerini komut satırına yazdırmak için output eklentisi
}

Yapılandırma dosyalarının daha ayrıntılı açıklaması resmi Logstash dokümantasyonunda mevcuttur.

Logstash yapılandırmasını test etme

Logstash günlüklerinin oluşturulup Splunk’a iletildiğini kontrol etmek için Logstash’e POST isteği gönderilebilir.

İstek örneği:

curl -X POST 'https://logstash.example.domain.com' -H "Content-Type: application/json" -H "Authorization: Splunk 93eaeba4-97a9-46c7-abf3-4e0c545fa5cb" -d '{"key1":"value1", "key2":"value2"}'

Logstash günlükleri:
Logstash günlükleri

Splunk olayı:
Splunk olayları

Logstash entegrasyonunun yapılandırılması

  • Webhooks are sent to https://logstash.example.domain.com

  • Webhooks are sent via POST requests

  • The webhook integration has default advanced settings

  • Webhooks sent to Webhook URLs are all available events: hits, system events, vulnerabilities, scope changes

Logstash ile Webhook entegrasyonu

Logstash entegrasyonunun yapılandırması hakkında daha fazla bilgi

Örnek test

To test the configuration, a new user is added in Wallarm Console:

Adding user

Logstash olayı aşağıdaki gibi günlüğe yazacaktır:

Logstash'tan Splunk'ta yeni kullanıcıya ilişkin günlük

Splunk olaylarında aşağıdaki kayıt görüntülenecektir:

Logstash'tan Splunk'ta yeni kullanıcı kartı

Olayları bir panoda düzenleme

To get Wallarm events organized into a ready-to-use dashboard in Splunk 9.0 or later, you can install the Wallarm application for Splunk.

This application provides you with a pre-configured dashboard that is automatically filled with the events received from Wallarm. In addition to that, the application enables you to proceed to detailed logs on each event and export the data from the dashboard.

Splunk dashboard

To install the Wallarm application for Splunk:

  1. In the Splunk UI ➝ Apps find the Wallarm API Security application.

  2. Click Install and input the Splunkbase credentials.

If some Wallarm events are already logged in Splunk, they will be displayed on the dashboard, as well as further events Wallarm will discover.

In addition, you can fully customize the ready-to-use dashboard, e.g. its view or search strings used to extract data from all Splunk records.