Bloga Dön
Web Geliştirme

Web Sitesi Güvenliği: Saldırılardan Korunmanın 8 Yolu

Web sitenizi hacklenmeye, veri sızıntısına ve botlara karşı nasıl korursunuz? HTTPS, güncellemeler, güçlü kimlik doğrulama ve yaygın saldırılara karşı pratik önlemler.

Web GüvenliğiSiber GüvenlikHTTPSKVKKWeb Geliştirme

Web sitesi güvenliğinin temeli karmaşık değildir: tüm trafiği HTTPS üzerinden taşımak, yazılımları güncel tutmak, güçlü kimlik doğrulama kullanmak ve kullanıcıdan gelen veriyi asla güvenmeden işlemek. Saldırıların büyük çoğunluğu sıfırıncı-gün açıkları değil, güncellenmemiş eklentiler, zayıf parolalar ve doğrulanmamış form girdileri gibi bilinen ve önlenebilir zafiyetlerdir. Güvenli bir altyapı kurmak, web geliştirme hizmetlerimizin ayrılmaz bir parçasıdır. Aşağıda en etkili 8 önlemi sıralıyoruz.

1. Her Sayfada HTTPS (SSL/TLS) Zorunlu Olsun

HTTPS, tarayıcı ile sunucu arasındaki trafiği şifreler; olmadığında form verileri, parolalar ve oturum bilgileri açık metin olarak taşınır. Bugün ücretsiz sertifikalar (Let’s Encrypt) ile HTTPS standarttır ve Google sıralamada da şart koşar. Tüm HTTP isteklerini HTTPS’e yönlendirin ve HSTS başlığıyla tarayıcıya yalnızca güvenli bağlantı kullanmasını söyleyin.

2. Yazılım, Bağımlılık ve Eklentileri Güncel Tutun

Hacklenen sitelerin büyük kısmı güncellenmemiş bir CMS, tema ya da eklenti yüzünden ele geçirilir. Bilinen bir açık yayımlandığı anda botlar internet genelini tarayıp savunmasız siteleri bulur. Bağımlılıkları düzenli güncelleyin ve otomatik güvenlik denetimi çalıştırın:

# Bağımlılıklardaki bilinen güvenlik açıklarını tara
npm audit

# Otomatik düzeltilebilen açıkları gider
npm audit fix

# Güncel olmayan paketleri listele
npm outdated

3. Güçlü Kimlik Doğrulama ve İki Adımlı Doğrulama (2FA)

  • Yönetici hesapları için iki adımlı doğrulamayı (2FA) zorunlu tutun.
  • Parolaları asla düz metin saklamayın; bcrypt/argon2 gibi algoritmalarla hash’leyin.
  • Başarısız giriş denemelerine hız sınırı (rate limit) koyarak brute-force saldırılarını engelleyin.
  • Varsayılan "admin" kullanıcı adlarını ve yönetim panelinin tahmin edilebilir adresini değiştirin.

4. Kullanıcı Girdisini Asla Güvenli Saymayın

En yaygın iki saldırı — SQL Injection ve XSS (Cross-Site Scripting) — doğrudan doğrulanmamış kullanıcı girdisinden kaynaklanır. SQL sorgularında her zaman parametreli sorgu (prepared statement) kullanın, ekrana basılan tüm kullanıcı içeriğini escape edin. Aşağıda parametreli sorgunun string birleştirmeye göre neden güvenli olduğu görülüyor:

// YANLIŞ — SQL injection'a açık (girdi doğrudan sorguya gömülüyor)
const user = await db.query(
  `SELECT * FROM users WHERE email = '${email}'`
);

// DOĞRU — parametreli sorgu; girdi veri olarak işlenir, kod olarak değil
const user = await db.query(
  'SELECT * FROM users WHERE email = $1',
  [email]
);
OWASP verilerine göre enjeksiyon ve hatalı kimlik doğrulama yıllardır en sık görülen web zafiyetleri arasında. İyi haber: ikisi de doğru kodlama pratikleriyle neredeyse tamamen önlenebilir.

5. Güvenlik Başlıkları (HTTP Security Headers) Ekleyin

Birkaç HTTP başlığı, yaygın saldırı yüzeyini ciddi biçimde daraltır: Content-Security-Policy (XSS’i sınırlar), X-Frame-Options (clickjacking’i engeller), Strict-Transport-Security (HTTPS zorlar) ve X-Content-Type-Options. Next.js gibi modern çatılarda bunları tek bir yapılandırma dosyasında tanımlayabilirsiniz; teknik altyapı tarafını Next.js SEO ve yapılandırma yazımızda da ele aldık.

6. Düzenli Yedekleme ve Geri Dönüş Planı

En iyi savunma bile bir gün aşılabilir; o yüzden otomatik, sürümlenmiş ve sunucudan ayrı bir konumda saklanan yedekler şarttır. Yedeği almak kadar geri yükleyebildiğinizi test etmek de önemlidir — hiç denenmemiş bir yedek, yedek sayılmaz. Fidye yazılımı (ransomware) senaryolarında çalışan bir yedek, sizi felaketten kurtaran tek şey olur.

7. Bot ve DDoS Koruması

  • Formlara ve giriş ekranlarına CAPTCHA / rate limit ekleyerek otomatik spam ve deneme saldırılarını azaltın.
  • Bir WAF (Web Application Firewall) ve CDN katmanı (Cloudflare gibi) kötü niyetli trafiği sunucuya ulaşmadan filtreler.
  • Anormal trafik artışlarını izleyin; erken uyarı, büyük bir kesintiyi önler.

8. KVKK / Veri Koruma Uyumu

Güvenlik yalnızca teknik değil hukuki bir yükümlülüktür. Kişisel veri toplayan her site, bu veriyi korumak ve bir ihlal durumunda bildirmekle yükümlüdür. Veri minimizasyonu, şifreleme ve erişim kontrolü hem saldırı riskini hem yasal riski azaltır. Bu tarafı ayrıntılı olarak KVKK uyumlu web sitesi yazımızda ele aldık.

Sonuç

Web sitesi güvenliği tek seferlik bir kurulum değil, sürekli bir bakım disiplinidir: HTTPS, güncel yazılım, güçlü kimlik doğrulama, doğrulanmış girdi, güvenlik başlıkları, yedekleme, bot koruması ve veri uyumu. Bu sekiz katman birlikte, saldırıların ezici çoğunluğunu daha gerçekleşmeden durdurur. Sitenizin güvenlik durumunu değerlendirmemizi isterseniz bizimle iletişime geçin ya da teklif alın.

Projenizi Hayata Geçirelim

Web sitesi, mobil uygulama veya kurumsal yazılım projeniz için ücretsiz danışmanlık alın.

Ücretsiz Teklif AlWeb Geliştirme hizmetimizi inceleyin