Tüm yazılar
·2 dk okuma·ShamashAi Ekibi

Brute-force saldırısını 5 dakikada tespit ve durdur

200 fail login satırı 1 alarma nasıl dönüşür? Sliding window, threshold, password spray ayrımı ve otomatik IP block — sahadan teknik notlar.

Cuma akşamı 19:00. IT yöneticisi evine gitmiş, ağda kimse kalmamış. 19:23'te m.yildiz@firma.com.tr hesabına 200 başarısız RDP denemesi başlıyor. Saat 21'e kadar 1,847 deneme. Pazartesi sabah log yığınına bakan birinin görmesi 36 saat sürüyor. Saldırgan o zamana kadar başka bir hesaba geçmiş.

Bu yazı, ShamashAi'ın bu zinciri 5 dakikada nasıl kırdığını anlatıyor — hangi event'i hangi tabloya yazıyoruz, eşik hangi sayı, password spray'i nasıl ayırıyoruz, SOAR'a hangi noktada veriyoruz.

1. Sliding window — 5 dakika · 5 fail

Korelasyon motoru her event'i src_ip anahtarıyla gruplar. Window parametreleri:

WINDOW_MS         = 5 dakika sliding
THRESHOLD         = 5 fail
EMIT_COOLDOWN_MS  = 5 dakika (re-trigger önler)
MAX_KEYS          = 5,000 src_ip (memory cap, FIFO eviction)

Hangi event tipleri yakalanıyor? FAIL_TYPES seti:

  • AUTH_FAIL_USER — generic auth failure
  • AUTH_FAIL_RDP — Win 4625 / RDP brute
  • AUTH_FAIL_UNLOCK — workstation unlock fail
  • M365_SIGNIN_FAILURE — Entra ID sign-in (Graph)
  • SQL_LOGIN_FAILED — TDS 18456
  • VPN_LOGIN_FAILED — fortinet sslvpn / ipsec
Eşik aşıldığında BRUTE_FORCE_DETECTED composite event üretilir. Severity high, risk score 70+, kaynak IP'nin geo enrichment'ı + threat intel match'i eklenmiş halde.

2. Password spray ayrımı

5 fail aynı kullanıcıya geliyorsa "targeted brute-force". 5 fail **3+ farklı kullanıcıya** dağılmışsa "password spray" — saldırı imzası başka. Composite event payload'ında ayırt edici:

{
  "event_type": "BRUTE_FORCE_DETECTED",
  "subtype": "password_spray",
  "distinct_users": ["ahmet", "mehmet", "ayse"],
  "src_ip": "185.220.x.x",
  "window_start": "...",
  "fail_count": 12
}

UI rozeti farklı renkte — operatör hemen anlıyor.

3. SOAR auto-block — eğer aktifse

Eğer Fortigate REST API connector aktif ve cihaz soar_enabled = 1 ise:

event arrives → correlation hits threshold
            → BRUTE_FORCE_DETECTED composite
            → SOAR auto-trigger ("auto:rule")
            → POST /api/v2/cmdb/firewall/address (yeni address objesi)
            → PUT /firewall/addrgrp/Shamashai-Blocked (member ekle)
            → 60 dk sonra auto-expire loop temizler

Tüm zincir 1-2 saniyede tamamlanır. Audit log'da action zinciri görünür:

2026-05-14 19:28:14 · correlation.detect    · src_ip=185.220.x.x · count=6
2026-05-14 19:28:14 · soar.auto_trigger    · rule=brute_force
2026-05-14 19:28:15 · soar.block_applied   · device=fortigate-01 · ttl=60min
2026-05-14 19:28:15 · notification.dispatch · channel=email,push

4. Notification policy

Default davranış: critical & high severity → email + push + webhook. Quiet hours 22:00–07:00 arası push susturulabilir; ama "digest_only" aktif değilse kritik yine push atar (gece bile haber ver mantığı).

Telefondaki PWA bildirim 19:28:16'da çalıyor. IT yöneticisi 30 saniyede durumu görüyor, 1 dakikada onaylıyor, vaka kapalı.

5. Pratikte ne kazandık?

  • MTTR (Mean Time To Respond) 36 saatten 2 dakikaya indi
  • Saldırgan 200 deneme yapamadan, ilk 6'da bloklandı
  • Kapanış evrakı: composite event_id + SOAR action_id + audit zincirinin tamamı
  • KVKK Madde 12 (yetkisiz erişim önleme) — kanıt-eşli, audit'e hazır

Limitler ve dürüst notlar

  • Private/loopback/CGNAT IP block edilemez (perimeter mantıklı değil; bunlar
için internal quarantine var)
  • Whitelist gerekli: ofis IP'leri, kendi VPN IP'leri, bilinen partner IP'ler
  • Bypass: saldırgan 5'er fail × 10 IP yapsa correlation tetiklenmez —
bunun için ek distinct_users × src_ip count heuristic'i v1.5'te
  • Threat intel feed'leri (Tor + FireHOL + Spamhaus) saatlik refresh —
brand-new IP'ler ilk bir saat görünmez

Pratik tavsiye: Brute-force korelasyonunu enable etmeden önce 1 hafta "observe-only" çalıştırın. Hangi servis hesabınız thresshold'a takılıyorsa notification'ı düşürüp whitelist'e ekleyin. SOAR auto-block 2. haftada açılır. ShamashAi pilot programı bu kalibrasyonu 2 haftalık discovery fazında yapıyor.

Paylaş

Bu konuyu projenize uygulayalım

Pilot programı kapsamında ürünü gerçek altyapınızda 30 gün ücretsiz deneyin.