🎯 Genel Bakış

OxiSec SIEM, firewall ve ağ cihazlarınızın ürettiği syslog verilerini toplayıp analiz eden bir güvenlik olay yönetimi platformudur. Sisteme gelen her log:

  1. Cihaz tipine göre özel parser'a yönlendirilir (Fortigate / MikroTik / WG / Keenetic)
  2. IP adresleri GeoIP ile zenginleştirilir (ülke, şehir, ISP)
  3. Threat Intelligence kaynaklarına karşı kontrol edilir (abuse_score, Tor exit, bilinen kötü IP)
  4. AI skorlama (Qwen 2.5 yerel) her log'a 0-100 arası tehdit puanı verir
  5. 5 dakikada bir çalışan korelasyon motoru 20+ pattern'a karşı tarama yapar (mail, Windows, firewall)
  6. İlgili alarmlar Incident Builder tarafından otomatik gruplanır
  7. Her incident için AI özet + MITRE etiketleri + öneriler üretilir

Veriler nerede?

Cloud planlarında Türkiye'deki data center'larda. AI analizi yerel (Ollama), verileriniz asla OpenAI/Google'a gitmez. Enterprise planda on-prem kendi sunucunuzda.

🚀 Hızlı Başlangıç (15 dakika)

Ücretsiz hesap oluşturun

signup.html sayfasından kayıt olun. Email doğrulama linki gelecek, tıklayıp aktif edin.

İlk cihazınızı ekleyin

Dashboard → Devices+ Yeni Cihaz. Cihazın IP'sini ve tipini girin (Fortigate, MikroTik, vb.).

Size özel bir syslog hedef adresi gösterilecek — bunu bir sonraki adımda kullanacaksınız.

Firewall'ı syslog göndermek üzere yapılandırın

Cihaz tipinize göre aşağıdaki bölümlere bakın:

Akışı doğrulayın

Dashboard → Logs. Cihaz doğru yapılandırıldıysa 1-2 dakika içinde log'lar akmaya başlayacak.

2FA etkinleştirin

Menü → 2FA. Google Authenticator'la QR kodu tarayın, hesabınızı koruyun.

🔥 Fortigate Kurulumu

Fortigate FortiOS üzerinden syslog kurulumu 3 komutla biter.

CLI ile kurulum (tüm FortiOS versiyonları)

# FortiGate CLI'ya SSH veya konsol üzerinden bağlanın
# Aşağıdaki komutları yapıştırın (IP ve port'u size verilenle değiştirin)

config log syslogd setting
    set status enable
    set server "syslog.oxisec.com"        # Size verilen adres
    set port 5514                          # Size verilen port
    set facility local7
    set format default
    set mode udp
    set enc-algorithm disable
end

# Tüm trafik loglarını dahil et
config log syslogd filter
    set severity information
    set forward-traffic enable
    set local-traffic enable
    set anomaly enable
    set netscan-discovery enable
    set netscan-vulnerability enable
end

GUI ile kurulum

  1. FortiGate web arayüzüne giriş yapın
  2. Log & Report → Log Settings
  3. Remote Logging → Syslog → Enable
  4. Server: syslog.oxisec.com · Port: 5514 · Facility: Local7
  5. Save, bir dakika bekleyin, dashboard'da logların geldiğini görün

Fortigate parser'ımız %99.9 başarı oranında

FortiOS 6.0 ve üzeri tüm sürümler desteklenir. Action, policy, srcintf, dstintf, hostname alanları otomatik parse edilir.

📡 MikroTik Kurulumu

RouterOS için 2 komut yeterli. Tüm kategorideki log'lar OxiSec'e gönderilir.

# RouterOS CLI (Winbox Terminal veya SSH)

# 1. Remote syslog action ekleyin
/system logging action
add name=oxisec target=remote remote=syslog.oxisec.com remote-port=5514

