Web-Scan, 0-100 arası bir puanlama sistemidir. Bu doküman, skorlama modelini detaylı olarak açıklar.
Başlangıç puanı: 100
Her güvenlik eksikliği puanı düşürür
Minimum puan: 0
Maksimum puan: 100
Her bulgu score_impact değeri taşır (negatif)
Tüm negatif etkiler toplanır
Toplam puan = 100 + toplam_etki
0-100 aralığına clamp edilir
Shark mode aktifse, tüm negatif etkiler %30 daha fazla kırılır.
Bu mod daha katı standartlar uygular ve production için önerilir.
Örnek:
Normal mode: -10 puan düşme
Shark mode: -13 puan düşma (10 × 1.3)
📊 Kategorilere Göre Skor Düşmeleri
Bulgu
Puan Düşme
Kategori
Açıklama
HTTPS yoksa
-35
TLS
Şifreleme yok, kritik güvenlik açığı
CORS wildcard + credentials
-15
Header
Tehlikeli CORS konfigürasyonu
HSTS yoksa
-10
Header
MITM ve SSL stripping riski
CSP yoksa veya zayıfsa
-10
Header
XSS savunması yok veya zayıf
X-Frame-Options yoksa
-8
Header
Clickjacking koruması yok
Bulgu
Puan Düşme
Kategori
Açıklama
Session cookie Secure eksik
-5
Cookie
HTTP üzerinden çalınabilir
Session cookie HttpOnly eksik
-4
Cookie
XSS ile çalınabilir
Session cookie SameSite eksik
-3
Cookie
CSRF riski
📋 Diğer Header'lar
Bulgu
Puan Düşme
Kategori
Açıklama
X-Content-Type-Options yoksa
-5
Header
MIME type sniffing riski
Referrer-Policy yoksa
-4
Header
Referrer bilgisi sızması
Permissions-Policy yoksa
-3
Header
API izin kontrolü yok
Permissions-Policy: camera açık
-1
Header
Kamera API riski
Permissions-Policy: microphone açık
-1
Header
Mikrofon API riski
Permissions-Policy: geolocation açık
-1
Header
Konum API riski
Bulgu
Puan Düşme
Kategori
Açıklama
Server header versiyon bilgisi
-3
Header
Server versiyonu açık
X-Powered-By disclosure
-1
Header
Framework bilgisi sızıyor
Meta generator versiyon
-1
Page
CMS/Framework versiyonu açık
Bulgu
Puan Düşme
Kategori
Açıklama
SPF eksik
-3
DNS
Email spoofing riski
DMARC eksik
-5
DNS
Email spoofing savunması yok
DMARC policy none
-2
DNS
Sadece izleme modu
DKIM eksik
-2
DNS
Email kimlik doğrulama yok
CAA eksik
-1
DNS
Sertifika otoritesi kontrolü yok
Bulgu
Puan Düşme
Kategori
Açıklama
Mixed content
-8
Page
HTTPS sayfada HTTP kaynak
Form GET methodu
-2
Page
Hassas veriler için riskli
Bulgu
Puan Düşme
Kategori
Açıklama
HTTP açık (HTTPS var)
-5
TLS
Redirect yok
Sertifika dolmuş
-20
TLS
Sertifika geçersiz
Sertifika yakında dolacak
-5
TLS
30 günden az süre
🔴 Kırmızı: Düşük Güvenlik (0-49)
Kritik güvenlik eksiklikleri var
Acil düzeltme gerekli
Production için uygun değil
🟡 Sarı: Orta Güvenlik (50-79)
Temel güvenlik önlemleri var
Önemli iyileştirmeler gerekli
Production için iyileştirme gerekli
🟢 Yeşil: İyi Güvenlik (80-100)
Genel olarak güvenli
Küçük iyileştirmeler yapılabilir
Production için uygun
📈 Skor Hesaplama Örnekleri
Başlangıç: 100
HTTPS yok: -35
HSTS yok: -10
CSP yok: -10
----------
Toplam: 45 (Kırmızı)
Başlangıç: 100
X-Frame-Options yok: -8
Referrer-Policy yok: -4
SameSite eksik: -3
----------
Toplam: 85 (Yeşil)
Başlangıç: 100
HSTS yok: -10 × 1.3 = -13
CSP yok: -10 × 1.3 = -13
----------
Toplam: 74 (Sarı)
🎯 Önceliklendirme Sistemi
Top Priorities (Öncelik Listesi)
Kırmızı (Kritik) bulgular
-5'ten daha büyük etkiye sahip bulgular
Etkiye göre sıralı (en büyük etki önce)
Quick Wins (Hızlı Kazanımlar)
Header ve cookie kategorisi
Eksiklik/missing bulgular
Kolay düzeltilebilir bulgular
İlk 5 bulgu
Kritik : Etki ≥ 20 ve Kırmızı
Yüksek : Etki < 20 ve Kırmızı
Orta : Sarı
Düşük : Yeşil
🔧 Skor Modelini Özelleştirme
# scorer/security_scorer.py
self .scoring_model = {
# ... mevcut kurallar ...
'yeni_bulgu' : - 5 , # Yeni kural
}
# Mevcut kuralı güncelle
self .scoring_model ['https_missing' ] = - 40 # -35 yerine -40
Shark Mode Çarpanını Değiştirme
# Varsayılan: 1.3 (%30 daha fazla kırma)
self .shark_mode_multiplier = 1.5 # %50 daha fazla kırma
İdeal Güvenli Site (85-100)
HTTPS + HSTS + CSP
Tüm cookie'lerde Secure/HttpOnly/SameSite
Tüm header'lar mevcut
Bilgi sızdırma yok
DNS kayıtları tam
Orta Güvenlikli Site (50-79)
HTTPS var ama HSTS eksik
Bazı header'lar eksik
Cookie'lerde flag eksiklikleri
Bazı DNS kayıtları eksik
Düşük Güvenlikli Site (0-49)
HTTPS yok
Kritik header'lar eksik
Cookie güvenliği yok
Mixed content
DNS kayıtları yok
🎓 Skor İyileştirme Stratejileri
Hızlı İyileştirmeler (Top 5)
HTTPS Ekle : +35 puan
HSTS Ekle : +10 puan
CSP Ekle : +10 puan
X-Frame-Options Ekle : +8 puan
X-Content-Type-Options Ekle : +5 puan
Potansiyel Kazanç: +68 puan
Orta Vadeli İyileştirmeler
Cookie Güvenliği : +12 puan
Referrer-Policy Ekle : +4 puan
Permissions-Policy Ekle : +3 puan
DNS Kayıtları : +11 puan
Mixed Content Düzelt : +8 puan
Potansiyel Kazanç: +38 puan
Uzun Vadeli İyileştirmeler
Sertifika Yönetimi : +25 puan
Bilgi Sızdırma Düzelt : +5 puan
Form Güvenliği : +2 puan
Potansiyel Kazanç: +32 puan
Puan 0'ın altına düşerse, 0'a clamp edilir
Örnek: -150 etki → 0 puan
Puan 100'ün üzerine çıkarsa, 100'e clamp edilir
Örnek: +20 etki → 100 puan
Bazı bulgular sıfır etkiye sahip olabilir (bilgilendirme amaçlı)
Bu bulgular skoru etkilemez
Skorlama modeli zaman içinde güncellenebilir:
Yeni tehditler : Yeni güvenlik tehditleri için yeni kurallar
Standart değişiklikleri : OWASP, W3C standartlarına göre güncellemeler
Kullanıcı geri bildirimi : Topluluk geri bildirimlerine göre ayarlamalar
Benchmark verileri : Sektör ortalamalarına göre hizalama
Bu skorlama modeli, TR-Pasif Web Güvenlik Skoru aracının güvenlik değerlendirmesinde standart ve şeffaf bir yaklaşım sağlar.