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

ShamashAi Runbook Modülü — her olay tipi için hazır yanıt prosedürü

ShamashAi Runbook modülü 30+ olay tipi için adım adım müdahale prosedürü, kanıt yakalama talimatları ve onay akışları sunar. Vardiya devri kayıpları ve tekrarlanan hatalar minimuma iner.

Runbook Modülü — her olay tipi için hazır yanıt prosedürü

Salı 14:17'de ShamashAi ekranında BRUTE_FORCE_DETECTED bildirimi düştü: dc01.internal sunucusuna 220 başarısız RDP denemesi, kaynak IP 185.x.x.x. IT yöneticisi Mehmet Bey olayı görüyor ama kafasında soru işaretleri var: "Önce IP'yi mi engellemeliyim, yoksa hesabı mı kitlemeli? Active Directory logları nereden alınıyordu? Geçen ay benzer bir olayda ne yapmıştık?" Aynı olayı gece vardiyasındaki Ahmet Bey de görebilir; o zaman baştan başlar, belki farklı adımlar atar, belki unutur. Sonuç: tekrarlanan hatalar, tutarsız yanıtlar, kayıp zaman. ShamashAi Runbook modülü bu sorunu ortadan kaldırır: her event_type için hazır yanıt prosedürü, adım adım talimat, kanıt yakalama listesi, onaylayan kim, kapanış kontrol listesi. Yeni bir BRUTE_FORCE_DETECTED olayı geldiğinde ekran sağ tarafta ilgili runbook'u otomatik gösterir. IT operasyonu biraz daha az kişiye, biraz daha çok prosedüre bağlı hale gelir.

Runbook modülü nasıl çalışır?

ShamashAi her olay tipi (event_type) için bir runbook tutar. Runbook = Markdown formatında yazılmış, adım adım müdahale prosedürü. Built-in olarak 30+ event_type için runbook gelir: BRUTE_FORCE_DETECTED, AUTH_FAIL_USER, M365_RISKY_SIGNIN, KNOWN_BAD_IP, BEHAVIORAL_ANOMALY, CERT_EXPIRING, SOAR_ACTION, BACKUP_FAILED gibi. Runbook yapısı şöyle: 1. Olay özeti — bu event_type ne anlama gelir, normal şartlarda neden tetiklenir. 2. İlk inceleme adımları — hangi tabloya, hangi kolonlara bakılacak, hangi filtreler uygulanacak. 3. Kanıt yakalama — hangi loglar, hangi ekran görüntüleri, hangi SQL sorguları çalıştırılacak. 4. Müdahale adımları — IP engelleme, hesap kilitleme, sertifika yenileme, yedekleme yeniden tetikleme gibi. 5. Onay akışı — hangi adım IT yöneticisi onayı gerektirir, hangi adım doğrudan uygulanabilir. 6. Kapanış kontrol listesi — olay kapatılmadan önce hangi adımlar tamamlanmış olmalı, hangi dokümantasyon yapılmalı. Runbook'lar ShamashAi içinde GET /runbooks endpoint'inden listelenir, GET /runbooks/:id ile tek bir runbook okunur. Incident detail sayfasında ilgili event_type'ın runbook'una otomatik link gösterilir. Evidence pack oluşturulurken runbook içeriği de pack'e dahil edilir — böylece denetçiye veya SOME ekibine verilen kanıt paketi sadece loglar değil, "biz bu olaya nasıl müdahale ettik" prosedürünü de içerir.

Built-in 30+ event_type için hazır runbook

ShamashAi kurulumda 30'dan fazla event_type için hazır runbook gelir. Örnek birkaç runbook:

BRUTE_FORCE_DETECTED runbook

Olay özeti: Aynı kullanıcı adı veya aynı hedef IP'ye kısa sürede çok sayıda başarısız oturum açma denemesi tespit edildi. Genellikle otomatik parola kırma (brute-force) saldırısı işaretidir. İlk inceleme:
  • dbo.events tablosunda event_type = 'BRUTE_FORCE_DETECTED' olan kaydı bul.
  • details JSON kolonunda attempt_count, target_user, source_ip, protocol (RDP/SSH/HTTP) alanlarına bak.
  • dbo.devices tablosunda ip_address = source_ip sorgula — kayıtlı cihaz mı, yoksa dış kaynak mı?
Kanıt yakalama: sql SELECT TOP 500 timestamp, username, source_ip, result, protocol FROM dbo.events WHERE event_type IN ('AUTH_FAIL_USER', 'AUTH_SUCCESS') AND source_ip = '<tespit_edilen_ip>' AND timestamp > DATEADD(hour, -2, GETDATE()) ORDER BY timestamp DESC; Bu sorgu son 2 saatte ilgili IP'den gelen tüm oturum açma denemelerini gösterir — başarısız ve başarılı olanları.
  • Ekran görüntüsü: ShamashAi event detail sayfası, grafik timeline, source IP coğrafi konum bilgisi.
  • Active Directory Security Event Log 4625 (başarısız oturum açma) ve 4624 (başarılı oturum açma) kayıtlarını DC'den topla.
