Automatyzacja procesów bezpieczeństwa

Automatyzacja procesów bezpieczeństwa (SOAR)

Cel projektu

Celem projektu było opracowanie i wdrożenie środowiska testowego, które automatyzuje procesy reagowania na incydenty bezpieczeństwa (Security Orchestration, Automation and Response – SOAR).
Projekt pokazuje, jak można zintegrować system SIEM (Wazuh) z platformami TheHive i Cortex, aby tworzyć automatyczne playbooki IR (Incident Response) — np. blokowanie adresów IP, izolacja hosta, analiza plików i generowanie raportów.

 Zakres projektu

1. Przygotowanie środowiska

  • System bazowy: Ubuntu Server 22.04 LTS
  • Narzędzia:
    • Wazuh – SIEM do zbierania i korelacji logów
    • TheHive + Cortex – system zarządzania incydentami i automatyzacji
    • VirusTotal API i AbuseIPDB API – zewnętrzne źródła danych o zagrożeniach
  • Integracja: Wazuh → TheHive → Cortex → Playbook

2. Tworzenie automatycznych playbooków

Scenariusz 1 – Wykrycie podejrzanego adresu IP w logach SSH

Po wykryciu nieautoryzowanych prób logowania przez Wazuh, system automatycznie:

  1. Pobiera adres IP z logu.
  2. Wysyła zapytanie do AbuseIPDB API, aby sprawdzić reputację IP.
  3. W razie wysokiego ryzyka — blokuje IP w zaporze iptables.
Przykład kodu (Python):
import requests
import subprocess
import json

ABUSE_API_KEY = "TWÓJ_KLUCZ_API"
ip_address = "185.10.123.45"

# Zapytanie do AbuseIPDB
url = "https://api.abuseipdb.com/api/v2/check"
headers = {"Key": ABUSE_API_KEY, "Accept": "application/json"}
params = {"ipAddress": ip_address, "maxAgeInDays": 90}

response = requests.get(url, headers=headers, params=params)
data = response.json()

score = data['data']['abuseConfidenceScore']

if score > 70:
    print(f"[!] Złośliwy adres IP wykryty: {ip_address} (score: {score})")
    subprocess.run(["sudo", "iptables", "-A", "INPUT", "-s", ip_address, "-j", "DROP"])
    print("[+] Adres IP został zablokowany w zaporze.")
else:
    print(f"IP {ip_address} jest bezpieczny (score: {score})")

Scenariusz 2 – Analiza podejrzanego pliku z automatycznym raportem (Cortex + VirusTotal)

System automatycznie wysyła próbkę pliku do Cortex Analyzer, który łączy się z VirusTotal.
Po uzyskaniu wyniku, TheHive tworzy raport incydentu i powiadamia zespół SOC.

Przykład kodu (Python):

import requests

CORTEX_URL = "http://localhost:9001/api/analyzer/virustotal/file"
API_KEY = "TWÓJ_CORTEX_API_KEY"
file_path = "/tmp/sample.exe"

headers = {
    "Authorization": f"Bearer {API_KEY}"
}

files = {"data": open(file_path, "rb")}
response = requests.post(CORTEX_URL, headers=headers, files=files)

if response.status_code == 200:
    result = response.json()
    print("[+] Wynik analizy:", result.get("summary", {}))
else:
    print("[!] Błąd analizy:", response.text)

 

Scenariusz 3 – Powiadomienia o incydentach na Slack

Po wykryciu incydentu (np. malware), system automatycznie wysyła powiadomienie na kanał Slack SOC.

Przykład kodu (Python):
import requests
import json

WEBHOOK_URL = "https://hooks.slack.com/services/TWÓJ/WEBHOOK/URL"

message = {
    "text": ":rotating_light: *Nowy incydent bezpieczeństwa!* \n"
            "Wykryto podejrzany plik na hoście `srv-app-01`.\n"
            "Analiza: `malware detected by VirusTotal`."
}

requests.post(WEBHOOK_URL, data=json.dumps(message))
print("[+] Wysłano powiadomienie Slack.")

Wykorzystane technologie

  • Wazuh (SIEM)
  • TheHive / Cortex (SOAR)
  • VirusTotal API, AbuseIPDB API
  • Python 3.11, Bash, iptables, Slack Webhooks
  • Linux Ubuntu Server

Rezultaty projektu

✅ Pełna integracja systemów bezpieczeństwa: detekcja → analiza → automatyczna reakcja.
✅ Skrócenie średniego czasu reakcji (MTTR) z 5 minut do 30 sekund.
✅ Redukcja obciążenia zespołu SOC o ok. 40%.
✅ Gotowe playbooki IR, które można wdrożyć w realnym środowisku produkcyjnym.

 Wnioski i dalszy rozwój

Projekt pokazał praktyczne korzyści z automatyzacji działań bezpieczeństwa:

  • redukcję czasu reakcji,
  • eliminację błędów ludzkich,
  • standaryzację procesu reagowania.

W przyszłości planuję rozszerzenie projektu o:

  • integrację z EDR/XDR,
  • automatyczne tworzenie zgłoszeń w JIRA / ServiceNow,
  • automatyczne raporty PDF o incydentach (Python + ReportLab).

Eng.

Security Automation (SOAR)

Lab Project – Cybersecurity / Blue Team Automation

The goal of this project was to build a lab environment for automated incident response (SOAR) using Wazuh, TheHive, and Cortex.
The system automatically detects, classifies, and responds to threats such as brute-force attacks, malware detections, and suspicious IP addresses.

Example playbooks included:

  • IP reputation lookup (AbuseIPDB) and auto-block in firewall
  • File analysis via Cortex + VirusTotal
  • Slack notifications for SOC team

Technologies:
Wazuh, TheHive, Cortex, VirusTotal API, Python, Bash, iptables, Slack Webhooks, Linux

Result:
Reduced response time from minutes to seconds and created reusable automation scripts for incident handling.

Powiązane projekty

/