Özet Tablo – Bu Kılavuzda Neler Öğreneceksiniz?
| Başlık | İçerik Özeti |
|---|---|
| OWASP Top 10 | Web güvenliğinde en kritik 10 açık |
| SQL Injection | Veritabanı manipülasyonuna karşı korunma |
| XSS | Kullanıcı arayüzü güvenliği |
| CSRF | Kimlik suistimallerine karşı savunma |
| Race Condition | Çoklu işlem güvenliği |
| Spring Framework’te Güvenlik | Modern Java uygulamalarında güvenlik katmanları |
| Penetrasyon Test Araçları | En çok kullanılan test yazılımları ve yöntemler |
| SEI CERT & OWASP | Endüstri standartlarına uygun güvenli kodlama |
OWASP Top 10: Temel Güvenlik Tehditleri
OWASP (Open Web Application Security Project), web uygulamaları için en önemli güvenlik açıklarını listeler. Bu liste her geliştiricinin güvenlik yolculuğunun başlangıç noktası olmalıdır.
OWASP 2023 Top 10 Listesi:
Broken Access Control
Cryptographic Failures
Injection (SQL, LDAP, NoSQL)
Insecure Design
Security Misconfiguration
Vulnerable & Outdated Components
Identification & Authentication Failures
Software & Data Integrity Failures
Security Logging & Monitoring Failures
Server-Side Request Forgery (SSRF)
Her madde, karmaşık güvenlik açıklarının sisteminize sızmak için nasıl bir zemin hazırlayabileceğini açıklar.
Daha fazla detay:
Certified Java and Web Application Security Eğitimi
SQL Injection: Veri Tabanınızı Korumaya Alın
SQL Injection, kullanıcıdan gelen verinin doğrudan SQL sorgularına katılması ile oluşur.
Bu, kötü niyetli aktörlerin veritabanınızda okuma, yazma veya silme gibi işlemleri yapmasına neden olur.
Örnek Tehlikeli Kod:
java
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users WHERE username = '" + input + "'");
Güvenli Alternatif:
java
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE username = ?"); stmt.setString(1, input); ✔ Çözüm: Parametrik sorgular, ORM teknolojileri (Hibernate), whitelist validasyon
XSS (Cross-Site Scripting): Kullanıcıları Koruyun
XSS açıkları, kullanıcı girdisinin filtrelenmeden HTML/JS olarak tarayıcıda çalıştırılmasına yol açar.
Türleri:
Stored XSS (Veritabanında saklanan)
Reflected XSS (URL üzerinden gelen)
DOM-based XSS
✔ Korunma:
HTML escape (
<,>,"gibi karakterlerin dönüştürülmesi)CSP (Content-Security Policy) başlığı
inputveoutputseviyelerinde filtreleme
CSRF (Cross Site Request Forgery): Oturum Sahtekarlığına Son
CSRF, kullanıcının oturum bilgilerini kullanarak istem dışı işlemler yapılmasına neden olur.
Gerçek Hayattan Örnek:
Kullanıcı banka sitesinde oturum açmıştır. Farklı bir site, tarayıcıdaki oturumu kullanarak para transferi isteği gönderir.
✔ Koruma Yöntemleri:
CSRF token’ları
Referer kontrolü
SameSitecookie parametreleri
Spring Framework’te:
java
http.csrf().enable(); Race Condition: İşlem Yarışı
Race Condition, aynı veriye farklı işlemlerin eşzamanlı erişimi ile oluşan bir güvenlik sorunudur.
Örnek:
Bir ödeme sisteminde aynı kupon kodunun birkaç saniyede birden çok kez kullanılması.
✔ Çözüm:
synchronizedbloklarReentrantLockAtomicInteger,AtomicBooleangibi sınıfların kullanımı
Spring Security ile Koruma Katmanları
Spring Framework, Java dünyasının en güçlü güvenlik yapı taşlarından biridir.
Katmanlar:
| Katman | Açıklama |
|---|---|
| Authentication | Kullanıcı doğrulaması |
| Authorization | Yetkilendirme kontrolü |
| Filters | CSRF, CORS, JWT gibi kontrol katmanları |
| Expression-based Security | Yetki ifadeleriyle kontrol |
| Session Management | Oturum güvenliği |
Daha fazla öğrenmek için:
🔗 Java SE 21 Programming Eğitimi
Penetrasyon Testi Araçlarıyla Güvenlik Testi
En İyi Pentest Araçları:
| Araç | Kullanım Alanı |
|---|---|
| OWASP ZAP | Web uygulama güvenlik taraması |
| Burp Suite | Gelişmiş istek/girdi manipülasyonu |
| Nikto | Web sunucu açıklık taraması |
| Metasploit | Exploit testi |
| Nmap | Port & servis keşfi |
✔ Uygulama öncesi, ortası ve sonrası aşamalarda mutlaka test yapılmalı.
SEI CERT Kodlama Standartları
SEI CERT (Software Engineering Institute) güvenli kodlama konusunda rehberdir.
Kapsadığı Konular:
Değişkenlerin doğru kullanımı
Bellek yönetimi ve kaynak sızıntısı önleme
Exception handling güvenliği
Tanımsız davranışlardan kaçınma
Güvenli API kullanımı
OWASP Uyumlu Kodlama Teknikleri
OWASP, yalnızca saldırı tiplerini değil, aynı zamanda çözüm prensiplerini de tanımlar.
Güvenli Kodlama Önerileri:
Kullanıcı girdisini hiçbir zaman doğrudan işleme
Minimum yetki prensibi uygulama
Hata mesajlarını sınırlı tutma
HTTPS kullanımı zorunlu kılma
Güvenlik log’larının takibi
Eğitimle Uzmanlaş: Resmi Sertifikalı Kurslar
Güvenli kodlama bilginizi profesyonel eğitimlerle desteklemek ister misiniz?
| Eğitim | Link |
|---|---|
| Certified Java and Web App Security | Eğitimi Görüntüle |
| Java SE 21 Programming I | Eğitimi Görüntüle |
| Java SE 21 Programming II | Eğitimi Görüntüle |