# 2. Log topic'lerini gönderin (firewall, info, warning, error)
/system logging
add topics=firewall action=oxisec
add topics=info action=oxisec
add topics=warning action=oxisec
add topics=error action=oxisec
add topics=critical action=oxisec

Firewall loglarını detaylandırmak (önerilen)

# Tüm drop rule'larına log ekleyin
/ip firewall filter
set [find action=drop] log=yes log-prefix="drop:"

# NAT'ta da log istiyorsanız
/ip firewall nat
set [find] log=yes log-prefix="nat:"

Dikkat: Tüm trafik loglanırsa RouterOS CPU'su yoğun cihazlarda yüklenir.

RB450/RB750 gibi küçük cihazlarda önce drop ve reject action'lı rule'ları loglayın, ihtiyaç duydukça genişletin.

🛡 WatchGuard Kurulumu

WatchGuard Fireware OS için syslog ayarı.

  1. WatchGuard web console'a giriş
  2. System Status → Syslog Server
  3. Enable Syslog
  4. Server: syslog.oxisec.com · Port: 5514 · Protocol: UDP
  5. Log Format: IBM LEEF veya Syslog
  6. Save ve firewall politikalarının "Log" tick'ini açmayı unutmayın

🌐 Keenetic Kurulumu

Keenetic router'ları için CLI üzerinden syslog.

# Keenetic CLI (Web Arayüz → System → CLI)
system syslog server syslog.oxisec.com 5514
system syslog rotate
system log level info
system configuration save

⚙ Generic Syslog

Desteklenmeyen cihazlar için generic parser devreye girer. Çoğu syslog uyumlu cihaz çalışır:

Generic parser; IP, port, protokol, action, timestamp gibi temel alanları çeker. Enterprise planda özel parser geliştirebiliriz.

🔒 2FA Kurulumu

2FA, hesabınıza ek bir güvenlik katmanı ekler. Parola ele geçirilse bile saldırgan telefonunuzdaki 6 haneli koda ulaşamaz.

Desteklenen Authenticator Uygulamaları

Kurulum Adımları

Settings → 2FA sayfasını açın

Menüden 🔒 İki Adımlı Doğrulama linkine tıklayın.

"🔒 2FA Etkinleştir" butonuna basın

Bir QR kod ve 16 haneli secret görünecek.

Authenticator uygulamanızda QR kodu tarayın

Uygulamada "OxiSec SIEM: sizin@email.com" hesabı eklenecek, 6 haneli kod görünmeye başlayacak.

Kodu doğrulayın

Sayfadaki "6 haneli kod" alanına Authenticator'daki kodu yazın → "Doğrula ve Aktifleştir"

Kurtarma kodlarını yazdırın

10 kurtarma kodu görünecek. YAZDIRIN veya güvenli bir yere kaydedin. Telefonunuz kaybolursa bu kodlarla giriş yapabilirsiniz.

Kurtarma kodlarını kaybetmeyin!

Telefonunuzu kaybederseniz + kurtarma kodlarınız da yoksa, hesabınıza erişim için destek ekibiyle kimlik doğrulama yapmanız gerekir. Bu süreç 24-48 saat alabilir.

⚡ Alarm Kuralları

Dashboard'da hazır 28+ kural geliyor. Kendi kurallarınızı Alarm Kuralları sayfasından ekleyebilirsiniz. 14 farklı kural tipi var:

📋 Incident Akışı

Incident Builder her 3 dakikada çalışır. İlgili alarmları 5 kurala göre gruplar:

  1. Aynı /24 subnet — aynı ağ bloğundan gelen alarmlar
  2. Aynı hedef port — koordineli port saldırısı
  3. Aynı src_ip — aynı saldırgan, farklı pattern
  4. Kritik tek alert — severity=critical olan tek başına olay
  5. Devam eden olay — son 30 dk açık incident'a eklenir

Access Status — Kritik metrik

