Güvenlik Başlıkları
Monitörleriniz için dokuz HTTP güvenlik başlığının analizi. HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy ve çapraz-kaynak başlıkları için 0-100 puan ve A+'dan F'ye kadar bir not.
UptimeWarden HTTP ve HTTPS monitörleri yalnızca durum kodlarını kontrol etmekle kalmaz; yanıttaki güvenlik başlıklarını da analiz eder. Yanlış yapılandırılmış bir başlık (örneğin eksik bir HSTS) günlerce gözden kaçabilir; güvenlik başlığı analizi bu boşluğu kapatır.
İlk cevap: "Sitem güvenli değil mi?"
Sayfa bu soruyu önce yanıtlar. İlk satır sitelerinizin çalıştığını ve kaç tanesinde temel tarayıcı korumalarının eksik olduğunu söyler; hepsi tamamsa tüm sitelerin bu korumalara sahip olduğunu belirtir. Altındaki açıklama bunun ne demek olduğunu düz söyler: hiçbir şey bozuk değildir; bunlar clickjacking gibi saldırıların riskini azaltan ek korumalardır. Temel korumalar üç tanedir: yalnızca HTTPS (Strict-Transport-Security), script kısıtlaması (Content-Security-Policy) ve clickjacking koruması (X-Frame-Options).
Notlar ve başlık başına ayrıntı bu cevaptan sonra gelir: temel bir koruması eksik siteler önce, en kötü nottan başlayarak listelenir; ardından tüm siteler notlarıyla gelir ("All sites, worst first") ve en altta katlanmış başlık referansı durur. Hiç site taranmadıysa ilk satır "No sites scanned yet" der ve bir HTTPS monitörü eklemenizi söyler; siteniz günlük taranır.
Analiz ettiğimiz dokuz başlık
UptimeWarden dokuz başlığı puanlar.
Klasik beşli
Strict-Transport-Security (HSTS). Tarayıcılara "bu etki alanını yalnızca HTTPS üzerinden çağır" der. max-age (bir yıl veya daha uzun önerilir), includeSubDomains ve preload direktiflerini değerlendiririz.
Content-Security-Policy (CSP). XSS'e karşı en güçlü savunma. Başlığın varlığını kontrol ederiz, unsafe-inline ve unsafe-eval kullanımını işaretler ve yalnızca rapor (report-only) varyantını ayırt ederiz.
X-Frame-Options. Tıklama hırsızlığı (clickjacking) koruması. DENY ve SAMEORIGIN değerlerini doğrularız.
X-Content-Type-Options, nosniff zorunludur; MIME türü tahmin saldırılarını engeller.
Referrer-Policy. Üçüncü taraf sitelere gönderilen referans bilgisini sınırlar (no-referrer, same-origin, strict-origin, strict-origin-when-cross-origin vb.).
Modern dörtlü
Permissions-Policy. Tarayıcı API erişimini kısıtlar (kamera, mikrofon, konum bilgisi vb.).
Cross-Origin-Embedder-Policy (COEP). Çapraz-kaynak kaynakların opt-in olmadan gömülmesini engeller.
Cross-Origin-Opener-Policy (COOP). Çapraz-kaynak window.opener sızıntılarını engeller.
Cross-Origin-Resource-Policy (CORP). Spectre sınıfı çapraz-kaynak okumalara karşı kaynak yalıtımı.
Standard ve Strict modlar
Aynı başlık seti iki sıkılık düzeyinde puanlanır; panoda bu iki profilden birini seçersiniz:
| Mod | Hedef kitle | Modern dörtlünün eksik olması cezası |
|---|---|---|
| Standard | Bloglar, portföyler, kişisel siteler | Yok (eksik = 0 puan) |
| Strict | Bankacılık, finans, kurumsal uygulamalar | Her biri için -6 ila -12 puan |
Aynı sitenin her iki modda nasıl puan aldığını yan yana görmek için ikili mod karşılaştırması da çalıştırabilirsiniz.
Puan ve not
Her analiz 0-100 sayısal bir puan ve harf notu üretir:
| Puan | Not |
|---|---|
| 90 ve üzeri | A+ |
| 80-89 | A |
| 65-79 | B |
| 45-64 | C |
| 25-44 | D |
| 25'in altı | F |
HTTPS zorunlu kılınmamışsa puan -20 cezayla başlar (HSTS zaten HTTP üzerinde anlamsızdır). Ardından her başlık moda özgü bir delta uygular.
Tarama ilerlemesi ve filtreler
"Scan now" ile başlayan taramanın ilerlemesi dürüsttür: sayfa, hangi ajanın hangi adımda olduğunu göremez, bu yüzden sahte bir yüzde göstermez. Sırayla "Starting security scans…", "Running security scans…" ve "Waiting for agents to report results…" mesajları görünür; sonuç geldiğinde "Scan complete.", süre dolduğunda "Stopped waiting for results." yazar. İlerleme çubuğu da bir yüzde uydurmaz; yalnızca taramanın sürdüğünü gösterir.
Filtreler boş sonuç bıraktığında her zaman bir çıkış yolu vardır. Arama, monitör ya da not süzgeci hiçbir site bırakmazsa boş durum "Show all sites" sunar; hiç tarama yoksa "Scan now" sunar. Etkin bir süzgeç varken başlığın altında da "Show all sites" düğmesi görünür.
"Write the config for your server"
Bir sitede eksik başlık varsa, o sitenin "View fixes" panelinde "Write the config for your server" bölümü çıkar; hiçbir şey eksik değilse bölüm gösterilmez. Sunucunuzu seçin — nginx, Apache, Caddy, Express, Next.js, IIS ya da Cloudflare — ve taramadan yola çıkılarak tarayıcınızda oluşturulan kural tabanlı yapılandırmayı kopyalayın. Yapılandırma, eksik her başlık için tarayıcının önerdiği değeri kullanır.
Yapay zekâ açıksa "Write config with AI" ile aynı yapılandırmayı sitenize uyarlatabilirsiniz: model sitenizin adresini, hâlihazırda gönderdiği başlıkları (bunlara dokunulmaz) ve HTTPS zorlamasını dikkate alır; dağıtmadan önce neyi kontrol edeceğinizi tek cümleyle söyler. Cevap taramaya karşı denetlenir: eksik başlıkların tümünü kurmalı, başka bir güvenlik başlığına dokunmamalıdır. Uymayan bir cevap kullanılmaz ve kural tabanlı yapılandırma yerinde kalır.
- AI yalnızca siz istediğinizde yazar; hesabınızın aylık AI kredisinden harcar ve yapay zekâ işleme onayınızı gerektirir. Aynı site, sunucu ve tarama için tekrar istediğinizde yanıt önbellekten gelir; ek kullanım harcamaz.
- Özellik kapalıysa, onay yoksa ya da aylık kredi tükendiyse kural tabanlı yapılandırma olduğu gibi kalır.
- AI ile yazılan yapılandırma, AI tarafından yazılan diğer metinlerle aynı tek satırlık notu taşır: metnin AI tarafından yazıldığını, hassas değerlerin gönderilmeden önce maskelendiğini ve bu ayki AI kullanımınızı belirtir (Kişisel Veri Anonimleştirme).
Not: UptimeWarden sunucunuzu sizin yerinize değiştirmez; yapılandırmayı sizin uygulamanız için yazar.
Plan kademesi
Güvenlik başlığı analizi Free dahil tüm planlarda kullanılabilir. Bkz. Abonelik Planları.
API erişimi
curl -H "Authorization: Bearer $UPTIMEWARDEN_TOKEN" \
"https://app.uptimewarden.online/api/v1/security/monitors/{id}/analysis"
security:analysis:read (veya security:analysis:monitor) yetkisi gerekir. Yanıt { success: true, data: { ... } } şeklinde sarmalanır; data içinde monitorId, monitorName, url, overallGrade, score, headers: [...], lastChecked, httpsEnforced ve recommendations: [...] bulunur. Eksik her başlık için NGINX, Apache, Cloudflare ve <meta> örnek yapılandırmaları içerir.
Uyumluluk kullanım senaryoları
- PCI DSS 4.0: gerekli HTTP başlıkları için sürekli doğrulama.
- OWASP ASVS L2/L3: güvenlik başlığı gereksinimleri.
- SOC 2: üretim yapılandırma kontrolleri.
- KVKK / GDPR: kişisel veri işleyen uç noktalarda zorunlu HTTPS ve HSTS.