Wdrożenie i konfiguracja systemu SIEM (Splunk, QRadar)

Cel projektu

Wdrożenie i konfiguracja systemu SIEM (Splunk, QRadar) w celu centralizacji analizy logów oraz skrócenia czasu reakcji na incydenty bezpieczeństwa. Integracja narzędzi do skanowania podatności i monitoringu ruchu sieciowego.

Zastosowane technologie i narzędzia

SIEM: Splunk, IBM QRadar

Skanery podatności: Nessus, OpenVAS

Analiza ruchu sieciowego: Wireshark

Automatyzacja: PowerShell, Python (skrypty do zbierania i przetwarzania logów)

Dashboardy i raportowanie: Splunk (KPI, wizualizacje trendów)

Realizacja projektu

  1. Integracja logów z różnych źródeł (serwery, aplikacje, urządzenia sieciowe).
  2. Konfiguracja reguł korelacyjnych i alertów w Splunk.
  3. Automatyzacja wybranych procesów analitycznych z użyciem skryptów w Python i PowerShell.
  4. Uruchomienie skanerów podatności (Nessus, OpenVAS) i integracja wyników z SIEM.
  5. Analiza ruchu sieciowego za pomocą Wireshark w przypadkach incydentów.
  6. Stworzenie dashboardów KPI dla monitoringu bezpieczeństwa i wsparcia decyzji biznesowych.
  7. Szkolenie dla zespołu marketingowego z podstaw analizy danych i korzystania z dashboardów.

Przykłady skryptów 

  1. Odczyt i filtrowanie logów (analiza nieudanych logowań)

# Odczyt pliku logów i wyszukiwanie nieudanych prób logowania

with open(„auth.log”, „r”) as logfile:

    for line in logfile:

        if „Failed password” in line:

            print(line.strip())

Używane do szybkiego znajdowania linii z błędami logowania w systemie.

  1. Automatyczne sprawdzanie otwartych portów (mini skaner)

import socket

target = „192.168.1.10”

ports = [22, 80, 443, 3389]

for port in ports:

    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    sock.settimeout(1)

    result = sock.connect_ex((target, port))

    if result == 0:

        print(f”[+] Port {port} jest OTWARTY na {target}”)

    else:

        print(f”[-] Port {port} jest ZAMKNIĘTY”)

    sock.close()

 Prosty odpowiednik nmap w Pythonie do sprawdzania dostępności portów.

  1. Analiza ruchu sieciowego z wykorzystaniem Scapy

from scapy.all import sniff

def packet_callback(packet):

    if packet.haslayer(„IP”):

        src = packet[„IP”].src

        dst = packet[„IP”].dst

        print(f”Pakiet: {src} -> {dst}”)

# Przechwytuje pierwsze 10 pakietów

sniff(count=10, prn=packet_callback)

 Mini analizator: pokazuje adresy IP źródłowe i docelowe.

  1. Automatyczne generowanie raportu z logów

import json

alerts = [{„type”: „failed_login”, „user”: „admin”, „ip”: „192.168.1.50”},

    {„type”: „port_scan”, „user”: „-„, „ip”: „10.0.0.7”}]

with open(„report.json”, „w”) as report_file:

    json.dump(alerts, report_file, indent=4)

print(„Raport zapisano w report.json”)

Zapisuje zdarzenia bezpieczeństwa w formacie JSON do dalszego przetwarzania w SIEM.

  1. Integracja ze Splunk przez API

import requests

splunk_url = „https://splunk-server:8089”

auth = („admin”, „password”)

search_query = ‚search index=main „failed login” | stats count by user’

payload = {„search”: search_query}

response = requests.post(f”{splunk_url}/services/search/jobs”, auth=auth, data=payload, verify=False)

print(„Zapytanie wysłane do Splunk:”, response.status_code)

Ten kod może być użyty do automatyzacji zapytań do Splunk.

Rezultaty

  • Skrócenie czasu wykrywania incydentów o 35%
  • Zbudowanie dashboardów KPI umożliwiających bieżące śledzenie wyników
  • Przeprowadzenie szkolenia z analityki dla zespołu marketingowego
  • Zwiększenie przejrzystości procesów bezpieczeństwa i lepsza współpraca między działami 

Wartość biznesowa

Projekt pozwolił nie tylko na poprawę bezpieczeństwa, ale również na wykorzystanie danych z SIEM do analityki biznesowej i wsparcia innych działów organizacji.

Powiązane projekty

/