Her incident bir erişim durumu ile gelir:

🎯 13 Korelasyon Paterni

Her pattern belirli saldırı davranışını tespit eder:

Pattern Tespit Ettiği
port_scanTek IP'den çok porta tarama
persistent_scanUzun süreli, yavaş tarama (stealth)
multi_source_attackÇok IP aynı porta (botnet)
brute_force_chainAuth deneme zinciri
credential_stuffingÇalınmış creds ile toplu deneme
lateral_movementİçeride yan yayılım
data_exfiltrationBüyük hacimli dış transfer
dns_floodDNS amplification, sorgu patlaması
traffic_anomalyNormalden sapan trafik hacmi
after_hours_accessMesai dışı giriş
first_seen_countryİlk kez görülen yabancı ülke
impossible_travelFiziksel imkansız lokasyon değişimi
vpn_anomalyAnormal VPN oturum davranışı

📨 Telegram Bildirim

Kritik olaylarda telefonunuza anında Telegram mesajı gelir.

Telegram Bot oluşturun

Telegram'da @BotFather ile konuşun. /newbot komutu ile yeni bot oluşturun. Size bir bot token verecek.

Bot'u kanalınıza ekleyin

Bir Telegram grup/kanal oluşturun. Bot'u admin olarak ekleyin. Kanala bir mesaj gönderin, https://api.telegram.org/bot<TOKEN>/getUpdates açın — chat_id'nizi göreceksiniz (örn: -1001234567890).

OxiSec'te yapılandırın

Settings → Notifications → Telegram. Bot token ve chat_id girin. "Test mesajı gönder" ile deneyin.

📧 Email SMTP

Cloud planlarında email gönderimi otomatik çalışır. On-prem deployment'ta kendi SMTP sunucunuzu Settings → Email SMTP'den yapılandırabilirsiniz.

SMTP Host:     smtp.gmail.com
SMTP Port:     587 (STARTTLS) veya 465 (SSL)
Username:      siz@gmail.com
Password:      uygulama şifresi (2FA aktifse)
From Address:  alerts@sirketiniz.com
Encryption:    STARTTLS

🔌 Webhook Entegrasyonu

Kritik bir alarm tetiklenince OxiSec, sizin belirttiğiniz HTTP endpoint'e HMAC-SHA256 imzalı JSON payload gönderir. Slack, Teams, Discord, n8n/Zapier/Make, kendi SOAR sisteminiz veya CRM'inizle entegre edin.

Kurulum

  1. Panele giriş yap → sol menü → Webhook
  2. + Yeni Webhook butonuna tıkla
  3. Adı, hedef URL'i ve dinlemek istediğin event'leri seç
  4. Secret otomatik üretilir — kopyalayıp güvenli yere kaydet (bir daha gösterilmez)
  5. 🧪 Test Gönder butonu ile sample payload deneyebilirsin

Event Tipleri

Event Ne Zaman Tetiklenir?
alert.createdHer yeni alarm üretildiğinde
alert.criticalSadece critical seviyesindeki alarmlar
alert.highSadece high seviyesindeki alarmlar
incident.createdKorelasyon motoru yeni incident açtığında
incident.resolvedIncident kapatıldığında
auto_mode.blocked_ipAuto-Mode bir IP'yi otomatik bloketti
correlation.detectedYeni korelasyon paterni tetiklendi

Payload Yapısı

Her event aynı top-level şemayı kullanır. data alanı event'e özel veri içerir:

POST https://your-server.com/webhook
Content-Type: application/json
User-Agent: OxiSec-Webhook/1.0
X-OxiSec-Event: alert.critical
X-OxiSec-Webhook-Id: 42
X-OxiSec-Delivery-Id: 1715430000123
X-OxiSec-Signature: sha256=a8f3c9d2e7b4f1a9...

