Dokümanlar · Denetim

Denetim senaryoları & kılavuz

İç ve dış denetçilerin sorduğu tipik soruların Mergen tespitlerine haritalanması — her birini hangi yerleşik kural yanıtlar ya da hangi özel-kural reçetesini tanımlarsınız, ve kapsam dışı olanların dürüst listesi. Her tespit kim (kullanıcı, IP), ne (kural, ifade, tablo/kolon) ve ne zaman bilgisini taşır.

Niyet üzerine bir not

Mergen ne yapıldığını ve deseni kaydeder; niyet, denetçinin bu kanıttan verdiği bir yargıdır — ama bazı desenler niyeti güçlü şekilde ima eder (sızdırma beaconing, yetki-yükseltme zincirleri, kimlik-kataloğu okuma). Mergen'in işi etkinliği inkâr-edilemez ve aranabilir kılmaktır.

"DBA / ayrıcalıklı kullanıcı aktivitesini logluyor musunuz?"

Evet. İsimli yöneticilerin yaptığı her şeyi Info seviyesinde bir iz olarak yakalayan bir özel kural:

{
  "id": "dba_activity",
  "severity": "info",
  "match": { "user_in": ["dba", "root", "postgres"] },
  "message_template": "DBA activity: {kind} on {tables} by {user}"
}

"Uygulama hesabı DIŞINDAKİ her işlemi kayıt altına alın." (en sık SoD talebi)

Tüm meşru servis hesaplarını user_not_in'e yazın; gerisi — operatörler, scriptler, üçüncü taraflar — kaydedilir:

{
  "id": "non_app_access",
  "severity": "warning",
  "match": { "user_not_in": ["app_service"] },
  "message_template": "non-app access: {kind} on {tables} by {user}"
}

Birim testleriyle doğrulandı: sod_non_app_user_fires, sod_app_user_silent.

Korunan tablolara app-dışı yazma

Bir analistin okuması serbest; finansal tabloya app-dışı bir yazma Kritik:

{
  "id": "non_app_write",
  "severity": "critical",
  "match": {
    "statement_kinds": ["Insert", "Update", "Delete"],
    "tables_regex": "^(ledger|payments|payroll)$",
    "user_not_in": ["app_service"]
  }
}

Birim testleriyle doğrulandı: non_app_write_fires_but_read_silent.

Senaryo → kural kapsamı

Yetki / rol değişiklikleri role_privilege_escalation · dangerous_grant · role_impersonation Yerleşik
Şema değişiklikleri (DDL) dangerous_ddl · ddl_by_non_admin Yerleşik
Arka kapı / kalıcılık security_definer_function · trigger_backdoor · dangerous_extension Yerleşik
Toplu dışa aktarma excessive_data_export Yerleşik
Dosya / doğrudan sızdırma exfil_direct Yerleşik
PII / hassas veri (KVKK) pii_content · turkish_pii · ozel_nitelikli_veri_access · sensitive_column_read Yerleşik
Yavaş sızdırma / beaconing exfil_byte_volume · exfil_time_pattern Yerleşik
Mesai-dışı etkinlik off_hours_query Yerleşik
Davranışsal sapma (UEBA) ueba_anomaly · ueba_peer_anomaly Yerleşik
Toplu silme (WHERE yok) bulk_delete Yerleşik
Denetim/log kurcalama audit_tamper Yerleşik
Kimlik kataloğu okuma system_catalog_recon Yerleşik
Başarısız erişim / brute force failed_login_burst · login_audit Yerleşik
DBA aktivite izi custom: user_in Özel kural
Görev ayrılığı (app-dışı erişim) custom: user_not_in Özel kural
Yüksek-hızlı kazıma custom: rate Özel kural

Not: zaman da opsiyonel bir eksendir — çoğu kural 7/24 çalışır (istenmeyen işlem mesai içinde de olur). Zamana bağlamak isterseniz özel kurala time_window ekleyin: örn. "app-dışı erişim yalnız mesai-dışı" tek Kritik kural ({user_not_in} + {time_window start 18:00 end 08:00}). Mesai-içiyle sınırlamak için negate/days kullanın (UTC).

Özel kural nasıl eklenir

  1. Rules → Custom rules → New. Motoru (pg/mongo) ve önem seviyesini seçin.
  2. match ayarlayın: ifade türleri, tablo/kolon/komut regex, user_in / user_not_in, WHERE-yok — yalnız gerekeni birleştirin (VE mantığı; boş match her şeyi yakalar).
  3. Gerekirse rate ekleyin (sayı / pencere / kullanıcı-bazında) — patlama kuralları için.
  4. Mesaj şablonu yazın: {kind}, {tables}, {columns}, {user}.
  5. Kaydedin — kural bir sonraki heartbeat'te ajanlara iletilir (yeniden başlatma yok), host/grup/global kapsamlanabilir.
  6. Test edin — panel, son yakalanan sorgu desenlerine karşı önizleme yapar (yaklaşık; kesin eşleşme ajanda canlı çalışır).

Kapsam dışı (dürüst boşluklar)

Bu durum-bilgili (stateful) kimlik-anomali senaryoları yol haritasındadır (gelişmiş katman) ve bugün tespit edilmez — kapsanmış gibi sunulmamalıdır:

  • Hesap paylaşımı (aynı kimlik, eşzamanlı çok host)
  • Uyuyan hesabın yeniden aktifleşmesi
  • İmkânsız seyahat (kısa sürede uzak IP'ler)
  • Filo genelinde ilk-kez-nesne erişimi