CB DIGITAL
Tüm Makalelere Dön
Siber Güvenlik
3 Mart 2026
6 dakika okuma süresi

OWASP Top 10: Web Uygulama Güvenlik Açıkları ve Çözümleri

Cengiz Bozdemir
Cengiz BozdemirKurumsal Yazılım Mimarı
OWASP Top 10: Web Uygulama Güvenlik Açıkları ve Çözümleri

OWASP Top 10: Modern Web Uygulama Güvenliğinin Temel Taşı

Günümüz dijital dünyasında, web uygulamaları iş süreçlerinin, finansal işlemlerin ve sosyal etkileşimlerin merkezinde yer almaktadır. Ancak bu dijitalleşme süreci, siber saldırganlar için de geniş bir oyun alanı yaratmıştır. OWASP (Open Web Application Security Project), dünya çapında kabul görmüş, kar amacı gütmeyen bir kuruluş olarak web uygulamalarındaki en kritik güvenlik risklerini düzenli olarak listelemektedir. OWASP Top 10 listesi, sadece yazılım geliştiriciler için değil, aynı zamanda siber güvenlik uzmanları, sistem yöneticileri ve teknoloji liderleri için de bir rehber niteliği taşır. Bu makalede, OWASP'ın en güncel listesindeki on kritik güvenlik açığını, teknik derinliğiyle ve çözüm önerileriyle birlikte detaylandıracağız.

A01:2021 - Erişim Kontrolü Hataları (Broken Access Control)

Erişim kontrolü, kullanıcıların yetkileri dahilinde olmayan verilere veya işlevlere erişmesini engelleyen mekanizmadır. Broken Access Control, 2021 listesinde ilk sıraya yükselerek web uygulamalarındaki en yaygın ve tehlikeli zafiyet haline gelmiştir. Bu açık, bir saldırganın diğer kullanıcıların hesaplarına erişmesine, hassas dosyaları görüntülemesine veya yetkisiz olarak veri üzerinde değişiklik yapmasına (yönetici yetkileri kazanma gibi) olanak tanır.

Bu tür zafiyetlerin önlenmesi için Least Privilege (En Az Yetki) prensibi benimsenmelidir. Uygulama genelinde varsayılan olarak tüm erişimler reddedilmeli, sadece gerekli olan haklar tanımlanmalıdır. Ayrıca, IDOR (Insecure Direct Object References) açıklarını önlemek için kullanıcıdan gelen veri girişleri sunucu tarafında doğrulanmalı ve doğrudan veritabanı anahtarları yerine rastgele oluşturulmuş belirteçler (tokens) kullanılmalıdır.

A02:2021 - Kriptografik Hatalar (Cryptographic Failures)

Eski listede "Hassas Veriye Maruz Kalma" olarak bilinen bu kategori, verinin korunmasındaki temel mekanizma olan kriptografiye odaklanmaktadır. Cryptographic Failures, verilerin (şifreler, kredi kartı bilgileri, kişisel veriler) iletim sırasında veya depolanırken yeterince güçlü şifrelenmemesi durumunda ortaya çıkar. Zayıf algoritmaların kullanımı veya şifreleme anahtarlarının kötü yönetimi bu riskin ana nedenleridir.

  • TLS (Transport Layer Security) protokolünün güncel sürümleri kullanılmalıdır.
  • Şifreleme işlemleri için AES-256 gibi modern standartlar tercih edilmelidir.
  • Şifreler asla düz metin olarak saklanmamalı; Argon2, scrypt veya bcrypt gibi güçlü tuzlama (salting) ve özetleme (hashing) algoritmaları kullanılmalıdır.
  • Veri sınıflandırması yapılmalı ve hangi verilerin şifrelenmesi gerektiği net bir şekilde belirlenmelidir.

A03:2021 - Enjeksiyon (Injection)

Enjeksiyon saldırıları, özellikle SQL Injection, NoSQL Injection, OS Command Injection ve LDAP Injection gibi türlerle bilinir. Bir uygulama, kullanıcıdan aldığı güvenilmeyen veriyi bir komut veya sorgunun parçası olarak doğrudan kullandığında bu açık meydana gelir. Saldırgan, özel karakterler kullanarak sorgunun mantığını değiştirebilir ve veritabanından yetkisiz veri çekebilir.

Enjeksiyonu önlemenin en etkili yolu Parameterized Queries (Parametreli Sorgular) veya Prepared Statements kullanmaktır. Bu yöntem, kullanıcı girdisini komutun bir parçası olarak değil, sadece bir veri öğesi olarak işler. Ayrıca, girdi doğrulama (input validation) ve "allow-list" (izin verilenler listesi) tabanlı filtreleme mekanizmaları uygulanmalıdır.

