Skip to content

Security: onurdilmen/sentinel

Security

docs/SECURITY.md

🔐 Sentinel — Güvenlik Mimarisi & Müşteri Güveni

Versiyon: 1.0 • Tarih: 01 Mayıs 2026 Bu belge, müşterilerimize "neden bize güvenebilirsiniz" sorusunun cevabıdır.


🎯 Sorunun Tanımı

"Sunucumun root SSH'ını size veriyorum — sizin sisteminize bir saldırı olursa benim 145 sitem etkilenir. Size neden güvenmeliyim?"

Bu meşru ve önemli bir soru. Cevabımız 3 katmandan oluşuyor.


KATMAN 1: Mimari — "Bilgilerinizi Saklamıyoruz"

Mod 1: Agent-Based (Tercih Edilen — Yeni Müşteriler)

MÜŞTERİ SUNUCUSU                          TEKNOWEB CLOUD
─────────────                              ─────────────
sentinel-agent  ──── HTTPS (egress) ────►  api.sentinel.net
(Go binary)                                 (komut yollar)
                                            (sonuç alır)

✓ Müşteri SSH key'i bizde DEĞİL
✓ Bağlantı SADECE müşteriden bize doğru
✓ Agent open-source, müşteri inceleyebilir
✓ Müşteri istediği an `systemctl stop` ile durdurur

Müşteriye anlatım:

"Sunucunuza küçük bir agent kuruyoruz. Bu agent sizin sunucunuzdan dışarı bağlantı kuruyor; biz sizin sunucunuza bağlanmıyoruz. SSH şifrenizi bize hiç vermiyorsunuz."

Mod 2: SSH Restricted Key (Eski Müşteriler / Acil Geçiş)

authorized_keys formatı:

command="/usr/local/bin/sentinel-runner",no-pty,no-port-forwarding,
no-X11-forwarding,no-agent-forwarding,
from="62.238.2.11"
ssh-ed25519 AAAAC3...sentinel@teknoweb.net

Bu key:

  • ✅ Sadece /usr/local/bin/sentinel-runner script'ini çalıştırır
  • ✅ Sadece TeknoWeb'in static IP'sinden gelen bağlantıları kabul eder
  • ✅ Shell, X11, port forward yapamaz
  • ✅ Compromise olursa zarar minimum (sadece denetim komutları)

Mod 3: Bring-Your-Own-Infrastructure (Kurumsal)

Büyük kurumsal müşteri kendi sunucusunda Sentinel'in tüm stack'ini çalıştırabilir:

  • TeknoWeb sadece license validation yapar
  • Veri MÜŞTERIDEN ÇIKMIYOR
  • Enterprise tier (₺3.999+/ay/sunucu)

KATMAN 2: Operasyonel Şeffaflık

Müşterinin Elindeki Kontroller

Kontrol Detay
Pause "Bu ay denetim yapma" tek tık (panel)
Revoke Erişimi anında kes — systemctl stop veya authorized_keys sil
Read-only mode Sadece denetim, fix yok (--no-fix)
Audit log download Kendi DB'sinin kopyasını her ay e-posta ile alır
Approval mode Her fix öncesi onay sor (--confirm)
Time-limited access Key X gün sonra otomatik silinir (planlı)
Connection notification Her SSH girişine müşteri SMS alır (planlı)

Şeffaflık Belgeleri

  1. Açık Kaynak Agent Kodu — github.com/teknoweb/sentinel-agent
  2. Detaylı Mimari Belgesi — bu döküman
  3. Veri Akış Şeması — KVKK Veri Sahibi Hakları için
  4. Bağımsız Penetration Test Raporu — yıllık, 3rd party
  5. Security.txthttps://sentinel.teknoweb.net/.well-known/security.txt
  6. Bug Bounty Programı — açık zafiyet bildirimi
  7. Status Pagestatus.teknoweb-sentinel.net

KATMAN 3: Belge ve Sertifikasyon

Aşama 6A: KVKK + Sigorta (1 ay, ₺25–50K)

Belge Süre Maliyet
KVKK Uyum Beyanı 2 hafta ₺5–10K (avukat)
VERBİS Kayıt 1 hafta ₺2K
Veri İşleme Sözleşmesi (DPA) 1 hafta ₺3–5K
Cyber Liability Sigortası ₺1M 2 hafta ₺15–25K/yıl
Privacy Policy + Terms 1 hafta ₺3–5K

