Bu kontrol listesi; web sitelerini ve web uygulamalarını güvenlik tehditlerine karşı yapılandırılmış ve tekrarlanabilir bir süreçle izlemek isteyen geliştiriciler, teknik yöneticiler ve güvenliğe önem veren işletme sahipleri içindir. Yalnızca lansmanı sırasında değil, her gün. Bu adımları izleyerek zafiyetleri erkenden tespit eden, riski azaltan ve kullanıcılarınızı güvende tutan sürekli bir güvenlik izleme rutini oluşturun.
Saldırı Yüzeyinizi Envanterleyin
Var olduğunu bilmediğiniz şeyi izleyemezsiniz. Her genel erişime açık varlığı haritalandırmakla başlayın. Unutulan alt alan adları, hazırlık ortamları ve gölge API'ler saldırganlar için sık kullanılan giriş noktalarıdır.
- Kuruluşunuzla ilişkili her alan adını ve alt alan adını listeleyin (örn. app.example.com, api.example.com, staging.example.com).
- Tüm genel IP adreslerini ve barındırma ortamlarını (bulut, VPS, paylaşımlı barındırma) belirleyin.
- Dışarıdan erişilebilen tüm API'leri — REST, GraphQL ve üçüncü taraf entegrasyonlar — kayıt altına alın.
- Kamuya açık olan hazırlık, test veya geliştirme ortamlarını kaldırın ya da parola koruması ekleyin.
- Bu envanter kontrolünü en az ayda bir veya yeni varlıklar dağıtıldığında tekrarlayın.
SSL/TLS Sertifikalarını İzleyin
Süresi dolmuş veya yanlış yapılandırılmış bir SSL/TLS sertifikası kullanıcı güvenini anında zedeler, tarayıcı uyarılarını tetikler ve iletim halindeki verileri açığa çıkarabilir. Sertifika sorunları proaktif izlemeyle tamamen önlenebilir. Sensagraph, izlenen tüm alan adlarınızda sertifika geçerliliğini ve son kullanma tarihlerini sürekli olarak kontrol eder.
- Son kullanma tarihinden en az 30 gün önce sertifika süresi dolumu için otomatik uyarılar ayarlayın.
- Sertifika zincirinizin eksiksiz ve başlıca tarayıcılar tarafından güvenilir olduğunu doğrulayın.
- TLS 1.2'nin desteklenen minimum protokol olduğundan emin olun; TLS 1.0 ve TLS 1.1'i devre dışı bırakın.
- Sunucunuzda zayıf şifre paketlerinin (örn. RC4, DES, 3DES) devre dışı olduğunu doğrulayın.
- HTTPS'in site genelinde zorunlu tutulduğunu ve HTTP isteklerinin otomatik olarak HTTPS'e yönlendirildiğini kontrol edin.
- Minimum 31536000 saniyelik max-age değeriyle HSTS (HTTP Strict Transport Security) etkinleştirin.
Sürekli Zafiyet Taramaları Yapın
Tek seferlik güvenlik değerlendirmeleri yeterli değildir. Saldırı yüzeyiniz her dağıtım, bağımlılık güncellemesi veya yapılandırma değişikliğiyle birlikte değişir. Otomatik ve yinelenen taramalar, yeni ortaya çıkan zafiyetlerin hızla tespit edilmesini sağlar. Sensagraph, kayıtlı varlıklarınızda sürekli olarak otomatik zafiyet taramaları gerçekleştirir.
- Otomatik taramaları en az haftalık olarak çalışacak şekilde planlayın — yüksek trafikli veya hassas uygulamalar için günlük tarama tercih edilir.
- Her önemli dağıtım veya altyapı değişikliğinin ardından ek bir tarama başlatın.
- Bulguları önem düzeyine göre önceliklendirin (Kritik, Yüksek, Orta, Düşük) ve düzeltme için SLA'lar belirleyin (örn. Kritik: 24 saat içinde).
- Düzeltmelerinizin kalıcı olduğunu doğrulamak için zafiyet eğilimlerini zaman içinde takip edin.
- Tüm tarama sonuçlarının belgelendiğinden ve sorumlu bir ekip üyesi tarafından incelendiğinden emin olun.
HTTP Güvenlik Başlıklarını Denetleyin
HTTP güvenlik başlıkları hafif ama son derece etkili bir savunma katmanıdır. Eksik veya yanlış yapılandırılmış başlıklar uygulamanızı tıklama hırsızlığı, siteler arası betik çalıştırma, MIME koklama ve diğer saldırılara karşı açık bırakır. Sensagraph her taramada HTTP yanıt başlıklarını otomatik olarak denetler.
- Komut dosyaları, stiller, görseller ve diğer kaynakların kaynaklarını kısıtlamak için
Content-Security-Policy (CSP)ayarlayın. - HTTPS bağlantılarını zorlamak için
Strict-Transport-Security (HSTS)etkinleştirin. - Tıklama hırsızlığını önlemek için
X-Frame-Options: DENYveyaSAMEORIGINekleyin. - MIME türü koklama saldırılarını durdurmak için
X-Content-Type-Options: nosniffayarlayın. - Paylaşılan referans bilgisi miktarını kontrol etmek için
Referrer-Policyyapılandırın. - Kamera, mikrofon ve konum gibi tarayıcı özelliklerine erişimi kısıtlamak için
Permissions-Policyekleyin. - Bilgi sızıntısını sınırlamak için sunucu sürüm başlıklarını (örn.
Server,X-Powered-By) kaldırın.
Yazılım ve Bağımlılık Sürümlerini Takip Edin
Güncel olmayan CMS platformları, eklentiler, çerçeveler ve sunucu yazılımları web sitesi güvenlik ihlallerinin başlıca nedenidir. Saldırganlar popüler yazılımlardaki bilinen CVE'leri aktif olarak tarar. Her şeyi güncel tutmak alabileceğiniz en yüksek yatırım getirili güvenlik eylemlerinden biridir.
- İşletim sisteminiz ve web sunucu yazılımınız (örn. Nginx, Apache) için otomatik güvenlik güncellemelerini etkinleştirin.
- Kullandığınız her CMS, çerçeve veya önemli kütüphane için güvenlik bildirimlerine abone olun (WordPress, Drupal, Laravel, Django vb.).
- Savunmasız paketleri işaretlemek için bağımlılık yönetim araçlarını kullanın (npm audit, pip-audit, Composer, Dependabot).
- Kullanılmayan eklentileri, temaları ve kütüphaneleri kaldırın — devre dışı olsalar bile risk oluştururlar.
- Her kritik bileşenin sürümünü belgeleyin ve aylık olarak gözden geçirin.
- Güncellemeleri üretime dağıtmadan önce hazırlık ortamında test edin.
Erişim Kontrollerini ve Kimlik Doğrulamayı Gözden Geçirin
Zayıf veya aşırı erişim izinleri büyük bir risk oluşturur. Korumasız bırakılan ya da varsayılan kimlik bilgileriyle açık olan yönetici panelleri, veritabanı arayüzleri ve dağıtım ardışık düzenleri kolay hedeflerdir. Asgari ayrıcalık ilkesinin uygulandığından emin olmak için düzenli erişim denetimi yapın.
- Tüm kullanıcı hesaplarını üç ayda bir denetleyin — eski çalışan ve yüklenicilerin hesaplarını işten ayrılma anında hemen kaldırın.
- Tüm yönetici, CMS ve bulut platformu girişleri için çok faktörlü kimlik doğrulamayı (MFA) zorunlu tutun.
- Yönetici arayüzlerini (örn.
/wp-admin,/phpmyadmin) yalnızca belirli IP aralıklarına veya VPN erişimine kısıtlayın. - Herhangi bir sistem veya hizmette varsayılan kimlik bilgilerinin (admin/admin, root/root) bulunmadığından emin olun.
- Belirli sayıda başarısız giriş denemesinin ardından hesap kilitleme veya CAPTCHA uygulayın.
- API anahtarı izinlerini gözden geçirin ve sınırlayın — tüm hizmet hesaplarına asgari ayrıcalık ilkesini uygulayın.
- Tüm yönetici işlemlerini kayıt altına alın ve haftalık olarak beklenmedik etkinliklere karşı günlükleri inceleyin.
Hassas Veri Açıklamalarını İzleyin
Hassas veri açıklaması çoğunlukla kasıtsız olarak gerçekleşir — yanlış yapılandırılmış bulut depolama kovacıkları, yanlışlıkla işlenen kimlik bilgileri veya ayrıntılı hata mesajları yoluyla. Düzenli kontroller, utanç verici ve maliyetli olabilecek bir ihlali önler.
- Genel web kökünüzü ve depo geçmişinizi yanlışlıkla açığa çıkan API anahtarları, parolalar veya özel anahtarlar için tarayın.
- Bulut depolama kovacıklarının (AWS S3, Google Cloud Storage, Azure Blob) açıkça amaçlanmadıkça kamuya okunabilir olmadığından emin olun.
- Uygulamanızı kullanıcılara genel hata mesajları gösterecek şekilde yapılandırın — üretimde asla yığın izlerini, veritabanı hatalarını veya dosya yollarını açığa çıkarmayın.
.envdosyaları,.gitdizinleri, yedek dosyalar (.sql,.bak) ve yapılandırma dosyalarının genel erişime kapalı olduğunu doğrulayın.- Çerezlerde saklanan hassas verilerin şifrelendiğinden ve
HttpOnlyileSecureolarak işaretlendiğinden emin olun. - Kimlik bilgilerini kaynak koduna sabit kodlamak yerine bir gizli bilgi yönetim aracı kullanın (örn. HashiCorp Vault, AWS Secrets Manager).
Yaygın Web Zafiyetlerini Test Edin (OWASP İlk 10)
OWASP İlk 10, en kritik ve yaygın olarak istismar edilen web uygulama zafiyetlerini temsil eder. Yalnızca lansman sırasında değil, düzenli aralıklarla bu zafiyetler için test yapmak her ciddi web uygulaması için zorunludur.
- SQL Enjeksiyonu: Tüm kullanıcı girdilerinin parametrize edildiğinden veya hazırlanmış ifadeler kullandığından emin olun; ham girdiyi sorgulara hiçbir zaman birleştirmeyin.
- Siteler Arası Betik Çalıştırma (XSS): Tarayıcıda render edilen tüm çıktıları kodlayın; katı bir İçerik Güvenliği Politikası kullanın.
- Bozuk Erişim Kontrolü: Kimliği doğrulanmış kullanıcıların kimlik veya yol manipülasyonu yoluyla diğer kullanıcılara ait kaynaklara erişip erişemediğini test edin.
- Güvenlik Yanlış Yapılandırması: Üretim ortamlarından varsayılan hesapları, gereksiz özellikleri ve ayrıntılı hata mesajlarını kaldırın.
- Güvensiz Doğrudan Nesne Referansları (IDOR): Her kaynak erişim isteğinin yalnızca arayüzde gizlenmek yerine sunucu tarafında yetkilendirildiğini doğrulayın.
- Siteler Arası İstek Sahteciliği (CSRF): Tüm durum değiştiren istekler için CSRF belirteçleri uygulayın ve doğrulayın.
- Hassas Veri Açıklaması: Tüm hassas verilerin iletim sırasında ve beklerken şifrelendiğini doğrulayın.
- Bilinen Zafiyetli Bileşenler: Bağımlılık yönetimi uygulamaları için 5. Adım'a bakın.
Günlükleri Merkezileştirin ve Uyarı Sistemi Kurun
Günlükler en değerli adli araçlarınızdır — ancak yalnızca merkezi olarak toplanır ve gerçekten incelenirse. Etkili uyarı sistemi, bir olayı günler sonra değil gerçek zamanlı olarak öğrenmenizi sağlar.
- Web sunucusu, uygulama, veritabanı ve güvenlik duvarı günlüklerini tek bir günlük yönetim platformunda merkezileştirin (örn. ELK Stack, Splunk, Datadog, Graylog).
- Günlükleri en az 90 gün boyunca saklayın — uyumluluk açısından hassas ortamlar için 12 ay önerilir.
- Şunlar için gerçek zamanlı uyarılar ayarlayın: tekrarlanan başarısız giriş denemeleri, ani trafik artışları, 4xx/5xx hata artışları ve yönetici hesabı değişiklikleri.
- Beklenmedik ülkeler veya IP aralıklarından gelen alışılmadık coğrafi erişim düzenlerini izleyin.
- Erişim günlüklerini haftada en az bir kez yol geçişi girişimleri, alışılmadık sorgu dizeleri veya tarama düzenleri gibi anormallikler için inceleyin.
- Günlükleme sisteminizin kendisinin güvenli olduğundan ve erişim kazanan bir saldırgan tarafından günlüklerin silinip değiştirilemeyeceğinden emin olun.
Olay Müdahale Planı Oluşturun ve Test Edin
En iyi izlemeye rağmen olaylar yaşanabilir ve yaşanır. Belgelenmiş ve test edilmiş bir olay müdahale planı, küçük bir olay ile büyük bir ihlal arasındaki farkı belirler. Bir saldırı sürerken ne yapacağınızı bulmaya çalışmayı bekleyin.
- Şunları kapsayan adım adım bir olay müdahale prosedürü belgeleyin: tespit, sınırlama, ortadan kaldırma, kurtarma ve olay sonrası inceleme.
- Net rol ve sorumluluklar atayın — müdahaleyi kim yönetir, paydaşlarla kim iletişim kurar, barındırma sağlayıcısıyla kim temasa geçer.
- Sistemleriniz tehlikeye girse bile erişilebilir olacak şekilde olay müdahale planının çevrimdışı veya bant dışı bir kopyasını saklayın.
- Bir ihlal senaryosunu simüle etmek ve planınızdaki boşlukları belirlemek için yılda en az bir kez masa başı tatbikatı yapın.
- Güncel bir iletişim listesi tutun: barındırma sağlayıcısı desteği, alan adı kayıt kuruluşu, hukuk danışmanı ve ilgili düzenleyici kurumlar.
- Geçerli düzenlemeler kapsamındaki ihlal bildirimi yükümlülüklerinizi tanımlayın (GDPR, HIPAA, PCI-DSS) ve raporlama son tarihlerinizi bilin.
- Gerçek bir olayın ardından suçsuzluk esasına dayalı bir olay sonrası değerlendirme yapın ve izleme kontrol listenizi buna göre güncelleyin.