Java Geliştiriciler İçin Güvenlik Kılavuzu

Özet Tablo – Bu Kılavuzda Neler Öğreneceksiniz?

Başlıkİçerik Özeti
OWASP Top 10Web güvenliğinde en kritik 10 açık
SQL InjectionVeritabanı manipülasyonuna karşı korunma
XSSKullanıcı arayüzü güvenliği
CSRFKimlik suistimallerine karşı savunma
Race ConditionÇoklu işlem güvenliği
Spring Framework’te GüvenlikModern Java uygulamalarında güvenlik katmanları
Penetrasyon Test AraçlarıEn çok kullanılan test yazılımları ve yöntemler
SEI CERT & OWASPEndü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:

  1. Broken Access Control

  2. Cryptographic Failures

  3. Injection (SQL, LDAP, NoSQL)

  4. Insecure Design

  5. Security Misconfiguration

  6. Vulnerable & Outdated Components

  7. Identification & Authentication Failures

  8. Software & Data Integrity Failures

  9. Security Logging & Monitoring Failures

  10. 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ığı

  • input ve output seviyelerinde 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ü

  • SameSite cookie 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:

  • synchronized bloklar

  • ReentrantLock

  • AtomicInteger, AtomicBoolean gibi 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:

KatmanAçıklama
AuthenticationKullanıcı doğrulaması
AuthorizationYetkilendirme kontrolü
FiltersCSRF, CORS, JWT gibi kontrol katmanları
Expression-based SecurityYetki ifadeleriyle kontrol
Session ManagementOturum 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 ZAPWeb uygulama güvenlik taraması
Burp SuiteGelişmiş istek/girdi manipülasyonu
NiktoWeb sunucu açıklık taraması
MetasploitExploit testi
NmapPort & 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ğitimLink
Certified Java and Web App SecurityEğitimi Görüntüle
Java SE 21 Programming IEğitimi Görüntüle
Java SE 21 Programming IIEğitimi Görüntüle

 




Eğitimlerle ilgili bilgi almak ve diğer tüm sorularınız için bize ulaşın!

İlgili Eğitimler

Son Blog Yazılarımız

Sitemizi kullanarak çerezlere (cookie) izin vermektesiniz. Detaylı bilgi için Çerez Politika'mızı inceleyebilirsiniz.