A04:2021 - Güvensiz Tasarım (Insecure Design)

Bu kategori, uygulama geliştirme sürecindeki tasarım hatalarına odaklanır. Yazılımın kodlanmasından önce, mimari aşamasında yapılan hatalar genellikle kod düzeltmeleriyle giderilemez. Insecure Design, güvenlik gereksinimlerinin tasarım aşamasında göz ardı edilmesini ifade eder. Örneğin, bir e-ticaret sitesinde stok kontrolünün sadece istemci tarafında (JavaScript ile) yapılması bir tasarım hatasıdır.

Çözüm için Shift-Left Security yaklaşımı benimsenmeli ve güvenlik, yazılım yaşam döngüsünün (SDLC) her aşamasına entegre edilmelidir. Threat Modeling (Tehdit Modelleme) teknikleri kullanılarak olası saldırı senaryoları tasarım aşamasında belirlenmeli ve gerekli önlemler mimari düzeyde alınmalıdır.

A05:2021 - Güvenlik Yapılandırma Hataları (Security Misconfiguration)

Güvenlik yapılandırma hataları, uygulamaların, sunucuların veya bulut ortamlarının varsayılan ayarlarla bırakılması veya yanlış yapılandırılması sonucunda oluşur. Gereksiz özelliklerin açık bırakılması, varsayılan şifrelerin değiştirilmemesi ve ayrıntılı hata mesajlarının kullanıcıya gösterilmesi bu kategoride yer alır.

Önlemek için tüm ortamlar (geliştirme, test, canlı) için otomatik yapılandırma süreçleri ve sertleştirme (hardening) rehberleri kullanılmalıdır. Infrastructure as Code (IaC) kullanımı, yapılandırma hatalarını minimize eder. Ayrıca, gereksiz servisler kapatılmalı ve hata mesajları saldırganlara sistem hakkında bilgi vermeyecek şekilde genel ifadelerle yapılandırılmalıdır.

A06:2021 - Savunmasız ve Güncelliğini Yitirmiş Bileşenler (Vulnerable and Outdated Components)

Modern web uygulamaları çok sayıda kütüphane, framework ve modül kullanır. Eğer bu bileşenlerin bilinen güvenlik açıkları varsa ve güncellenmemişlerse, tüm uygulama risk altına girer. Bu durum, özellikle Open Source kütüphanelerin yoğun kullanıldığı projelerde kritik bir öneme sahiptir.

Bu riski yönetmek için bir Software Bill of Materials (SBOM) oluşturulmalı ve kullanılan tüm bileşenlerin envanteri tutulmalıdır. OWASP Dependency-Check gibi araçlarla bileşenlerdeki bilinen zafiyetler (CVE) düzenli olarak taranmalı ve yamalar (patch) geciktirilmeden uygulanmalıdır.

A07:2021 - Tanımlama ve Kimlik Doğrulama Hataları (Identification and Authentication Failures)

Kullanıcı kimliğinin doğru bir şekilde doğrulanamaması, saldırganların oturum çalmasına veya kaba kuvvet (brute force) saldırılarıyla hesaplara erişmesine neden olur. Zayıf şifre politikaları ve güvenli olmayan oturum yönetimi (session management) bu zafiyetin temelini oluşturur.

Multi-Factor Authentication (MFA) kullanımı, bu tür saldırılara karşı en güçlü savunma mekanizmasıdır. Ayrıca, oturum kimlikleri (session IDs) karmaşık ve tahmin edilemez olmalı, oturum süresi dolduğunda (timeout) geçersiz kılınmalıdır. Şifre deneme sınırları (rate limiting) uygulanarak kaba kuvvet saldırıları engellenmelidir.

A08:2021 - Yazılım ve Veri Bütünlüğü Hataları (Software and Data Integrity Failures)

Bu kategori, kodun veya verilerin doğrulanmadan güvenilmesiyle ilgilidir. Örneğin, bir uygulama otomatik güncelleme yaparken güncelleme paketinin imzasını kontrol etmiyorsa, saldırgan zararlı bir kodu sisteme enjekte edebilir. Ayrıca, Insecure Deserialization (Güvensiz Serileştirme) hataları da bu sınıfa girer.

Güvenli bir CI/CD (Continuous Integration/Continuous Deployment) hattı oluşturulmalı ve tüm kod değişiklikleri dijital olarak imzalanmalıdır. Veri transferlerinde bütünlük kontrolü (checksum) yapılmalı ve güvenilmeyen kaynaklardan gelen serileştirilmiş veriler asla doğrudan işlenmemelidir.

A09:2021 - Güvenlik Günlüğü ve İzleme Hataları (Security Logging and Monitoring Failures)

