# Onoxsoft Tehdit Modeli (STRIDE)

**Tarih:** 2026-05-13
**Kapsam:** Onoxsoft hosting kontrol paneli — admin, reseller, customer panel + REST API + WHMCS webhook + cluster node API

---

## S — Spoofing (Kimlik Sahteciliği)

| # | Tehdit | Etkilenen Bileşen | Azaltma | Artık Risk |
|---|---|---|---|---|
| S1 | Kullanıcı adı/şifre tahmin saldırısı | `/login` | `throttle:login` (5/15dk), `AccountLockout` (10 deneme/1 saat kilidi) | Düşük |
| S2 | Oturum çalma (session hijacking) | Web session | Laravel HTTPS-only cookie (`SESSION_SECURE_COOKIE=true` prod'da), SameSite=Lax | Düşük |
| S3 | API token sızdırma | Sanctum token | Bearer token DB'de hash'li saklanır; token rotasyonu müşteri kontrolünde | Orta |
| S4 | WHMCS webhook spoofing | `/api/v1/whmcs/*` | `VerifyWhmcsHmac` — HMAC-SHA256 + 5 dk timestamp replay koruması | Düşük |
| S5 | Cluster node spoofing | `/api/v1/cluster/*` | `VerifyClusterHmac` — paylaşılan secret | Düşük |
| S6 | Admin hesabını taklit (impersonation) | Admin panel | `AdminImpersonateController` audit trail; sadece admin erişebilir | Orta |

---

## T — Tampering (Veri Bütünlüğü İhlali)

| # | Tehdit | Etkilenen Bileşen | Azaltma | Artık Risk |
|---|---|---|---|---|
| T1 | CSRF saldırısı | Tüm web formları | Laravel `VerifyCsrfToken` global; Inertia otomatik X-XSRF-TOKEN | Düşük |
| T2 | HTTP istek parametresi manipülasyonu | Controller'lar | Laravel route model binding + policy authorization | Düşük |
| T3 | Dosya yükleme ile kod enjeksiyonu | File upload endpoint'leri | `SafeFileUpload` — MIME, içerik tarama, ZIP bomb tespiti | Düşük |
| T4 | SQL injection | DB sorguları | Eloquent ORM; ham sorgu kullanımları denetlendi (bkz. sql-audit.md) | Düşük |
| T5 | Mass assignment | Eloquent Model | `$fillable` / `$guarded` tanımlı; `preventSilentlyDiscardingAttributes` | Düşük |

---

## R — Repudiation (İnkar Edilebilirlik)

| # | Tehdit | Etkilenen Bileşen | Azaltma | Artık Risk |
|---|---|---|---|---|
| R1 | Admin eylemlerini inkâr | Admin panel | `AuditEventSubscriber` — tüm destructive event'ler `audit_log` tablosuna yazılır | Düşük |
| R2 | API işlem inkârı | REST API | Sanctum token → user ID ilişkisi; tüm mutasyonlar audit log'a düşer | Düşük |
| R3 | Webhook işlem inkârı | WHMCS webhook | HMAC imzası + timestamp kaydı | Orta |

---

## I — Information Disclosure (Bilgi İfşası)

| # | Tehdit | Etkilenen Bileşen | Azaltma | Artık Risk |
|---|---|---|---|---|
| I1 | Stack trace / hata mesajı sızdırma | Hata sayfaları | `APP_DEBUG=false` prod'da; özel hata sayfaları | Düşük |
| I2 | Veritabanı credential sızdırma | .env dosyası | `.env` izin denetimi (`onox:secrets-audit`); sunucu erişim kontrolü | Orta |
| I3 | API token log'a yazılması | Log dosyaları | Laravel log'lar Bearer token içermez; Sanctum token hash'li | Düşük |
| I4 | Şifreli sütunların düz metin saklanması | DB | `onox:secrets-audit` şifreleme kontrolü | Düşük |
| I5 | XSS ile cookie/veri çalma | Vue frontend | Vue `{{ }}` auto-escape; `v-html` denetlendi (bkz. xss-audit.md) | Düşük |
| I6 | HTTP response header bilgi sızdırma | Tüm response'lar | `SecurityHeaders` middleware: X-Content-Type-Options, Referrer-Policy | Düşük |

---

## D — Denial of Service (Hizmet Aksatma)

| # | Tehdit | Etkilenen Bileşen | Azaltma | Artık Risk |
|---|---|---|---|---|
| D1 | Login brute force (DoS) | `/login` | `throttle:login` + `AccountLockout` | Düşük |
| D2 | API istek flooding | REST API | `throttle:api` (120/dk auth, 30/dk anonim) | Düşük |
| D3 | AI chat token tüketimi | `/api/ai/chat` | `throttle:ai-chat` (30/dk) + token budget backend kontrolü | Düşük |
| D4 | Büyük dosya yükleme | File upload | `SafeFileUpload` maxBytes kontrolü; `throttle:uploads` | Düşük |
| D5 | ZIP bomb | File upload | `SafeFileUpload` — sıkıştırma oranı kontrolü (>100x red) | Düşük |
| D6 | WHMCS/cluster burst flooding | Webhook endpoint'leri | `throttle:webhooks` (600/dk) | Düşük |

---

## E — Elevation of Privilege (Yetki Yükseltme)

| # | Tehdit | Etkilenen Bileşen | Azaltma | Artık Risk |
|---|---|---|---|---|
| E1 | Customer → admin yetki yükseltme | Tüm panel | `EnsureUserIsAdmin/Customer/Reseller` middleware; Gate policy | Düşük |
| E2 | Reseller → admin | Admin rotaları | `admin` middleware + policy; impersonation audit log | Düşük |
| E3 | IDOR (Başka kullanıcının kaynağına erişim) | Controller'lar | Route model binding + policy ownership kontrolü | Orta |
| E4 | JWT/token manipülasyonu | Sanctum | Sanctum token DB'de saklanır; imzalı token yok, dolayısıyla forgery yok | Düşük |

---

## Artık Risk Özeti

| Seviye | Adet | Örnekler |
|---|---|---|
| Düşük | 23 | Çoğu STRIDE tehdidi |
| Orta | 4 | API token sızdırma, impersonation, IDOR, webhook inkârı, .env erişimi |
| Yüksek | 0 | — |

**Bir sonraki adım:** Orta riskli öğeler için Phase 4.5'te bağımsız pentest planlanmalı.