Aşama 6B: ISO 27001 (6–9 ay, ₺150–300K)

Kurumsal kapısını açar — banka, devlet, holding.


🛡️ Tehdit Modeli

Düşman Profilleri

  1. Devlet düzeyi saldırgan — APT, hedeflenen
  2. Insider threat — eski çalışan, yetkisini kötüye kullanan
  3. Opportunistic — ransomware grubu, geniş tarayıcı

Hedef Varlıklar

  • 🔴 Müşteri sunucu credential'ları (en yüksek değer)
  • 🔴 Müşteri audit log'ları (sunucu yapılandırma sırrı)
  • 🟠 TeknoWeb API token'ları
  • 🟠 Müşteri kişisel verileri

Saldırı Yüzeyleri

  1. Sentinel API endpoint'leri (Cloudflare WAF arkasında)
  2. Agent → API iletişimi (mTLS)
  3. Worker pool (private network, dışa erişimi yok)
  4. Admin paneli (RBAC + 2FA + IP whitelist)
  5. Hetzner cloud API (read-only token)

Mitigasyon — Defense in Depth

Katman 1: Network

  • Cloudflare WAF (DDoS, SQLi, XSS)
  • Hetzner firewall (default-deny, sadece 80/443)
  • Worker'lar private network, dışa erişimi yok
  • WireGuard VPN (admin erişimi için)

Katman 2: Application

  • Laravel Sanctum + 2FA TOTP
  • RBAC (Owner / Admin / Viewer)
  • CSRF token + rate limiting (login: 5/dk, fix: 1/sn)
  • Input validation (validate_* helper'ları)
  • Output escape (Blade auto, React auto)

Katman 3: Veri

  • KMS-encrypted credentials
  • Audit DB encrypted backup
  • PostgreSQL TLS bağlantı zorunlu
  • Pg_dump → R2 (KMS encrypted)
  • 0o600 dosya izni (notifications.yaml, audit.db)

Katman 4: Operasyonel

  • Bağımsız penetration test (yıllık)
  • Bug bounty programı
  • Cyber liability sigortası ₺1M
  • KVKK uyum + DPA + Privacy

🔒 Müşteri İtirazlarına Hazır Cevaplar

İtiraz Cevap
"SSH şifremi/key'imi vermem" "Agent modunu öneriyoruz: agent sizin sunucunuzdan dışarı çıkar, biz içeri girmeyiz. Üstelik agent kodu açık kaynak."
"Yine de erişiminiz var, kötüye kullanırsanız?" "Restricted key ile sadece denetim komutları. Ayrıca ₺1M cyber liability sigortamız var. Hatamız sigortayla karşılanır."
"Sizin tarafta sızıntı olursa?" "Veriniz bizde değil — agent'in bulunduğu müşteride. Sızıntımız sizi etkilemez. Mimari kasıtlı seçilmiş."
"Loglarınızı görebilir miyim?" "Evet — SQLite audit DB kopyasını her ay e-posta ile gönderiyoruz. Veya panelinizden indirebilirsiniz."
"İstediğim an iptal edebilir miyim?" "Evet — systemctl stop sentinel-agent veya authorized_keys'ten satır sil. Bağlantı anında kopar."
"KVKK uyumlu musunuz?" "VERBİS kayıtlıyız, DPA imzalıyoruz, Hetzner Helsinki'de (AB içi) tutuyoruz."
"Sertifikanız var mı?" "ISO 27001 süreci 2026 sonu hedefimiz. Şu an KVKK + bağımsız pentest raporumuz mevcut."

📞 Güvenlik İletişim

Yanıt taahhüdü:

  • Kritik (RCE, data leak): 4 saat
  • Yüksek: 24 saat
  • Normal: 72 saat

✅ Compliance Roadmap

Hedef Süre Durum
KVKK Uyum Beyanı Ay 1 ⏳ Bekliyor
VERBİS Kayıt Ay 1 ⏳ Bekliyor
Cyber Liability Sigorta Ay 1 ⏳ Bekliyor
Bağımsız Pentest Ay 2 ⏳ Bekliyor
ISO 27001 Stage 1 Ay 6 ⏳ Bekliyor
ISO 27001 Stage 2 Ay 9 ⏳ Bekliyor
SOC 2 Type 1 Ay 12+ ⏳ Bekliyor

Bu belge yıllık güncellenir. Son güncelleme: 01 Mayıs 2026.

There aren't any published security advisories