Müdahale adımları: 1. Kaynak IP dış mı, iç mi? Dışsa hemen firewall'da engelle. İçse cihazı tespit et, kötü amaçlı yazılım taraması başlat. 2. Hedef hesap compromise oldu mu? Eğer deneme sayısı 500+, ve arada 1-2 başarılı oturum açma varsa hesap ele geçirilmiş olabilir. Hesabı kilitle, parolayı sıfırla, kullanıcıya bildir. 3. SOAR aksiyonu: ShamashAi'nin SOAR modülünü kullanarak otomatik aksiyon tetikle: javascript // Node.js Fastify endpoint example app.post('/soar/block', async (req, reply) => { const { source_ip, reason, approver } = req.body; // Firewall API entegrasyonu (örnek FortiGate REST API) const firewallResponse = await axios.post( 'https://firewall.internal/api/v2/cmdb/firewall/address', { name: block_${source_ip.replace(/\./g, '_')}, subnet: ${source_ip}/32, comment: Auto-blocked by ShamashAi: ${reason} }, { headers: { 'Authorization': Bearer ${process.env.FW_TOKEN} } } ); // SOAR aksiyonunu dbo.soar_actions tablosuna kaydet await sql.query` INSERT INTO dbo.soar_actions (action_type, target, status, approver, timestamp) VALUES ('IP_BLOCK', ${source_ip}, 'completed', ${approver}, GETDATE()) `; return { success: true, action_id: firewallResponse.data.id }; }); 4. Onay gerekli mi? Eğer kaynak IP şirket VPN pool'undan geliyorsa IT yöneticisi onayı iste. Dış IP ise otomatik engelle. Kapanış kontrol listesi:
  • [ ] Kaynak IP engellenmiş veya cihaz karantinaya alınmış.
  • [ ] Hedef hesap durumu kontrol edilmiş (kilitli/sıfırlanmış).
  • [ ] Kanıt paketi oluşturulmuş (GET /reports/evidence-pack?event_id=...).
  • [ ] Kullanıcıya bildirim gönderilmiş (eğer hesap sıfırlandıysa).
  • [ ] Incident dbo.incident_groups tablosunda 'closed' statüsüne çekilmiş.

CERT_EXPIRING runbook

Olay özeti: Sunucuda veya ağ cihazında kullanılan TLS/SSL sertifikası 30 gün içinde sona erecek. Süre dolduğunda hizmet kesintisi riski. İlk inceleme:
  • dbo.events tablosunda event_type = 'CERT_EXPIRING' kaydını bul.
  • details JSON'unda hostname, cert_subject, expiry_date, days_remaining alanlarına bak.
  • dbo.devices tablosunda ilgili cihazı bul, site ve departman bilgisini kontrol et.
Kanıt yakalama:
  • ShamashAi ekranından sertifika detay sayfasını ekran görüntüsü al.
  • Sunucuya bağlanıp openssl s_client -connect hostname:443 -servername hostname komutuyla sertifika zincirini manuel kontrol et (Linux) veya Windows'ta MMC > Certificates snap-in ile.
Müdahale adımları: 1. Sertifika yenileme talebini başlat: Şirket CA'sine (internal) veya harici sağlayıcıya (DigiCert, Let's Encrypt) yenileme talebi aç. 2. Yeni sertifikayı yükle: Sunucuda IIS, Apache, nginx gibi web server'a yeni sertifikayı yükle, binding'i güncelle. 3. Test et: curl -I https://hostname veya tarayıcıdan bağlan, yeni sertifikanın geçerli olduğunu doğrula. 4. ShamashAi'yi güncelle: Eğer ShamashAi .NET agent'ları bu sunucudan log topluyorsa, agent config'inde sertifika thumbprint varsa güncelle. Onay akışı: Sertifika yenileme IT yöneticisi onayı gerektirmez — sysadmin doğrudan yapabilir. Ancak production sunucularında değişiklik change management sürecine tabi. Kapanış kontrol listesi:
  • [ ] Yeni sertifika yüklenmiş, eski sertifika kaldırılmış.
  • [ ] Servis restart edilmiş, downtime 5 dakikadan az.
  • [ ] ShamashAi yeniden tarama yapmış, CERT_EXPIRING event'i temizlenmiş (artık 30 günden fazla süre var).
  • [ ] Change management kaydı güncellenmiş (eğer production ise).

BACKUP_FAILED runbook

