Web sitesi güvenliği konuşulurken iki kavram sık sık karşınıza çıkar: OWASP Top 10 ve güvenlik başlıkları. İlki, web uygulamalarında en çok istismar edilen zafiyet türlerini listeleyen bir çerçevedir; ikincisi ise tarayıcıya sitenizin nasıl davranması gerektiğini söyleyen küçük ama etkili ayarlardır. Bu rehberde her iki konuyu da teknik ekip ile iletişim kurabileceğiniz düzeyde anlatıyoruz. Kurumsal koruma kapsamımız için web sitesi güvenliği ve WAF sayfamıza bakabilirsiniz.
OWASP nedir?
OWASP (Open Worldwide Application Security Project), web uygulama güvenliği üzerine çalışan, kâr amacı gütmeyen açık bir topluluktur. Yayımladığı Top 10 listesi, dünya genelindeki zafiyet verilerinden yola çıkarak en kritik risk kategorilerini sıralar ve birkaç yılda bir güncellenir. Liste bir standart ya da sertifika değil, bir farkındalık belgesidir; ancak geliştiriciler, denetçiler ve güvenlik ekipleri tarafından ortak bir dil olarak kullanılır.
OWASP Top 10 kategorileri, sade bir dille
Erişim kontrolü hataları
Kullanıcının yetkisi olmayan bir veriye ya da işleme ulaşabilmesidir. Örneğin adres çubuğundaki sipariş numarasını değiştirerek başka bir müşterinin siparişini görebilmek. Listenin üst sıralarında yer alır, çünkü otomatik araçlarla değil ancak iş mantığı test edilerek bulunur.
Kriptografik hatalar
Hassas verinin şifrelenmeden saklanması ya da iletilmesi, zayıf algoritmaların kullanılması veya şifrelerin uygun şekilde özetlenmemesidir. Parolalar asla düz metin olarak değil, bcrypt ya da Argon2 gibi yavaş ve tuzlanmış özetleme yöntemleriyle saklanmalıdır.
Enjeksiyon
Kullanıcıdan gelen verinin komut gibi yorumlanmasıdır. SQL enjeksiyonu, arama kutusuna yazılan özel bir ifadeyle veritabanı sorgusunun değiştirilmesidir. XSS (siteler arası betik çalıştırma) ise sayfaya enjekte edilen script’in diğer ziyaretçilerin tarayıcısında çalışmasıdır. Parametreli sorgular ve çıktı kodlama temel korumadır.
Güvensiz tasarım
Kod doğru yazılsa bile tasarımın baştan zayıf olmasıdır. Şifre sıfırlamada sınırsız deneme hakkı tanımak ya da kupon kodunun tekrar tekrar kullanılabilmesi buna örnektir. Tehdit modellemesi bu hataları geliştirme öncesinde yakalar.
Güvenlik yapılandırma hataları
Varsayılan şifrelerin değiştirilmemesi, hata mesajlarında sunucu bilgisinin gösterilmesi, dizin listelemenin açık kalması ya da gereksiz servislerin çalışması. En sık rastlanan ve en kolay düzeltilen kategoridir.
Savunmasız ve güncel olmayan bileşenler
Kullanılan kütüphane, çerçeve ya da eklentilerde yayımlanmış açıkların kapatılmamasıdır. Bileşen envanteri tutmak ve güncellemeleri düzenli uygulamak gerekir.
Kimlik doğrulama hataları
Zayıf parolalara izin verilmesi, deneme sınırı olmaması, oturumun düzgün sonlandırılmaması. Yönetici panellerinde çok faktörlü kimlik doğrulama artık bir seçenek değil, temel gerekliliktir.
Yazılım ve veri bütünlüğü hataları
Güvenilir olmayan kaynaklardan güncelleme ya da script alınması, yayın sürecinin doğrulanmamasıdır. Dış kaynaktan yüklenen script’lerde bütünlük kontrolü (Subresource Integrity) kullanmak bir önlemdir.
Kayıt ve izleme eksiklikleri
Saldırının fark edilmemesi çoğu zaman kayıt tutulmamasından kaynaklanır. Başarısız giriş denemeleri, yetki değişiklikleri ve kritik işlemler kayıt altına alınmalı ve izlenmelidir.
Sunucu taraflı istek sahteciliği (SSRF)
Uygulamanın, kullanıcının verdiği bir adrese sunucu üzerinden istek atması ve bu yolla iç ağdaki kaynaklara erişilmesidir. Dış adreslerin beyaz listeyle sınırlandırılması gerekir.
Listenin güncel sürümlerinde kategori adları ve sıralaması değişebilir; önemli olan bu risk ailelerinin her birini sitenizde sistematik olarak ele almaktır.
Güvenlik başlıkları nedir?
Güvenlik başlıkları, sunucunun her yanıtla birlikte tarayıcıya gönderdiği HTTP başlıklarıdır. Kod değişikliği gerektirmeden, sunucu ya da WAF yapılandırmasıyla eklenebilirler ve bazı saldırıların etkisini doğrudan azaltırlar.
- Content-Security-Policy (CSP): Sayfanın hangi kaynaklardan script, stil, görsel ve çerçeve yükleyebileceğini belirler. İyi kurulmuş bir CSP, XSS açığı olsa bile saldırganın script’inin çalışmasını engelleyebilir. Ölçüm ve reklam kodları kullanan sitelerde dikkatli planlanmalı, önce yalnızca raporlama modunda denenmelidir.
- Strict-Transport-Security (HSTS): Tarayıcıya siteye yalnızca şifreli bağlantıyla erişmesini söyler ve şifresiz bağlantıya düşürme saldırılarını önler.
- X-Content-Type-Options: nosniff: Tarayıcının dosya türünü tahmin etmesini engeller.
- frame-ancestors ya da X-Frame-Options: Sitenizin başka bir sayfada çerçeve içinde gösterilmesini sınırlayarak tıklama tuzağı (clickjacking) saldırılarını önler.
- Referrer-Policy: Başka sitelere geçerken adres bilgisinin ne kadarının paylaşılacağını belirler.
- Permissions-Policy: Kamera, mikrofon, konum gibi tarayıcı özelliklerinin hangi kaynaklarca kullanılabileceğini kısıtlar.
Bunlara ek olarak oturum çerezlerinin Secure, HttpOnly ve SameSite nitelikleriyle işaretlenmesi, çerezlerin script’ler tarafından okunmasını ve siteler arası isteklerde gönderilmesini sınırlar.
Üçüncü taraf script’ler: görünmeyen risk
Modern bir web sayfası yalnızca kendi kodunu çalıştırmaz. Ölçüm araçları, reklam pikselleri, canlı destek pencereleri, harita ve video gömmeleri, çerez onay araçları gibi çok sayıda dış kaynaklı script yüklenir. Bu script’lerden birinin kaynağı ele geçirilirse, sizin sitenizin kodu hiç değişmese bile ziyaretçilerinizin tarayıcısında zararlı kod çalışabilir. Ödeme sayfalarında kart bilgisini kopyalayan saldırılar çoğu zaman bu yolla gerçekleşir. Önlem olarak kullanılan her dış script’in envanterini tutmak, gerekmeyenleri kaldırmak, ödeme ve üyelik sayfalarında dış script sayısını en aza indirmek, CSP ile izin verilen kaynakları sınırlamak ve sabit sürümlü dosyalarda bütünlük kontrolü kullanmak gerekir. Etiket yönetim araçlarına kimlerin erişebildiği de düzenli gözden geçirilmelidir; pazarlama ekibinin eklediği bir etiket, güvenlik ekibinin bilgisi dışında sayfaya kod sokabilir.
WAF bu resmin neresinde?
WAF, OWASP kategorilerindeki saldırı kalıplarını trafiğin içinde tanıyıp engelleyen bir kalkandır. Ancak erişim kontrolü ve güvensiz tasarım gibi iş mantığına bağlı hataları tek başına çözemez. Bu yüzden doğru yaklaşım; güvenli kod, güvenlik başlıkları, WAF ve düzenli testin birlikte kullanılmasıdır. Uygulama katmanındaki açıkları bulmak için sızma testi, kayıtları sürekli izlemek için SIEM ve SOC hizmetleri bu yapıyı tamamlar.
Site sahipleri için kısa kontrol listesi
- Yönetim panelinde MFA açık mı, panel adresi erişime kısıtlı mı?
- Kullanılan tüm bileşenlerin listesi ve güncelleme tarihleri biliniyor mu?
- Güvenlik başlıkları tanımlı mı, CSP en azından raporlama modunda çalışıyor mu?
- Şifreli bağlantı zorunlu mu, sertifika ve protokol ayarları güncel mi?
- Giriş ve form uç noktalarında deneme ve hız sınırı var mı?
- Başarısız girişler ve yönetici işlemleri kayıt altına alınıyor mu?
- Yedekler farklı bir konumda tutuluyor ve geri dönüş test ediliyor mu?
Bu listeyi yılda en az bir kez, ayrıca sitede büyük bir değişiklik, yeni bir ödeme yöntemi ya da yeni bir entegrasyon devreye alındığında yeniden gözden geçirmek iyi bir alışkanlıktır. Güvenlik tek seferlik bir kurulum değil, sitenin yaşam döngüsü boyunca süren bir bakım işidir. Bu sorulardan birine “bilmiyorum” yanıtı veriyorsanız, bir değerlendirmeyle başlamak iyi bir adımdır. Racurity olarak mevcut sitenizi inceleyip önceliklendirilmiş bir yol haritası çıkarıyoruz; ayrıntılar için web sitesi güvenliği hizmetimizi inceleyebilirsiniz.
Sık sorulan sorular
OWASP Top 10 bir sertifika ya da standart mı?
Hayır. OWASP Top 10 bir farkındalık belgesidir ve en kritik web uygulama risklerini listeler. Ancak birçok denetim ve güvenlik testi bu listeyi referans aldığı için ortak bir dil işlevi görür.
CSP eklemek sitemi bozar mı?
Doğrudan katı bir CSP eklemek, ölçüm ya da reklam kodlarının çalışmasını engelleyebilir. Bu yüzden önce raporlama modunda deneyip hangi kaynakların kullanıldığını görmek, ardından kuralı adım adım sıkılaştırmak gerekir.
Güvenlik başlıklarımı nasıl kontrol edebilirim?
Tarayıcının geliştirici araçlarındaki ağ sekmesinde sayfa yanıtının başlıklarını görebilirsiniz. Daha kapsamlı bir değerlendirme için başlıkları, sertifika ayarlarını ve bileşen sürümlerini birlikte incelemenizi öneririz.
Racoun ile konuşun: İstanbul merkezli ekibimizle Türkiye genelindeki markalara hizmet veriyoruz. WhatsApp üzerinden yazabilir ya da teklif formunu doldurabilirsiniz. İlk görüşme ücretsizdir.
