İnternet ortamında güvenlik açıkları giderek daha büyük bir tehdit haline geliyor. Siber saldırılar, veri sızıntıları ve kötü amaçlı yazılımlar nedeniyle web sitelerini güvenli hale getirmek zorunlu hale geldi. Bu yazıda, bir web sitesinin temel güvenliğini sağlamaya yönelik en önemli önlemleri ele alacağım.
1. Güvenlik Duvarı (Firewall) ve Sunucu Güvenliği
Güvenlik duvarları, kötü amaçlı trafiği filtreleyerek zararlı girişleri engeller. Web uygulamaları için Web Application Firewall (WAF) kullanmak, SQL injection ve XSS saldırılarını önlemede kritik rol oynar.
Öneriler:
✅ Cloudflare, Sucuri gibi WAF servisleri kullanın.
✅ SSH erişimi için standart portu (22) değiştirin.
✅ fail2ban
gibi araçlarla şüpheli giriş denemelerini engelleyin.
2. SSL Sertifikaları ve HTTPS Kullanımı
HTTPS (Hypertext Transfer Protocol Secure), kullanıcı ve sunucu arasındaki iletişimi şifreleyerek verileri korur.
Neden Önemli?
🔒 Kullanıcı verileri (şifreler, kredi kartı bilgileri) güvende kalır.
🔐 Man-in-the-middle saldırılarına karşı koruma sağlar.
📈 Google sıralamasında SEO avantajı sunar.
Nasıl Etkinleştirilir?
- Let’s Encrypt gibi ücretsiz SSL sertifikaları kullanabilirsiniz.
- Sunucunuzda HTTPS yönlendirmesi yapın:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
3. SQL Injection ve Veri Tabanı Güvenliği
SQL Injection, kötü niyetli kişilerin veri tabanına yetkisiz erişim sağlamasına neden olan en yaygın saldırı türlerinden biridir.
Korunma Yöntemleri:
✅ Hazırlıklı (Prepared) SQL ifadeleri kullanın:
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$email]);
✅ Gereksiz veri tabanı yetkilerini kısıtlayın.
✅ Veri tabanı erişim bilgilerini .env
dosyasında saklayın.
4. XSS (Cross-Site Scripting) ve CSRF Koruma Yöntemleri
XSS saldırıları, kötü amaçlı JavaScript kodlarının çalıştırılmasına sebep olur. CSRF saldırıları ise kullanıcı işlemlerini izinsiz gerçekleştirmek için sahte talepler oluşturur.
Korunma Yöntemleri:
✅ Kullanıcı girdilerini doğrulayın ve filtreleyin:
$input = htmlspecialchars($_POST['input'], ENT_QUOTES, 'UTF-8');
✅ CSP (Content Security Policy) kullanarak dışarıdan yüklenen JavaScript’leri engelleyin:
Content-Security-Policy: default-src 'self'
✅ CSRF için güvenlik token’ları (CSRF token) kullanın.
5. Güçlü Şifreleme ve Kimlik Doğrulama Yöntemleri
Web sitenizin giriş paneli ve kullanıcı verilerini korumak için şifreleme ve güvenli kimlik doğrulama yöntemleri kullanılmalıdır.
Öneriler:
✅ Kullanıcı şifrelerini bcrypt veya Argon2 ile hashleyin:
$passwordHash = password_hash($password, PASSWORD_BCRYPT);
✅ İki adımlı doğrulama (2FA) ekleyin.
✅ Oturumları belirli bir süre sonra otomatik sonlandırın.
Güvenlik, web geliştirme sürecinin ayrılmaz bir parçasıdır. Web sitenizi güvende tutmak için SSL kullanımı, güvenlik duvarları, SQL Injection ve XSS korumaları gibi temel önlemleri mutlaka uygulayın.
Web sitenizin siber saldırılara karşı daha güvenli hale gelmesi için bu adımları uygulayarak güçlü bir savunma oluşturabilirsiniz!