Vebende Akademi - web-application-security
Uzmanla Konuşun
Blog
MAKALE

Web Application Security — Web Uygulama Güvenliği: Temeller, Mimari, Tehditler ve En İyi Uygulamalar

Yayınlayan: Vebende Akademi  |  Okuma süresi: ~60–140 dk

Web Application Security — Web Uygulama Güvenliği: Temeller, Mimari, Tehditler ve En İyi Uygulamalar

Yayınlayan: Vebende Akademi  |  Okuma süresi: ~60–140 dk

1. GİRİŞ

Web uygulama güvenliği, internet üzerinden erişilen uygulamaların barındırdığı zafiyetleri tespit etme, önleme ve meydana gelen ihlallere müdahale etme disiplinidir. İnternet çağında web uygulamaları iş süreçlerinin, müşteri etkileşimlerinin ve hassas verinin merkezinde yer alıyor. Bu nedenle web uygulamalarındaki bir güvenlik açığı hem finansal hem de itibar açısından ciddi sonuçlar doğurabilir. Modern teknoloji yığını (SPAs, REST/GraphQL API'leri, mikroservisler, serverless fonksiyonlar) ile birlikte saldırı yüzeyi genişledi; bu da güvenliğin tasarımdan üretime kadar entegre edilmesini zorunlu kıldı.

Bu konu neden bugün önemli?

  • Web uygulamaları veri sızıntılarının en yaygın kaynağıdır: kullanıcının kişisel verisi, ödeme bilgileri ve iş süreçleri risk altındadır.
  • Uygulama tedarik zinciri (third‑party libraries, CDNs, SaaS entegrasyonları) saldırı vektörleri sunar.
  • Regülasyonlar (GDPR, KVKK, PCI‑DSS) ihlal durumlarında ağır cezalar ve yükümlülükler getirir.

Kimler için önemli?

  • Backend ve frontend geliştiricileri — güvenli kod yazımı
  • DevOps/Platform mühendisleri — güvenli deployment ve konfigürasyon
  • Güvenlik mühendisleri ve test ekipleri — pentest, DAST/SAST
  • Ürün yöneticileri ve yöneticiler — risk yönetimi ve iş kararları

Hangi problemleri çözüyor?

  • Uygulama zafiyetlerinin üretime yansımasını engeller
  • Geliştirici süreçlerinde güvenliği otomatikleştirir (CI/CD güvenlik kapıları)
  • İhlal sonrası şartlarına müdahale ve hasar azaltma sağlar

2. KAVRAMSAL TEMELLER

2.1 Temel tanımlar

  • Vulnerabilty (Zafiyet): Sistemde kötüye kullanılabilecek bir eksiklik veya hata.
  • Exploit: Bir zafiyetin etkin olarak kullanılmasına yönelik yöntem veya araç.
  • Threat actor: Zafiyeti istismar edebilecek kişi veya grup (insider, organized crime, nation state).
  • Attack surface: Uygulamanın saldırılabilecek tüm noktalarının toplamı.
  • OWASP Top 10: Web uygulamaları için en kritik güvenlik risklerini listeleyen topluluk standardı.

2.2 OWASP Top 10 (kısa açıklama)

OWASP Top 10, web uygulama güvenliği alanındaki en yaygın riskleri listeler. Güncel sürümlerde A1–A10 şeklinde kategoriler yer alır (ör. injection, broken authentication, sensitive data exposure, XML external entities, broken access control, security misconfiguration, cross‑site scripting, insecure deserialization, using components with known vulnerabilities, insufficient logging & monitoring). Bu liste başlangıç için endüstri standardıdır ve risk bazlı önlemler için yol gösterir.

3. NASIL ÇALIŞIR? — TEKNİK MİMARİ VE GÜVENLİK KONTROLLERİ

3.1 Sistem mimarisi ve bileşenler

Modern web uygulamaları genellikle aşağıdaki bileşenlerden oluşur: statik frontend (JS bundle), API gateway, backend servisler (REST/GraphQL), veri deposu (SQL/NoSQL), kimlik sağlayıcı (IdP), CDN ve 3rd‑party entegrasyonlar. Güvenlik tüm bu katmanlarda uygulanmalıdır: istemci tarafında input sanitization ve CSP; API seviyesinde authentication/authorization, rate limiting; servis seviyesinde mTLS, secret management; veri katmanında encryption at rest ve column‑level protection.

3.2 Veri akışı ve güvenlik kontrollerinin yerleşimi

Tipik istek akışı (client → CDN → API gateway → authentication → services → database) her adımda farklı kontroller gerektirir:

  • Client tarafı: XSS'e karşı CSP, input validation, secure cookies (HttpOnly, SameSite), local storage kullanımını minimize etme.
  • Transport: TLS 1.2+/strong ciphers, HSTS, certificate pinning (mobil uygulamalarda) ve downgrade attack önlemleri.
  • API Gateway: Rate limiting, WAF kuralları, JWT validation, input schema validation (JSON schema), request size limits.
  • Service layer: mTLS, mutual authentication, principle of least privilege (service accounts), defense‑in‑depth.
  • Data layer: Encryption at rest, database parameterized queries, ORM güvenlik ayarları, access logging ve audit trails.
  • CI/CD: SAST/DAST, dependency scanning (SBOM), signed artifacts, immutable builds ve secrets scanning.

3.3 Kimlik ve erişim yönetimi

Authentication (kimlik doğrulama) ve authorization (yetkilendirme) web güvenliğinde merkezî konulardır. MFA'nin zorunlu hale getirilmesi, session yönetimi (short‑lived tokens, refresh token best practices), token revocation ve secure token storage kritik kontrollerdir. RBAC/ABAC politikaları ile yetkiler en az ayrıcalık prensibine göre tanımlanmalıdır.

4. GERÇEK DÜNYA KULLANIMLARI

4.1 E‑ticaret platformları

Ödeme akışları PCI scope içinde olduğundan hassasiyet gerektirir. Tokenization, PCI compliant payment gateways, HSM tabanlı key management ve strict logging gereklidir. Ödeme işlemlerindeki idempotency, replay attack önlemleri ve fraud detection sistemleri hem güvenlik hem de iş sürekliliği için kritik önemdedir.

4.2 SaaS uygulamaları

Multi‑tenant SaaS çözümlerinde tenant isolation (veri ve kaynak izolasyonu), per‑tenant logging, müşteri bazında encryption keys ve tenant aware RBAC tasarımları gereklidir. Yanlış tenant ayarları veri sızıntılarına yol açabilir.

4.3 Finans ve bankacılık

Transaction integrity, reconciliation, cryptographic non‑repudiation ve strict change control gibi kontroller bankacılık uygulamalarında merkezi rol oynar. Yüksek güvenlik seviyesinde altyapı ve on‑premise/isolated cloud çözümleri tercih edilebilir.

4.4 Teknoloji şirketleri ve platform sağlayıcıları

Büyük teknoloji şirketleri (AWS, Google Cloud, Microsoft) shared responsibility modelini uygular; altyapı güvenliğini sağlayan sağlayıcı, uygulama güvenliğini sağlayacak müşteriyi bekler. Platform sağlayıcıların sunduğu secure defaults, managed WAF, secrets manager ve audit logging hizmetleri uygulama güvenliğini kolaylaştırır.

5. AVANTAJLAR VE SINIRLAMALAR

Avantajlar

  • Güvenli uygulama tasarımı, ihlal riskini ve maliyetini azaltır.
  • Uyumluluk ve denetim süreçlerini kolaylaştırır; kanıt sağlayan log ve ADR'ler hazır olur.
  • Geliştirici kültüründe "security by default" benimsenirse uzun vadede teknik borç azalır.

Sınırlamalar

  • Güvenlik tam anlamıyla garanti edilemez; risk yönetimi yaklaşımı gereklidir.
  • Uygulama performansı ile güvenlik kontrolleri arasında trade‑off'lar olabilir.
  • Organizasyonel olgunluk ve eğitim olmadan teknolojik çözümler yetersiz kalır.

6. ALTERNATİFLER VE KARŞILAŞTIRMA

YaklaşımAvantajDezavantaj
Shift‑left (secure by design)Erken tespit, düşük maliyetEğitim ve süreç değişimi gerektirir
Shift‑right (runtime protection)Runtime saldırıları yakalama, hızlı müdahaleReaktif olabilir; log ve telemetry bağımlılığı var
Hybrid (DevSecOps)En iyi uygulamaların kombinasyonuYönetim karmaşıklığı ve araç entegrasyonu
Managed security servicesUzman operasyon ve 24/7 izlemeGizlilik ve maliyet endişeleri

7. EN İYİ PRATİKLER

Production kullanımı

  • OWASP Top 10'u takip edin ve CI/CD içinde otomatik kontroller uygulayın (SAST, DAST, dependency scanning).
  • Secrets management ve environment segregation — secrets'ları koddan ayırın, KMS/HSM kullanın ve rotate politikaları uygulayın.
  • Least privilege ve role separation — hem kullanıcı hem de servis hesapları için en az ayrıcalık prensibini uygulayın.

Performans ve operasyon

  • Rate limiting, caching stratejileri ve WAF ile DoS/abuse risklerini azaltın.
  • Centralized logging ve distributed tracing ile olay tespiti ve RCA süreçlerini kısaltın.
  • Blue/Green ve Canary deploy stratejileri ile güvenli release süreçleri oluşturun.

Güvenlik

  • Regular pentest ve red team tatbikatları düzenleyin; bulguları ADR ve remediation ticket'larına bağlayın.
  • Dependency management: SBOM, CVE taramaları ve hızlı patch süreçleri kurun.
  • Privacy by design: veri minimizasyonu, retention politikaları ve field‑level encryption uygulayın.

8. SIK YAPILAN HATALAR

  • Güvenliği sadece test aşamasında düşünmek—shift‑left prensibini ihmal etmek sık görülen hatadır.
  • Default yapılandırmalarla üretime geçmek—secure defaults kullanılmalıdır.
  • Secrets'ları kodda tutmak veya geniş scope'lu IAM izinleri vermek.
  • Observability eksikliği: logların yetersiz veya yanlış yapılandırılmış olması olay çözümünü geciktirir.

9. GELECEK TRENDLER

AI ve otomatik güvenlik analizleri

AI modelleri kod, config ve telemetri analizinde yardımcı olacak; otomatik zafiyet tespiti, prioritization ve remediation önerileri sağlayacak. Ancak insan doğrulaması ve explainability kritik kalacak.

Runtime application protection ve RASP

Runtime Application Self‑Protection (RASP) ve daha gelişmiş WAF'lar uygulama içi koruma sağlayarak exploit'leri anında tespit edip engelleyebilecek. Bu, özellikle legacy uygulamalarda faydalı bir katman olacaktır.

Supply chain güvenliği ve SBOM

SBOM ve artifact signing standartları, tedarik zinciri saldırılarına karşı ilk savunmalardır; önümüzdeki yıllarda regulasyonlarda daha fazla yer alacak.

EK BÖLÜMLER

Sık Sorulan Sorular (FAQ)

  1. 1. Web uygulama güvenliğine nereden başlamalıyım?

    OWASP Top 10'i öğrenin, uygulamanız için DFD çıkarın, CI/CD pipeline'ınıza SAST/DAST ve dependency scanning ekleyin ve kritik bulgular için remediation SLA'ları belirleyin.

  2. 2. SAST mi yoksa DAST mı önce?

    Her ikisi de gereklidir; SAST kod seviyesinde sorunları erken yakalar, DAST runtime'ı test eder. Mümkünse paralel olarak entegre edin.

  3. 3. Secrets yönetimi için en iyi pratik nedir?

    Secrets'ları koddan ayırın, KMS/HSM kullanın, otomatik rotation ve audit log'ları sağlayın; pipeline ve runtime arasında farklı erişim modelleri uygulayın.

  4. 4. Nasıl güvenli token yönetimi yapılır?

    Short‑lived access tokens, refresh token policy, secure storage (HttpOnly cookies), token revocation ve audience validation uygulayın.

  5. 5. SPA'larda XSS'e karşı en etkili önlem nedir?

    CSP uygulamak, framework'ün güvenli template motorlarını kullanmak, input/output encoding ve HttpOnly cookie'ler XSS riskini önemli ölçüde düşürür.

  6. 6. Hangi metrikleri izlemeliyim?

    Failed auth attempts, anomalous request patterns, exposed endpoint count, time to remediate critical CVEs, number of secrets in code ve audit log availability gibi metrikler izlenmelidir.

  7. 7. Serverless güvenliği nasıl yönetilir?

    Minimal permissions, function-level IAM roles, cold start ve resource limits göz önünde bulundurarak RASP/waf entegrasyonları ile birlikte deploy edin.

  8. 8. Web uygulama güvenliği için hangi sertifikalar faydalıdır?

    CISSP, OSCP, CEH gibi sertifikalar bilgi seviyesini artırır; ancak uygulamalı deneyim ve code‑level güvenlik pratikleri daha kritiktir.

Anahtar Kavramlar

  • OWASP Top 10: Web uygulamaları için en kritik güvenlik riskleri listesi.
  • SBOM: Software Bill of Materials — bağımlılık görünürlüğü sağlar.
  • SAST/DAST: Statik/Dinamik uygulama güvenlik testleri.
  • RASP: Runtime Application Self‑Protection — uygulama içi koruma.
  • CSP: Content Security Policy — XSS'i azaltmaya yardımcı olur.

Öğrenme Yol Haritası

  1. 0–1 ay: Web protokolleri (HTTP, TLS), authentication/authorization temel kavramları ve OWASP Top 10 öğrenin.
  2. 1–3 ay: SAST/DAST tooling, secure coding pratikleri, dependency scanning ve SBOM oluşturma üzerinde çalışın.
  3. 3–6 ay: CI/CD güvenliği, container image hardening, secrets management ve cloud IAM best practices uygulayın.
  4. 6–12 ay: Red team/blue team tatbikatları, runtime protection (RASP), observability ile güvenlik telemetri analizi ve incident response süreçlerinde deneyim kazanın.