DEFENSIVE JAVA FUNDAMENTALS EĞİTİMİ

Güvenli Java kodu yazmayı alışkanlık yapın.

Girdi doğrulama, injection önleme, güvenli serileştirme ve kripto kullanımıyla savunmacı Java kodu yazın.

3 günlük savunmacı Java eğitimi: girdi doğrulama, injection, XXE, güvenli serileştirme, kriptografi, secret yönetimi ve Dependency-Check ile güvenli kodlama.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

OWASP ve CERT Java kurallarıyla savunmacı programlama

Defensive Java Fundamentals, Java uygulamalarında yaygın güvenlik açıklarını önleyen kodlama pratiklerini öğretir. Girdi doğrulama ve normalizasyon, SQL, komut ve LDAP injection önleme, XXE ve güvenli XML ayrıştırma, güvenli serileştirme ve ObjectInputFilter, MessageDigest, SecureRandom, AES-GCM ve bcrypt ile doğru kriptografi, gizli bilgi yönetimi, immutability ve defensive copy, bağımlılık zafiyet taraması OWASP Dependency-Check ile uygulanır.

Süre ve Format

3 Gün. Her gün dört modül; toplam 12 modül, her modülde altı konu başlığı ve uygulama çalışması yer alır.

Seviye

Orta Seviye — Güvenli Java kodlama: girdi doğrulama, injection, serileştirme, kriptografi, gizli bilgi yönetimi ve bağımlılık güvenliği.

Öğrenme Metodu

Her zafiyet önce istismar edilir, ardından savunmacı kodla kapatılır ve test ile doğrulanır.

Neden Bu Eğitim?

🎯Saldırıdan savunmaya

Zafiyet önce gösterilir, sonra düzeltilir, böylece neden o kodun güvenli olduğunu kavrarsınız.

🛠️OWASP odağı

OWASP Top 10 ve CERT Java kodlama standardındaki kurallar Java örnekleriyle işlenir.

🚀Araç desteği

SpotBugs, Find Security Bugs ve Dependency-Check gibi araçlar CI akışına eklenir.

Anahtar Konular

güvenli java kodlamadefensive javaowasp javajava sql injectionjava deserializationjava kriptografiowasp dependency checkfind security bugssecure coding javajava güvenlik eğitimi
“Güvenlik sonradan eklenen bir özellik değil, her satırdaki bir karardır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java deneyimi

Sınıf, koleksiyon ve exception konularında orta düzey Java bilgisi gerekir.

2
Web uygulaması bilgisi

HTTP, form ve temel servlet veya Spring MVC mantığına aşinalık faydalıdır.

3
SQL ve JDBC

Parametreli sorgu kullanımına aşinalık beklenir.

4
Maven

Eklenti ve bağımlılık yönetimi için Maven bilgisi gerekir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı güvenilmeyen girdiyi doğrular ve injection açıklarını kapatır.
Modül 1
Girdi Doğrulama
  • allowlist ve denylist farkı
  • normalizasyon (Normalizer, canonicalization)
  • regex ve ReDoS riski
  • Bean Validation ile sınır kontrolü
  • dosya yolu doğrulama ve path traversal
  • boyut ve tip sınırları
Modül 2
SQL ve Komut Injection
  • PreparedStatement ve parametre bağlama
  • JPQL ve HQL injection
  • ProcessBuilder ve komut enjeksiyonu
  • LDAP ve XPath injection
  • ORDER BY allowlist'i
  • ORM kullanırken görülen tuzaklar
Modül 3
XSS ve Çıktı Kodlama
  • bağlama göre çıktı kodlama (HTML, JS, URL)
  • OWASP Java Encoder
  • Content-Security-Policy başlığı
  • Thymeleaf ve JSP otomatik kaçış
  • JSON çıktısı ve Content-Type
  • log injection (CRLF)
Modül 4
XML, SSRF ve Dosya Yükleme
  • XXE ve DocumentBuilderFactory ayarları
  • güvenli XML ayrıştırma
  • SSRF ve URL allowlist
  • dosya yükleme doğrulama (MIME, uzantı, boyut)
  • zip slip açığı
  • geçici dosya güvenliği
Günün hedefiKatılımcı kriptografiyi ve serileştirmeyi güvenli kullanır, gizli bilgileri korur.
Modül 1
Doğru Kriptografi
  • SecureRandom ve Random farkı
  • SHA-256 ve MessageDigest
  • AES-GCM ve IV tekrarı
  • RSA ve ECDSA imza
  • bcrypt, scrypt, Argon2 ile parola
  • kendi kriptografini yazmama ilkesi
Modül 2
TLS ve Sertifika Doğrulama
  • HttpClient ve TLS ayarları
  • TrustManager'ı devre dışı bırakma hatası
  • hostname doğrulama
  • keystore ve truststore
  • TLS 1.2/1.3 zorlama
  • sertifika sabitleme (pinning)
Modül 3
Güvenli Serileştirme
  • Java serileştirme zafiyetleri
  • ObjectInputFilter
  • gadget chain mantığı
  • JSON ve Jackson default typing riski
  • readObject doğrulama
  • serileştirme yerine DTO
Modül 4
Gizli Bilgi Yönetimi
  • kod ve repoda secret bulunmaması
  • ortam değişkeni ve Vault kullanımı
  • char[] ile parola tutma
  • loglarda PII maskesi
  • stack trace sızıntısı
  • Spring Boot Actuator uç noktası güvenliği