{
  "event": "alert.critical",
  "timestamp": "2026-05-11T14:32:05Z",
  "tenant_id": 11,
  "data": {
    "id": 2847,
    "title": "SSH Brute Force from 203.0.113.45",
    "severity": "critical",
    "source_ip": "203.0.113.45",
    "dst_ip": "10.0.0.5",
    "dst_port": 22,
    "src_country": "NL",
    "tenant_name": "Anadolu Enerji",
    "description": "10 dakikada 247 başarısız SSH denemesi",
    "created_at": "2026-05-11T14:32:05Z"
  }
}

İmza Doğrulama (Güvenlik)

OxiSec her payload'u HMAC-SHA256 ile imzalar. Müşteri tarafında imzayı kontrol ederek isteğin gerçekten OxiSec'ten geldiğini doğrularsınız — sahte istekler reddedilir.

PHP

$payload = file_get_contents('php://input');
$secret = 'webhook-secret-burada';
$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);
$received = $_SERVER['HTTP_X_OXISEC_SIGNATURE'] ?? '';

if (hash_equals($expected, $received)) {
    $data = json_decode($payload, true);
    // Doğrulandı — payload'u işle
} else {
    http_response_code(401);
    die('Geçersiz imza');
}

Python (Flask)

import hmac, hashlib
from flask import request

SECRET = 'webhook-secret-burada'

@app.route('/webhook', methods=['POST'])
def webhook():
    body = request.get_data()
    signature = request.headers.get('X-OxiSec-Signature', '')
    expected = 'sha256=' + hmac.new(
        SECRET.encode(), body, hashlib.sha256
    ).hexdigest()

    if not hmac.compare_digest(signature, expected):
        return 'Invalid signature', 401

    data = request.json
    # İşle...
    return 'OK'

Node.js (Express)

const crypto = require('crypto');
const SECRET = 'webhook-secret-burada';

app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.headers['x-oxisec-signature'];
  const expected = 'sha256=' + crypto.createHmac('sha256', SECRET)
    .update(req.body).digest('hex');

  if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
    return res.status(401).send('Invalid signature');
  }

  const data = JSON.parse(req.body.toString());
  // İşle...
  res.send('OK');
});

Hata Yönetimi ve Retry

HTTP Yanıt Davranış
2xxBaşarılı — failure_count sıfırlanır
408 / 429 / 503Geçici hata → 1s → 5s → 30s exponential backoff retry
4xx (diğer)Kalıcı hata → retry yok, failure_count++
3 ardışık hataWebhook otomatik devre dışı bırakılır (panelden tekrar aktif edebilirsin)

Audit Log

Tüm webhook gönderimleri webhook_deliveries tablosunda kayıt altındadır. Panelde her webhook'un detay sayfasında son 50 gönderim görünür: başarılı/başarısız, HTTP yanıt kodu, süre, deneme sayısı, hata mesajı. "Geldi mi gelmedi mi?" sorusu yok.

🎯 MITRE ATT&CK Mapping

Her pattern, MITRE ATT&CK framework'ündeki taktik ve tekniklere otomatik eşlenir. Raporlarda görünür, denetimlerde kullanılabilir.

Pattern Taktik Teknik
port_scanTA0007 DiscoveryT1046 Network Service Discovery
brute_forceTA0006 Credential AccessT1110 Brute Force
credential_stuffingTA0006 Credential AccessT1110.004 Credential Stuffing
lateral_movementTA0008 Lateral MovementT1021 Remote Services
data_exfiltrationTA0010 ExfiltrationT1041 C2 Channel
dns_floodTA0040 ImpactT1498 Network DoS

Toplam 12 pattern → MITRE mapping ve 21 teknik hazır yüklenmiştir. Yeni teknikleri Settings → MITRE sayfasından ekleyebilirsiniz.

Yardıma mı ihtiyacınız var?

Dokümantasyonda bulamadığınız bir şey varsa destek ekibimize ulaşın.

İletişime Geç