ShamashAi dokümantasyonu BACKUP_FAILED runbook için tam detay vermiyor; pilot kapsamında müşteri ihtiyacına göre detay paylaşılır. Genel çerçeve: yedekleme başarısız olduğunda hangi log dizinlerine bakılacak, hangi servis restart edilecek, hangi disk alanı kontrolleri yapılacak prosedürü.

Custom runbook ekleme

Built-in 30+ runbook genellikle yeterli olur, ancak şirketinizin özel süreçleri varsa (örneğin "VPN hesabı askıya alındığında İK'ya bildir") custom runbook eklenebilir. Custom runbook ekleme süreci: 1. ShamashAi web arayüzünde Settings > Runbooks > "+ Yeni Runbook" butonuna tıkla. 2. Event type seç (dropdown listede built-in tipler var, veya "custom_event_xyz" gibi kendi event type'ını tanımla). 3. Runbook içeriğini Markdown formatında yaz: markdown # VPN Hesap Askıya Alındığında İK Bildirimi

Olay özeti

Kullanıcı VPN hesabı güvenlik politikası ihlali nedeniyle askıya alındı.

Müdahale adımları

1. Kullanıcının departman bilgisini dbo.devices tablosundan al. 2. İK'ya e-posta gönder: ik@firma.com.tr 3. Kullanıcıya bildirim gönder: "Hesabınız askıya alınmıştır, İK ile iletişime geçin."

Kapanış

  • [ ] İK onayı alındı.
  • [ ] Kullanıcı bilgilendirildi.
4. Kaydet. Artık bu event_type geldiğinde incident detail sayfasında bu runbook otomatik gösterilir. Custom runbook sayısı sınırsız değil — ShamashAi dokümantasyonu daha fazla bilgi vermiyor; pilot kapsamında detay paylaşılır. Genel kullanım senaryosunda 5-10 custom runbook eklemek makul.

Incident detail sayfasında otomatik runbook linki

ShamashAi'nin incident detail sayfası (bir olay kaydını açtığınızda gördüğünüz ekran) sağ tarafta "İlgili Runbook" kartı gösterir. Eğer bu event_type için runbook tanımlıysa, kart içinde runbook başlığı ve ilk birkaç satırı görünür, "Tamamını Gör" butonuna basınca full runbook açılır. Örnek akış: 1. Dashboard'da BEHAVIORAL_ANOMALY event'i görüyorsun, tıklıyorsun. 2. Incident detail sayfası açılıyor: event_id, timestamp, source_ip, affected_user vs. gösteriliyor. 3. Sağ tarafta "İlgili Runbook: Davranışsal Anomali Müdahale Prosedürü" kartı var. 4. Karta tıklıyorsun, tam runbook açılıyor: "1. Kullanıcının son 7 gün login pattern'ini dbo.behavior_baselines tablosunda kontrol et. 2. Coğrafi konum değişikliği var mı? 3. Kullanıcıya doğrulama e-postası gönder..." gibi adımlar. 5. Adımları takip ediyorsun, her adımı tamamladıkça runbook üzerinde checkbox işaretliyorsun (ShamashAi dokümantasyonu bu checkbox mekanizmasını detaylandırmıyor; pilot kapsamında detay paylaşılır). Bu otomasyon sayesinde "biz buna ne yapıyorduk?" sorusu ortadan kalkar. Yeni başlayan bir IT elemanı bile runbook'u takip ederek doğru müdahaleyi yapabilir.

Evidence pack içine runbook dahil etme

ShamashAi'nin evidence pack özelliği (denetim veya SOME raporlaması için kanıt paketi oluşturma) runbook'u da içerir. GET /reports/evidence-pack?event_id=12345 endpoint'i çağrıldığında dönen ZIP dosyasında:
  • events.csv — olayla ilgili tüm event kayıtları.
  • audit_log.csv — bu olay üzerinde kim ne yaptı (görüntüleme, aksiyon tetikleme, kapama).
  • soar_actions.json — otomatik veya manuel SOAR aksiyonları.
  • runbook.md — bu event_type için kullanılan runbook Markdown dosyası.
Denetçi veya siber olay müdahale ekibi paketi açtığında sadece "ne oldu" değil, "sizin prosedürünüz ne, nasıl müdahale ettiniz" bilgisini de görür. ISO 27001:2022 Annex A.5.24 (bilgi güvenliği olay yönetimi planlaması ve hazırlık) ve A.5.28 (kanıt toplama) maddelerine uyum için bu özellik kritik.

Vardiya devri senaryosu: prosedür kaybolmaz

Klasik durum: Gündüz vardiyasında bir KNOWN_BAD_IP event'i geldi, Mehmet Bey IP'yi engelledi, not aldı. Gece vardiyasında benzer bir olay geldi, Ahmet Bey "ben bunu nasıl yapacağım?" diye Mehmet Bey'i telefonla aradı. Mehmet Bey uyuyor, telefon açmıyor. Ahmet Bey tahmin yürütüyor, belki yanlış adım atıyor. ShamashAi ile: Ahmet Bey olayı açar, sağ tarafta "Bilinen Kötü IP Engelleme Prosedürü" runbook'u görür, adım adım takip eder, firewall'da engeller, SOAR aksiyon kaydını tamamlar, olayı kapatır. Ertesi sabah Mehmet Bey audit_log'a bakar, "Ahmet Bey dün gece prosedürü doğru uygulamış" der, tek soru sormaz. IT operasyonu biraz daha az kişiye bağlı olur. Vardiya devri toplantılarında (shift handover) artık "dün ne oldu, nasıl çözdük" hikaye anlatmak yerine incident_groups tablosundaki kapalı kayıtları gösterir, her kayıtta hangi runbook uygulandığını, hangi adımların tamamlandığını görürsünüz. Toplantı süresi 30 dakikadan 10 dakikaya iner.

.NET agent ve runbook entegrasyonu

ShamashAi .NET 8 agent'ları Windows sunuculardan log toplar, agent'ın kendisi runbook'ları okumaz — runbook mantığı tamamen ShamashAi API katmanında (Node.js Fastify). Ancak agent'ın topladığı event'ler runbook tetiklemesine sebep olur. Örnek: Windows Server'da .NET agent Event Log'dan Security 4625 (başarısız oturum açma) event'lerini toplar, ShamashAi API'sine POST eder. API bu event'leri analiz eder, eğer 5 dakikada 50+ başarısız deneme varsa BRUTE_FORCE_DETECTED event'i oluşturur, ilgili runbook'u otomatik linkler. .NET agent config'inde runbook path tanımlanmaz — runbook'lar SQL Server dbo.runbooks tablosunda tutulur (ShamashAi dokümantasyonu bu tablo yapısını detaylandırmıyor; pilot kapsamında detay paylaşılır).

SQL Server'da runbook verisi

ShamashAi SQL Server database'inde runbook'lar muhtemelen şu yapıda saklanır (dokümantasyon kesin detay vermiyor, tahmini yapı): sql CREATE TABLE dbo.runbooks ( id INT PRIMARY KEY IDENTITY, event_type NVARCHAR(100) NOT NULL, title NVARCHAR(200), content NVARCHAR(MAX), -- Markdown formatında is_builtin BIT DEFAULT 0, created_at DATETIME2 DEFAULT GETDATE(), updated_at DATETIME2, created_by NVARCHAR(100) ); Built-in runbook'lar is_builtin = 1 ile işaretli, custom runbook'lar is_builtin = 0. Incident detail sayfası açıldığında ShamashAi API şu sorguyu çalıştırır: sql SELECT id, title, content FROM dbo.runbooks WHERE event_type = @EventType ORDER BY is_builtin DESC, created_at DESC; İlk önce built-in runbook gelir, yoksa custom runbook gösterilir.

Limitler ve dürüst notlar

  • Runbook versiyon kontrolü yok: Bir runbook'u güncellediğinizde eski versiyon saklanmaz. Eğer "6 ay önce bu runbook'ta ne yazıyordu?" sorusu kritikse harici Git repository'de versiyonlamanız gerekir.
  • Runbook approval workflow yok: Custom runbook eklediğinizde "IT müdürü onaylamalı" gibi bir mekanizma yok. Yetkili kullanıcı doğrudan ekler, hemen yayına girer.
  • Multi-language runbook desteği yok: Runbook'lar tek dilde yazılır (Türkçe veya İngilizce). Eğer çok uluslu şirketseniz ve farklı dillerde runbook gerekiyorsa her dil için ayrı runbook oluşturmanız gerekir (örneğin BRUTE_FORCE_DETECTED_TR ve BRUTE_FORCE_DETECTED_EN).
  • Runbook execution tracking sınırlı: ShamashAi dokümantasyonu "her adımı tamamladıkça checkbox işaretle" demiyor; bu özellik pilot kapsamında netleşir. Şu anki durum: runbook'u okuyorsun, kendi başına adımları takip ediyorsun, tamamladığında incident'ı manuel kapatıyorsun.
  • SOAR entegrasyonu runbook'tan otomatik tetiklenmiyor: Runbook içinde "IP'yi engelle" yazıyor ama sen yine de manuel olarak POST /soar/block endpoint'ini çağırmalısın veya ShamashAi web arayüzünde butona basmalısın. Runbook "bu adımı yapmalısın" der, otomatik yapmaz.
Pilot programı 30 gün ücretsiz: shamashai.com.tr/iletisim
Paylaş

Bu konuyu projenize uygulayalım

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