Günün hedefiKatılımcı güvenli sınıf tasarımı yapar ve güvenlik taramalarını otomatikleştirir.
Modül 1
Sınıf Tasarımı
  • private ve final alanlar
  • defensive copy (Date, dizi, koleksiyon)
  • immutable sınıflar ve record
  • clone ve finalize riski
  • sealed sınıf ile kalıtım kontrolü
  • erişim belirleyici disiplini
Modül 2
Exception ve Kaynak Güvenliği
  • hata mesajında bilgi sızdırmama
  • try-with-resources
  • fail-safe varsayılanlar
  • integer overflow (Math.addExact)
  • null güvenliği ve Optional
  • kaynak tüketimi sınırı (DoS)
Modül 3
Bağımlılık ve Tedarik Zinciri
  • OWASP Dependency-Check
  • CVE okuma ve CVSS
  • SBOM (CycloneDX)
  • Maven Enforcer ve sürüm kilidi
  • transitif bağımlılık güncelleme
  • Log4Shell dersleri
Modül 4
Statik Analiz ve CI
  • SpotBugs ve Find Security Bugs
  • SonarQube güvenlik kuralları
  • CodeQL temelleri
  • Java Security Manager'ın kaldırılması
  • güvenlik odaklı kod inceleme listesi
  • CI hattında kalite kapısı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Girdi doğrulama

Allowlist ve normalizasyon ile güvenilmeyen girdiyi doğrulayabilirsiniz.

✅
Injection önleme

PreparedStatement ve ProcessBuilder ile SQL ve komut enjeksiyonunu kapatabilirsiniz.

✅
Çıktı kodlama

Bağlama göre çıktı kodlayarak XSS ve log injection riskini azaltabilirsiniz.

✅
Güvenli XML

XXE ve SSRF açıklarını yapılandırma ve doğrulama ile önleyebilirsiniz.

✅
Kripto kullanımı

SecureRandom, AES-GCM ve bcrypt gibi doğru kripto yapılarını seçebilirsiniz.

✅
Serileştirme güvenliği

ObjectInputFilter ile güvensiz deserialization riskini sınırlandırabilirsiniz.

✅
Secret yönetimi

Parola ve anahtarları koddan ayırıp Vault veya ortam değişkeniyle yönetebilirsiniz.

✅
Güvenlik otomasyonu

Dependency-Check ve SpotBugs taramalarını CI hattına ekleyebilirsiniz.

Kimler İçin Uygundur?

  • Java ile kurumsal uygulama geliştiren yazılımcılar
  • kod inceleme yapan teknik liderler
  • güvenli yazılım geliştirme pratiklerini öğrenmek isteyen ekipler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile kurumsal uygulama geliştiren yazılımcılar, kod inceleme yapan teknik liderler ve güvenli yazılım geliştirme pratiklerini öğrenmek isteyen ekipler.
Pentest eğitimi midir?
Hayır, odak saldırı değil, savunmacı kodlamadır, zafiyetler yalnızca düzeltmeyi göstermek için lab ortamında canlandırılır.
Hangi framework kullanılıyor?
Örnekler düz Java, Servlet ve Spring Boot ile gösterilir.
OWASP Top 10 kapsanıyor mu?
Java ile ilgili maddeler (injection, bozuk kimlik doğrulama, güvensiz deserialization, savunmasız bileşenler) örnekle işlenir.
Sertifika verilir mi?
Katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Defensive Java Fundamentals Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMMapping Relationships in Java: Working with Interfaces & Class Loaders Eğitimi
Yazılım Geliştirme Eğitimleri

Mapping Relationships in Java: Working with Interfaces & Class Loaders Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java interface ve ClassLoader eğitimi: default metotlar, Strategy, sealed interface, sınıf yükleme aşamaları, özel loader ve ServiceLoader.

Detayları Gör →
Java ve JVMMastering Spring and Spring Boot (TT3335) Eğitimi
Yazılım Geliştirme Eğitimleri

Mastering Spring and Spring Boot (TT3335) Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Spring ve Spring Boot ustalık eğitimi (TT3335): IoC, AOP, auto-configuration, Data JPA, REST, Security, Testcontainers ve Docker uygulamalı işlenir.

Detayları Gör →
Java ve JVMMaven Repositories & Dependency Management Eğitimi
Yazılım Geliştirme Eğitimleri

Maven Repositories & Dependency Management Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Maven depoları ve bağımlılık yönetimi eğitimi: settings.xml, scope, BOM, çakışma çözümü, Nexus, deploy ve OWASP dependency-check.

Detayları Gör →
Java ve JVMMicrosoft 365 Spring Update Eğitimi
Yazılım Geliştirme Eğitimleri

Microsoft 365 Spring Update Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Microsoft 365 bahar güncellemesi eğitimi: güncelleme kanalları, Copilot, Teams, SharePoint, Power Platform, güvenlik ve benimseme planı.

Detayları Gör →
Java ve JVMMicrosoft 365 Spring Updates Eğitimi
Yazılım Geliştirme Eğitimleri

Microsoft 365 Spring Updates Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Microsoft 365 bahar güncellemeleri eğitimi: Office yenilikleri, Copilot, Teams toplantıları, SharePoint, Planner ve güvenli kullanım örneklerle.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn