SecO nedir? Web tarafı kapsamı
Security Optimization (SecO), bir web sitesinin saldırı yüzeyini azaltma + bilinen tehdit vektörlerini engelleme disiplinidir. Konvansiyonel güvenlik iki tarafa ayrılır:
- Sunucu / iç tarafı (off-page): Brute-force koruması (fail2ban, rate-limit), iki faktörlü doğrulama (2FA), veritabanı tablo prefix'i, dosya/dizin izinleri (chmod 644/755), düzenli yedekleme, malware taraması (ClamAV, Wordfence). AIDE'nin kapsamı dışında — bunlar sunucu-içi yapılandırma veya interaktif login flow gerektirir.
- Web / dış tarafı (on-page): TLS sertifikası + protokol, HSTS, Content-Security-Policy, X-Frame-Options, MIME nosniff, CMS versiyon leak, standart admin yolu fingerprint, WAF/CDN katmanı. AIDE'nin uzmanlık alanı.
AIDE SecO suite'i kullanıcının orijinal 14 maddelik tablosunun ~%35'ini (sunucu-içi yapılandırma maddeleri) ürünleştirmemiştir. Web-testable 8 maddeyi 100 puana yeniden ölçeklendirdi.
Kapsam dışı bırakılan 6 madde
Bu maddeler statik web taramasıyla ölçülemez:
| Madde | Neden ölçülemez | |---|---| | Brute Force Koruması | Sunucu-içi rate limit / fail2ban | | 2FA | İnteraktif login flow gerekir | | Veritabanı Prefix | DB iç yapısı, web'den görünmez | | Dosya İzinleri | Filesystem chmod, sunucu-içi | | Düzenli Yedekleme | Sunucu-içi backup config | | Malware Taraması | İç süreç (ClamAV, Wordfence vb.) |
Bu maddeler için Wordfence, Sucuri Sitecheck, sunucu monitoring araçları daha uygundur — AIDE bu domain'i hedeflemiyor.
8 check, 4 SecO kategorisi
Protokol — 50 puan
seco-tls-cert(23) — TLS handshake + protokol versiyonu (1.3 ideal, 1.2 minimum, 1.0/1.1 deprecated) + sertifika expiry (≥ 30 gün PASS, ≤ 7 gün uyarı, expired FAIL).https-hsts(11, cross-profile reuse) — Strict-Transport-Security header'ı + max-age + preload directive. Mevcut suite sözleşmesiyle aynı şekilde çalışır.seco-waf(16) — Response header sinyallerinden Cloudflare / Sucuri / Akamai / Imperva / AWS WAF / F5 BIG-IP / Fastly Next-Gen tespiti (tier-1 PASS), CloudFront / Fastly bare CDN (tier-2 PASS-0.7), hiç sinyal yok (FAIL).
Header — 28 puan
seco-csp(14) — Content-Security-Policy header analizi: default-src baseline ('self' / 'none'), script-src 'unsafe-inline' / 'unsafe-eval' riski, wildcard '*' kullanımı, report-only modu.seco-x-frame-options(8) — X-Frame-Options DENY/SAMEORIGIN veya CSP frame-ancestors 'none'/'self'; clickjacking koruması.seco-x-content-type-options(6) —X-Content-Type-Options: nosniffile MIME sniffing'i kapatma.
Yazılım — 17 puan
seco-cms-version(17) —<meta name="generator">, X-Powered-By header, WordPress wp-emoji-release versiyonu üzerinden CMS sürüm tespiti. EOL sürümler (WP 4.x, Drupal 7/8, Joomla 3.x) FAIL, outdated PASS-0.4, generator gizli ise PASS.
Erişim — 5 puan
seco-admin-path(5) — Standart admin yollarına (/wp-admin/,/wp-login.php,/admin/,/administrator/,/user/login) paralel HEAD probe; 404/403 PASS, 200/302 + login formu = WARNING/FAIL.
Statik suite felsefesi
Tüm 7 native SecO check'i HTTP header probe / TLS handshake / response
body parse ile çalışır; render gerektirmez. Cross-profile reuse
(https-hsts) mevcut suite sözleşmesiyle aynı şekilde çalışır. 5xx
ana sayfa = SKIPPED, sinyal yoksa FAIL.
Nasıl tetiklenir
UI'dan "SecO Kontrolü" sekmesi, ya da API:
curl -X POST https://api.aide.tr/v1/scans \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"profile": "seco"
}'
js_render parametresi SecO suite için gerekli değil.
Score yorumlama
| Bant | SecO web durumu | |---|---| | ≥ 95 | Hardened — TLS 1.3 + HSTS preload + CSP strict + clickjacking + nosniff + WAF + sürüm gizli + admin yolu kapalı. | | 85-94 | Çoğu yerinde, sadece CSP 'unsafe-inline' veya admin yolu eksiği. | | 70-84 | Header'lar yerinde ama WAF yok veya CMS sürümü açıkça leak ediyor. | | 50-69 | TLS var ama CSP/X-Frame yok — XSS / clickjacking saldırılarına açık. | | < 50 | Origin doğrudan expose, EOL CMS, header'sız. Acil sertleştirme önerilir. |