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:
- Pobiera adres IP z logu.
- Wysyła zapytanie do AbuseIPDB API, aby sprawdzić reputację IP.
- 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.