Web Güvenliği Temelleri: Sitenizi Nasıl Korursunuz?
"Bizim site küçük, kim neden saldırsın?"
Bu cümle en sık duyduğumuz ve en tehlikeli varsayımlardan biri. Çünkü saldırıların büyük çoğunluğu hedefli değil — otomatiktir. Botlar interneti tarayarak bilinen güvenlik açıklarını arar. Siteniz küçük de olsa, büyük de olsa, açık varsa bulunur.
Web güvenliği sadece SSL sertifikası kurmak değil. Çok katmanlı bir koruma gerektirir.
En Yaygın Tehditler
OWASP (Open Web Application Security Project), web güvenliğinin referans noktasıdır. En yaygın tehditleri inceleyelim.
Injection Saldırıları
Saldırgan, uygulamanıza kötü amaçlı kod enjekte eder.
SQL Injection: Veritabanı sorgularına zararlı komutlar eklenir. Sonuç: veritabanınızdaki tüm veriler çalınabilir, silinebilir, değiştirilebilir.
XSS (Cross-Site Scripting): Sayfanıza zararlı JavaScript enjekte edilir. Sonuç: kullanıcıların çerezleri, oturum bilgileri çalınabilir.
Korunma: Kullanıcıdan gelen her veriyi doğrulayın ve temizleyin. Parameterized query kullanın. Çıktıyı encode edin.
Kırık Authentication
Zayıf şifreler, güvenli olmayan oturum yönetimi, çok faktörlü doğrulama eksikliği.
Sonuç: Saldırgan başka bir kullanıcı gibi davranabilir. Admin hesabına erişim sağlayabilir.
Korunma: Güçlü şifre politikası, güvenli session yönetimi, mümkünse iki faktörlü doğrulama.
Hassas Veri İfşası
Şifreler düz metin olarak saklanıyor. Kredi kartı bilgileri loglanıyor. API anahtarları kaynak kodda görünüyor.
Sonuç: Veri ihlali. Yasal sorumluluk. Müşteri güveni kaybı.
Korunma: Hassas verileri şifreleyin. Şifreleri hash'leyin (Argon2 veya bcrypt). Loglardan hassas veriyi çıkarın. Environment variable kullanın.
CSRF (Cross-Site Request Forgery)
Kullanıcı oturum açıkken, saldırgan onun adına istek gönderir. Kullanıcı farkında bile olmaz.
Korunma: CSRF token'ları. SameSite cookie ayarları. Origin doğrulaması.
Güvenlik Yanlış Yapılandırmaları
Varsayılan şifreler değiştirilmemiş. Hata mesajları detaylı bilgi veriyor. Gereksiz portlar açık. Debug modu production'da aktif.
En kolay önlenebilir ama en sık karşılaşılan sorunlar bunlardır. Çözüm: güvenlik kontrol listesi ve düzenli denetim.
Temel Koruma Katmanları
HTTPS Zorunluluğu
HTTP üzerinden iletilen tüm veriler okunabilir durumdadır. Aynı WiFi ağındaki biri, iletişiminizi görebilir.
HTTPS bu iletişimi şifreler. SSL/TLS sertifikası ile sağlanır.
Günümüzde HTTPS bir seçenek değil, zorunluluktur:
- Google, HTTP siteleri "güvensiz" olarak işaretler
- Tarayıcılar uyarı gösterir
- SEO sıralaması olumsuz etkilenir
- Kullanıcı güveni düşer
Let's Encrypt ile ücretsiz SSL sertifikası alınabilir. Bahane yok.
Güvenlik Başlıkları
HTTP güvenlik başlıkları, tarayıcıya sitenizi nasıl koruması gerektiğini söyler.
CSP (Content Security Policy): Hangi kaynaklardan script, stil, görsel yükleneceğini belirler. XSS saldırılarına karşı güçlü bir koruma.
CORS (Cross-Origin Resource Sharing): Hangi domain'lerin API'nize erişebileceğini kontrol eder. Yetkisiz erişimi engeller.
X-Frame-Options: Sitenizin iframe içinde gösterilmesini engeller. Clickjacking saldırılarını önler.
Strict-Transport-Security (HSTS): Tarayıcıya "bu siteye her zaman HTTPS üzerinden bağlan" der.
Input Validasyonu
Altın kural: Kullanıcıdan gelen her veriye şüpheyle yaklaşın.
- Form verileri doğrulanmalı (hem frontend hem backend)
- Dosya yüklemeleri kontrol edilmeli (tip, boyut, içerik)
- URL parametreleri temizlenmeli
- Backend validasyonu asla atlanmamalı — frontend validasyonu kolayca aşılabilir
Rate Limiting
Tek bir kaynaktan gelen istek sayısını sınırlamak.
- Login denemelerini sınırlayın (brute force koruması)
- API isteklerini sınırlayın (abuse prevention)
- Form gönderimlerini sınırlayın (spam koruması)
Güçlü Authentication
Kullanıcı girişi varsa:
- Şifre hashleme: Şifreler asla düz metin olarak saklanmaz. Argon2 veya bcrypt kullanılır.
- Oturum yönetimi: Session token'ları güvenli oluşturulur ve saklanır. HttpOnly ve Secure flag'leri kullanılır.
- İki faktörlü doğrulama: Kritik hesaplar için (admin paneli gibi) ek doğrulama katmanı.
Altyapı Güvenliği
Uygulama güvenli olsa bile, altyapı açıksa koruma yetersiz kalır.
DDoS Koruması
Dağıtık hizmet reddi (DDoS) saldırıları, sitenizi aşırı trafikle bunaltarak erişilemez kılar.
Korunma: CDN ve WAF hizmeti kullanan sağlayıcılar bu saldırıları absorbe edebilir. Bot trafiğini filtreler, meşru kullanıcıların erişimini korur.
WAF (Web Application Firewall)
Uygulama seviyesinde trafik analizi yapar. Bilinen saldırı kalıplarını tespit eder ve engeller.
SQL injection denemeleri, XSS payload'ları, kötü niyetli bot trafiği — WAF bunları HTTP seviyesinde yakalar.
Düzenli Yedekleme
Her şeye rağmen bir sorun yaşanırsa, yedekler hayat kurtarır.
- Günlük veya haftalık otomatik yedekleme
- Yedeklerin farklı bir lokasyonda saklanması
- Düzenli geri yükleme testi (yedek çalışıyor mu?)
"Yedek almayı unuttum" cümlesi, veri kaybından sonra en çok duyulan cümledir.
Güncelleme Disiplini
Güvenlik açıklarının çoğu, güncellenmemiş yazılımlardan kaynaklanır.
- Framework güncellemeleri
- Bağımlılık güncellemeleri
- İşletim sistemi yamaları
- SSL sertifika yenilemeleri
Güncelleme yapmamak, kapıyı açık bırakıp "kimse girmez" demek gibidir.
Monitoring
Sorun yaşandığında erken tespit kritiktir.
- Uptime monitoring: Site çökerse anında bildirim
- Error tracking: Beklenmedik hatalar yakalanır
- Güvenlik logları: Şüpheli aktiviteler tespit edilir
Ne kadar erken fark ederseniz, o kadar az hasar olur.
Geliştirici İçin Kontrol Listesi
Her projenin sonunda gözden geçirilmesi gereken güvenlik kontrol listesi:
Kod Güvenliği
Konfigürasyon
Veri ve Erişim
Operasyon
Bu listedeki her madde, tek başına bir saldırı vektörünü kapatır.
Sonuç
Web güvenliği tek seferlik bir iş değil, sürekli bir süreçtir.
Mükemmel güvenlik diye bir şey yok. Ama temel koruma katmanlarını uygulamak, saldırıların büyük çoğunluğunu engeller. İleri seviye, hedefli saldırılar farklı bir hikaye — ama otomatize taramalara karşı korunmak, bu yazıdaki temelleri uygulamakla mümkün.
Güvenlik, site canlıya çıktıktan sonra düşünülecek bir şey değil. İlk satır koddan itibaren düşünülmesi gereken bir temeldir.

20+ yıl deneyimli yazılım mimarı. Next.js, React, TypeScript ve modern web teknolojileri konusunda uzman. Novexing'in teknik altyapısını tasarlıyor.






