📑 İçindekiler
- 📋 İçindekiler
- 🔐 Web Güvenliği Neden Her Zamankinden Daha Önemli?
- ⚡ OWASP Top 10 2025: Bilmeniz Gereken En Tehlikeli 10 Güvenlik Açığı
- 🛡️ Her Projede Uygulamanız Gereken Güvenlik Temelleri
- 1. En Az Ayrıcalık Prensibi
- 2. Derinlemesine Savunma
- 3. Varsayılan Olarak Güvenli
- 4. Güvenlik Testlerini Otomatikleştirin
- 🔒 HTTPS ve SSL/TLS: İlk Savunma Hattı
- SSL/TLS Sertifikası Seçimi:
- 💉 SQL Injection Saldırılarından Korunma
- 📌 Ek Koruma Önlemleri:
- 💻 XSS (Cross-Site Scripting) Saldırılarından Korunma
- 📌 XSS Önleme Kontrol Listesi:
- 🔑 Kullanıcı Kimlik Doğrulama ve Oturum Yönetimi
- Parola Yönetimi:
- Çok Faktörlü Kimlik Doğrulama:
- Oturum Yönetimi:
- 🎯 Yetkilendirme ve Erişim Kontrolü
- 📌 En İyi Uygulamalar:
- 📦 Kütüphane ve Bağımlılık Güvenliği
- 📌 Önlemler:
- 💾 Yedekleme ve Felaket Kurtarma Planı
- 📌 Yedekleme Stratejisi:
- 📜 Standartlar ve Yasalara Uyum
- 🎯 Özet ve Pratik Öneriler
- ✅ Bugün Uygulayabileceğiniz 10 Pratik Adım:
- 📚 Yararlı Kaynaklar:
Web Güvenliği Kapsamlı Rehberi: Projelerinizi 2026'da Koruyun
Yayın Tarihi: 12 Ağustos 2026
Yazar: Tarek Fahmy — Uzaktan Yazılım Geliştirici
📋 İçindekiler
- Web Güvenliği Neden Her Zamankinden Daha Önemli?
- OWASP Top 10 2025: Bilmeniz Gereken En Tehlikeli 10 Güvenlik Açığı
- Her Projede Uygulamanız Gereken Güvenlik Temelleri
- HTTPS ve SSL/TLS: İlk Savunma Hattı
- SQL Injection Saldırılarından Korunma
- XSS (Cross-Site Scripting) Saldırılarından Korunma
- Kullanıcı Kimlik Doğrulama ve Oturum Yönetimi
- Yetkilendirme ve Erişim Kontrolü
- Kütüphane ve Bağımlılık Güvenliği
- Yedekleme ve Felaket Kurtarma Planı
- Standartlar ve Yasalara Uyum
- Özet ve Pratik Öneriler
🔐 Web Güvenliği Neden Her Zamankinden Daha Önemli?
2026 yılında web sitesi güvenliği artık sadece teknik bir seçenek veya lüks değil, ticari ve yasal bir sorumluluk haline geldi. Siber saldırılar her geçen gün evrimleşiyor ve her büyüklükteki şirketi hedef alıyor.
Bir senaryo hayal edin:
Aylardır projeniz üzerinde çalışıyorsunuz, müşteri tabanı oluşturuyorsunuz ve insanlar size güveniyor. Sonra bir gün siteniz hackleniyor. Müşteri verileri sızdırılıyor, öfke dolu mesajlar alıyorsunuz, yasal cezalarla karşı karşıya kalıyorsunuz ve yıllar içinde inşa ettiğiniz itibarınız bir anda çöküyor. Bu kurgusal bir senaryo değil, Equifax ve Capital One gibi büyük şirketlerin başına gelen gerçek bir durum.
📌 Çarpıcı Gerçek: Broken Access Control güvenlik açığı, 2024'teki veri ihlallerinin %43'ünde birincil faktördü. (Kaynak: Verizon 2025 Veri İhlali Raporu)
Bir yazılım geliştirici olarak, güvenliği bir "ek özellik" olarak değil, projenizin temel bir bileşeni olarak görmelisiniz. Bu rehber, size hem teorik bilgi hem de pratik uygulama örnekleri sunacak.
⚡ OWASP Top 10 2025: Bilmeniz Gereken En Tehlikeli 10 Güvenlik Açığı
OWASP (Open Web Application Security Project), web uygulama güvenliği alanında dünyanın en güvenilir kaynaklarından biridir. İşte 2025 sürümündeki en kritik 10 güvenlik açığı:
| # | Güvenlik Açığı | Açıklama | Risk Seviyesi |
|---|---|---|---|
| 1 | Broken Access Control | Yetkisiz kullanıcıların hassas verilere erişmesi | 🔴 Çok Yüksek |
| 2 | Cryptographic Failures | Şifreleme zayıflıkları | 🔴 Çok Yüksek |
| 3 | Injection | SQL, NoSQL, OS komut enjeksiyonu | 🔴 Yüksek |
| 4 | Insecure Design | Güvensiz mimari tasarım | 🔴 Yüksek |
| 5 | Security Misconfiguration | Hatalı güvenlik yapılandırması | 🟠 Orta-Yüksek |
| 6 | Vulnerable Components | Güvenlik açığı bulunan kütüphaneler | 🟠 Orta-Yüksek |
| 7 | Identification Failures | Kimlik doğrulama zayıflıkları | 🟠 Orta |
| 8 | Data Integrity Failures | Veri bütünlüğü ihlalleri | 🟠 Orta |
| 9 | Logging Failures | Yetersiz loglama ve izleme | 🟠 Orta |
| 10 | Server-Side Forgery | Sunucu tarafı sahtecilik saldırıları | 🟠 Orta |
🛡️ Her Projede Uygulamanız Gereken Güvenlik Temelleri
1. En Az Ayrıcalık Prensibi
Her kullanıcı ve hizmet, yalnızca görevini yerine getirmek için kesinlikle gerekli olan izinlere sahip olmalıdır. Örneğin, bir veritabanı kullanıcısı yalnızca SELECT işlemi yapacaksa DELETE veya DROP izni verilmemelidir.
2. Derinlemesine Savunma
Tek bir güvenlik katmanına güvenmeyin. Birden fazla katman (WAF, güvenlik duvarı, şifreleme, erişim kontrolü, loglama) kullanarak saldırganın başarılı olma ihtimalini azaltın.
3. Varsayılan Olarak Güvenli
Sisteminizin varsayılan yapılandırması en güvenli şekilde ayarlanmış olmalıdır. Kullanıcıların güvenlik ayarlarını "açması" değil, "kapatması" gerekmelidir.
4. Güvenlik Testlerini Otomatikleştirin
CI/CD pipeline'ınıza güvenlik tarama araçlarını entegre edin. Her kod değişikliğinde otomatik olarak çalışan güvenlik testleri, güvenlik açıklarını erken tespit etmenizi sağlar.
🔒 HTTPS ve SSL/TLS: İlk Savunma Hattı
HTTPS, web sitenizle kullanıcılar arasındaki veri aktarımını şifreler. Bu şunları sağlar:
- Gizlilik: Veriler yetkisiz kişiler tarafından okunamaz
- Bütünlük: Veriler transfer sırasında değiştirilemez
- Kimlik Doğrulama: Ziyaretçiler gerçek siteye bağlandıklarından emin olur
SSL/TLS Sertifikası Seçimi:
- Let's Encrypt: Ücretsiz, otomatik yenileme, tüm projeler için ideal
- Cloudflare: Ücretsiz SSL + CDN + DDoS koruması
- Comodo / DigiCert: Kurumsal projeler için ücretli alternatifler
💉 SQL Injection Saldırılarından Korunma
SQL Injection, saldırganların veritabanı sorgularına kötü niyetli kod eklemesine olanak tanır. Bu saldırı türünden korunmak için en etkili yöntem Prepared Statements kullanmaktır. Prepared Statements, kullanıcı girdilerini sorgudan ayrı tutarak güvenli bir şekilde işler.
📌 Ek Koruma Önlemleri:
- Veritabanı kullanıcısına minimum gerekli izinleri verin
- Gelen tüm verileri doğrulayın ve temizleyin
- Hata mesajlarını kullanıcılara göstermeyin, log'a yazın
- ORM (Object-Relational Mapping) kullanarak sorgu oluşturmayı otomatikleştirin
💻 XSS (Cross-Site Scripting) Saldırılarından Korunma
XSS, saldırganların web sitenize JavaScript kodları enjekte etmesidir. Bu kodlar, diğer kullanıcıların tarayıcısında çalışabilir. Korunmak için tüm kullanıcı girdileri htmlspecialchars() fonksiyonu ile temizlenmelidir.
📌 XSS Önleme Kontrol Listesi:
- Tüm kullanıcı girdilerini kaçış karakterleriyle değiştirin (htmlspecialchars)
- JavaScript içinde veri kullanırken JSON encode yapın
- CSP (Content Security Policy) başlığını yapılandırın
- Kullanıcı tarafından girilen HTML içeriğini temizleyin
🔑 Kullanıcı Kimlik Doğrulama ve Oturum Yönetimi
Kimlik doğrulama, web güvenliğinin en kritik noktalarından biridir.
Parola Yönetimi:
Kullanıcı parolaları asla düz metin olarak saklanmamalıdır. PHP'de password_hash() ve password_verify() fonksiyonları kullanılmalıdır. MD5 ve SHA1 gibi eski algoritmalar artık güvenli değildir.
Çok Faktörlü Kimlik Doğrulama:
- Mümkün olan her yerde MFA/2FA zorunlu kılın
- Google Authenticator veya TOTP tabanlı çözümler kullanın
- E-posta doğrulama kodları veya SMS onayı ekleyin
Oturum Yönetimi:
Oturumlar güvenli bir şekilde yönetilmelidir. HttpOnly, Secure ve SameSite cookie ayarları etkinleştirilmelidir. Oturumlar düzenli olarak yenilenmeli ve sonlandırıldığında tamamen temizlenmelidir.
🎯 Yetkilendirme ve Erişim Kontrolü
Kullanıcılar kimlik doğrulamasından sonra, yetkilendirme ile ne yapabilecekleri belirlenir. Rol tabanlı erişim kontrolü (RBAC) en yaygın kullanılan yöntemdir.
📌 En İyi Uygulamalar:
- Her API endpoint'inde yetkilendirme kontrolü yapın
- JWT kullanıyorsanız, imza doğrulaması yapın ve kısa süreli tokenlar kullanın
- Admin panellerine IP kısıtlaması ekleyin
- Tüm yetkilendirme kontrollerini sunucu tarafında yapın
📦 Kütüphane ve Bağımlılık Güvenliği
Modern geliştirme süreçlerinde, projelerin %90'ı üçüncü taraf kütüphaneleri kullanıyor. Bu kütüphanelerdeki güvenlik açıkları, doğrudan projenizi tehdit eder.
📌 Önlemler:
- npm audit veya composer audit komutlarını düzenli çalıştırın
- Kullanmadığınız kütüphaneleri kaldırın
- Kütüphaneleri düzenli olarak güncelleyin
- Sadece güvenilir kaynaklardan kütüphane indirin
- Snyk veya Dependabot gibi araçlarla güvenlik taraması yapın
💾 Yedekleme ve Felaket Kurtarma Planı
Saldırıların %60'ı, yeterli yedekleme olmadığı için işletmelerin kapanmasına neden oluyor. Hazırlıklı olun!
📌 Yedekleme Stratejisi:
- 3-2-1 Kuralı:
- 3 kopya (orijinal + 2 yedek)
- 2 farklı ortam (lokal + bulut)
- 1 kopya off-site (farklı bir lokasyonda)
- Otomatik Yedekleme: Her gün otomatik yedekleme çalıştırın
- Yedekleme Testi: Yedeklerin çalıştığını düzenli test edin
📜 Standartlar ve Yasalara Uyum
Dünya genelinde veri koruma yasaları giderek daha katı hale geliyor. İşte bilmeniz gerekenler:
| Standart/Yasa | Kapsam | Önemli Gereklilikler |
|---|---|---|
| GDPR | Avrupa Birliği | Veri koruması, kullanıcı onayı, veri taşınabilirliği |
| PCI DSS | Kredi kartı işlemleri | Kart verilerinin şifrelenmesi, düzenli güvenlik testleri |
| KVKK | Türkiye | Kişisel verilerin korunması, aydınlatma metni |
| ISO 27001 | Uluslararası | Bilgi güvenliği yönetim sistemi |
🎯 Özet ve Pratik Öneriler
✅ Bugün Uygulayabileceğiniz 10 Pratik Adım:
- HTTPS zorunlu hale getirin (Let's Encrypt ile ücretsiz)
- Tüm kullanıcı girdilerini doğrulayın ve temizleyin
- Veritabanı sorgularında Prepared Statements kullanın
- Parolaları güvenli şekilde saklayın (password_hash ve password_verify)
- CSP (Content Security Policy) başlığını yapılandırın
- Her API isteğinde yetkilendirme kontrolü yapın
- Otomatik güvenlik taraması kurun
- Günlük yedekleme sistemi kurun ve test edin
- Hata mesajlarını kullanıcılara göstermeyin, log'a yazın
- Güvenlik testlerini CI/CD pipeline'a entegre edin
📚 Yararlı Kaynaklar:
📌 Unutmayın: Güvenlik bir yolculuktur, bir hedef değil. Teknoloji geliştikçe, güvenlik tehditleri de gelişir. Bilgilerinizi güncel tutun, öğrenmeye devam edin ve projelerinizi düzenli olarak güvenlik taramasından geçirin.
👨💻 Tarek Fahmy — Uzaktan Yazılım Geliştirici
📍 İstanbul · Başakşehir
Yorumlar (0)
Yorum Yap
Yorum yapmak için giriş yapmalısınız.
Henüz yorum yapılmamış. İlk yorumu siz yapın!