Bir saldırının gerçekleştiğini fark etmemek, saldırganın sistemde daha uzun süre kalmasına ve daha fazla zarar vermesine yol açar. Birçok veri sızıntısı vakasında, saldırganların aylarca sistemde kaldığı ancak günlükleme (logging) eksikliği nedeniyle fark edilmediği görülmüştür.

Tüm kritik işlemler (giriş denemeleri, yetki değişiklikleri, hata durumları) detaylı bir şekilde günlüklenmelidir. Günlük verileri merkezi bir SIEM (Security Information and Event Management) sistemine aktarılmalı ve şüpheli aktiviteler için gerçek zamanlı uyarı mekanizmaları kurulmalıdır. Bu sayede, olası bir ihlal durumunda hızlı müdahale (incident response) şansı doğar.

A10:2021 - Sunucu Tarafı İstek Sahteciliği (Server-Side Request Forgery - SSRF)

SSRF, bir saldırganın web uygulamasını kullanarak sunucu adına başka bir adrese (genellikle iç ağdaki servisler veya bulut metadata servisleri) istek göndermesini sağlamasıdır. Bu açık, özellikle bulut mimarilerinde (AWS, Azure, Google Cloud) kritik verilerin sızdırılmasına yol açabilir.

SSRF'yi önlemek için, kullanıcıdan alınan URL girişleri sıkı bir şekilde doğrulanmalı ve mümkünse sadece izin verilen alan adlarına (allow-list) erişim sağlanmalıdır. Sunucu tarafında ağ segmentasyonu yapılmalı ve uygulamanın iç ağdaki kritik servislere doğrudan erişimi kısıtlanmalıdır.

Sonuç ve Güvenlik Stratejisi

OWASP Top 10, bir güvenlik kontrol listesinden daha fazlasıdır; siber güvenlik kültürünün bir parçasıdır. Web uygulamalarını bu risklere karşı korumak, sadece yazılım geliştirme aşamasında değil, operasyonel süreçlerde de süreklilik gerektirir. Savunma Derinliği (Defense in Depth) stratejisiyle, her bir katmanda güvenlik önlemleri alarak risk minimize edilmelidir. Unutulmamalıdır ki siber güvenlik bir varış noktası değil, sürekli devam eden bir yolculuktur. Teknolojinin gelişmesiyle birlikte yeni tehditler ortaya çıkacak ve bu rehberler güncellenmeye devam edecektir. Bu nedenle, ekiplerin düzenli eğitimler alması, otomatize güvenlik testlerini benimsemesi ve topluluk standartlarını takip etmesi hayati önem taşımaktadır.

#siber güvenlik#owasp#yazılım güvenliği#web geliştirme#bilgi güvenliği
Cengiz Bozdemir

Cengiz Bozdemir

Kurumsal Yazılım Mimarı & Full-Stack Geliştirici

İşletmeniz veya girişiminiz için yüksek performanslı sistemler, özel yazılımlar ve yapay zeka otomasyonları inşa ediyorum.

KURUMSAL YAZILIM MİMARİSİ18+ YILLIK TECRÜBEPHP 8.3 & LARAVELFLUTTER & MOBİL ÇÖZÜMLERNEXT.JS & REACT UYGULAMALARIYAPAY ZEKA & OTOMASYONE-TİCARET & PAZARYERİ ENTEGRASYONUCENGİZ BOZDEMİRCBDIGITALKURUMSAL YAZILIM MİMARİSİ18+ YILLIK TECRÜBEPHP 8.3 & LARAVELFLUTTER & MOBİL ÇÖZÜMLERNEXT.JS & REACT UYGULAMALARIYAPAY ZEKA & OTOMASYONE-TİCARET & PAZARYERİ ENTEGRASYONUCENGİZ BOZDEMİRCBDIGITALKURUMSAL YAZILIM MİMARİSİ18+ YILLIK TECRÜBEPHP 8.3 & LARAVELFLUTTER & MOBİL ÇÖZÜMLERNEXT.JS & REACT UYGULAMALARIYAPAY ZEKA & OTOMASYONE-TİCARET & PAZARYERİ ENTEGRASYONUCENGİZ BOZDEMİRCBDIGITALKURUMSAL YAZILIM MİMARİSİ18+ YILLIK TECRÜBEPHP 8.3 & LARAVELFLUTTER & MOBİL ÇÖZÜMLERNEXT.JS & REACT UYGULAMALARIYAPAY ZEKA & OTOMASYONE-TİCARET & PAZARYERİ ENTEGRASYONUCENGİZ BOZDEMİRCBDIGITAL
© 2026 CB DIGITAL Tüm hakları saklıdır.