Web Güvenliği Temel Açıklar ve Korunma Yöntemleri
Web geliştirme sürecinde güvenlik, çoğu zaman göz ardı ediliyor ancak internet üzerinde çalışan her uygulama potansiyel saldırılara açıktır bu yazıda en sık karşılaşılan güvenlik açıklarını ve bunlara karşı alınabilecek temel önlemleri özetliyeceğiz
1. XSS (Cross-Site Scripting)
XSS saldırıları kullanıcıdan alınan verilerin filtrelenmeden HTML içine yazılması sonucu oluşur. Saldırgan zararlı JavaScript kodlarını siteye enjekte edebilir
Korunma Yolları
-Kullanıcı girdilerini HTML içinde güvenli şekilde göster
-innerHTML gibi doğrudan HTML yazan fonksiyonlardan kaçın
-Girdi verilerini sanitize et
-innerHTML gibi doğrudan HTML yazan fonksiyonlardan kaçın
-Girdi verilerini sanitize et
2. SQL Injection
Kullanıcının gönderdiği verilerin doğrudan SQL sorgusuna eklenmesi durumunda veritabanı manipüle edilebilir
Korunma Yolları
-Parametreli (prepared) sorgular kullan
-ORM kullanıyorsan veriyi otomatik olarak escape eden yapıları tercih et
-ORM kullanıyorsan veriyi otomatik olarak escape eden yapıları tercih et
3. CSRF (Cross-Site Request Forgery)
Kullanıcının tarayıcısı üzerinden istemeden bir isteğin yapılması sağlanabilir özellikle çerez tabanlı oturumlarda tehdit oluşturur
Korunma Yolları
-Her form veya kritik işlem için CSRF token kullan
-SameSite çerez politikalarını uygun şekilde yapılandır
-SameSite çerez politikalarını uygun şekilde yapılandır
4. Güvensiz Dosya Yükleme
Yüklenen dosyalar kontrol edilmezse, sunucuya zararlı betikler yerleştirilebilir
Korunma Yolları
-Dosya uzantılarını ve MIME türlerini kontrol et
-Yüklenen dosyaları herkese açık klasöre koyma
-Dosya içeriğini analiz et (örneğin bir .php dosyası yüklendi mi kontrol et)
-Yüklenen dosyaları herkese açık klasöre koyma
-Dosya içeriğini analiz et (örneğin bir .php dosyası yüklendi mi kontrol et)
5. HTTPS Kullanımı
Şifrelenmemiş bağlantılar araya girme (MITM) saldırılarına açık hale gelir
Korunma Yolları
-SSL/TLS sertifikası kullanarak HTTPS’i zorunlu hale getir
-HTTP'den HTTPS’e yönlendirme uygula
-HSTS başlıklarını ekle
-HTTP'den HTTPS’e yönlendirme uygula
-HSTS başlıklarını ekle
Ekstra Güvenlik Önlemleri
Şifreleri salt ile birlikte hash'le (örneğin bcrypt, scrypt veya Argon2)
Giriş denemelerine rate limiting uygula
Oturum yönetimini güvenli yap (çerezlere HttpOnly ve Secure bayrağı ekle)
Gereksiz servisleri kapat minimum izin politikası uygula
---------------------------------
Giriş denemelerine rate limiting uygula
Oturum yönetimini güvenli yap (çerezlere HttpOnly ve Secure bayrağı ekle)
Gereksiz servisleri kapat minimum izin politikası uygula
---------------------------------


