OWASP Top 10: KOBİ Web Uygulamalarında Pratik Karşılıklar

Özet: OWASP Top 10 web uygulama güvenlik riskleri, KOBİ ölçeğinde pratik karşılıklar, korunma stratejileri ve kontrol listesi.
Özet: OWASP Top 10, web uygulamalarında en yaygın 10 kritik güvenlik riskini sıralayan dünyaca kabul gören rehberdir. KOBİ web siteleri ve uygulamaları (kurum sitesi, müşteri portalı, sipariş sistemi) bu riskler tarafından sıklıkla etkilenir. Doğru kurulmuş bir savunma — güvenli kodlama, doğru framework kullanımı, WAF, düzenli zafiyet taraması — bu 10 kategorinin tamamını yönetilebilir seviyeye indirir. Bu yazıda her bir riskin KOBİ açısından somut karşılığını ve uygulanabilir önlem listesini ele alıyoruz.
KOBİ'nin müşteri portalına saldırgan SQL injection ile girer; binlerce müşteri verisi sızar; KVKK ihlal bildirimi yasal zorunluluk olur. Bu senaryo OWASP Top 10'un en üst sırasındaki kategorilerden birinin sonucudur. Modern framework'ler ve doğru pratik bu saldırıları neredeyse imkânsız kılarken, "hızlı yapılan" web uygulamaları hâlâ aynı klasik hataları içerebilir.
Bu yazıda OWASP Top 10 (2021 sürümü) listesini KOBİ ölçeğinde pratik karşılıklarıyla, somut örnek ve çözümlerle ele alıyoruz. Hedef kitlemiz IT yöneticileri, web sitesi sahibi KOBİ patronları ve geliştirme ekiplerine güvenlik standardı koymak isteyenler.
OWASP Top 10 Nedir, Niye Önemli?
OWASP (Open Web Application Security Project), 2003'ten beri web uygulama güvenliği üzerine bağımsız bir referans sağlayan açık kaynak topluluğudur. "Top 10" listesi 3-4 yılda bir güncellenir, dünyadaki gerçek saldırı verilerine dayanır.
Niye KOBİ İçin Geçerli?
- Saldırgan KOBİ ile büyük şirketi ayırmaz; otomatik tarama her ikisini de bulur
- Müşteri verisi taşıyan KOBİ portalı, milyon TL'lik KVKK cezasına aday
- "Sadece kurum sitesi" sandığınız WordPress, kuruma sızma vektörü olabilir
- Sürekli güncellenen bir referans olduğu için bilinen saldırı türlerine karşı en pratik kontrol listesi
KOBİ Açısından Genel Strateji
- Kendi geliştirdiğiniz uygulamada: framework + güvenli kodlama
- Kullandığınız hazır uygulamada (WordPress, Drupal, Magento): güncel tut, güvenlik eklentisi, WAF
- Üçüncü parti SaaS'ta: sağlayıcı uyum sertifikaları, KVKK veri işleyen sözleşmesi
A01 — Broken Access Control (Bozuk Erişim Kontrolü)
Listede 1. sırada — en yaygın ve en ciddi.
KOBİ Senaryosu
Kullanıcı portalında URL: firma.com.tr/account/orders?user_id=123. Kullanıcı user_id=124 yazdığında başkasının siparişlerini görür. Yetkilendirme kontrolü URL parametresine güveniyor.
Pratik Önlemler
- Her API/sayfa isteğinde server-side yetki kontrolü
- Kullanıcının kendi kaynağına erişip erişmediği DB sorgusunda doğrulanır
- "Hidden" form alanlarına asla güvenme
- IDOR (Insecure Direct Object Reference) için UUID kullan, sıralı ID'den kaçın
- Admin paneli /admin yolunda değil, IP whitelist + güçlü auth ile
A02 — Cryptographic Failures (Kriptografik Hatalar)
Hassas veri açık veya zayıf şifreleme ile saklanması/iletilmesi.
KOBİ Senaryosu
Müşteri portalı parolaları MD5 ile hash'lenmiş. Veritabanı ele geçtiğinde milyonlarca parolanın birkaç saatte kırılır.
Pratik Önlemler
- Parolalar bcrypt, Argon2, scrypt ile hash (asla MD5/SHA1)
- Hassas veri (TC, kart) AES-256 ile şifreli saklanır
- Tüm trafik HTTPS/TLS 1.2+ üzerinden — HTTP'ye düşüş yok
- Eski TLS sürümleri kapalı (TLS 1.0/1.1)
- HSTS header aktif
- Şifreleme anahtarları kod içinde değil, secret manager'da
A03 — Injection
SQL, NoSQL, LDAP, OS Command, XSS gibi enjeksiyon saldırıları.
KOBİ Senaryosu
Müşteri arama formunda: ' OR 1=1 --. Sorgu doğrudan SQL'e geçirildiği için tüm müşteri tablosu döner.
Pratik Önlemler
- Parameterized queries / prepared statements zorunlu
- ORM (Sequelize, Hibernate, SQLAlchemy) doğru kullanımı
- Input validation — beklenen tipte mi?
- Output encoding — XSS önlemi (HTML, JS, URL encoding)
- Stored procedure ile bile parametreleştir
- Whitelist tabanlı validation tercih edilir
A04 — Insecure Design (Güvensiz Tasarım)
Kod hatası değil, mimari/tasarım eksikliği.
KOBİ Senaryosu
Şifre sıfırlama akışında "kullanıcı adı + doğum tarihi" yeterli. Sosyal mühendislikle ele geçirilebilir bilgi.
Pratik Önlemler
- Tehdit modelleme — tasarım aşamasında saldırgan perspektifi
- Rate limiting (özellikle login, şifre sıfırlama)
- Güvenli varsayılan değerler
- Çok faktörlü doğrulama hassas işlemlerde
- "Magic link" + e-posta + zaman damgalı
A05 — Security Misconfiguration (Güvenlik Yanlış Yapılandırması)
Default yapılandırma, gereksiz açık portlar, hata sayfasında stack trace.
KOBİ Senaryosu
Ürün sayfasında bir hata oluştu, sayfa "MySQL Error: SELECT * FROM users WHERE id=NULL — line 47" gibi tam stack trace gösteriyor. DB yapısını saldırgana hediye ettiniz.
Pratik Önlemler
- Production'da debug mode kapalı
- Default parolaları değiştir (admin:admin yok)
- Gereksiz HTTP method kapalı (TRACE, OPTIONS)
- Server header gizli (Apache/2.4 versiyonu görünmesin)
- Hata sayfaları kullanıcı dostu, stack trace yok
- robots.txt admin paneli ifşa etmiyor
- Düzenli yapılandırma denetimi (CIS Benchmarks)
A06 — Vulnerable and Outdated Components (Zafiyetli Bileşenler)
Eski kütüphane, eski WordPress eklentisi, yamalanmamış server.
KOBİ Senaryosu
WordPress sitesi 6 ay önce güncellenmedi. Eklenti listesinde "Contact Form 7" 2 yıl güncellenmedi. CVE-2024-XXXX zafiyeti bu sürümde aktif. Otomatik tarama kuruma sızıyor.
Pratik Önlemler
- Düzenli yama yönetimi (WordPress, eklentiler, kütüphaneler)
- npm audit, pip audit, composer audit
- Snyk, Dependabot, Renovate gibi otomatik tarama
- Kullanılmayan kütüphaneleri kaldır
- Eski sürüm desteği biten ürünlerden kaçın
A07 — Identification and Authentication Failures (Kimlik/Doğrulama Hataları)
Zayıf parola politikası, brute force korumasız login, oturum yönetimi sorunları.
KOBİ Senaryosu
Müşteri portalında 6 karakter parola yeterli. Brute force koruması yok. Saldırgan otomatik araçla hızla giriş yapıyor.
Pratik Önlemler
- Minimum 12 karakter parola, NIST 800-63B yönergeleri
- Bilinen sızdırılmış parolaları reddet (HaveIBeenPwned API)
- MFA (en azından opsiyonel sun)
- Brute force koruma (rate limit, CAPTCHA, hesap kilitleme)
- Oturum tokenları güvenli (HttpOnly, Secure, SameSite)
- Logout sonrası token gerçekten geçersiz
- Şifre sıfırlama tokenları kısa süreli, tek kullanımlık
A08 — Software and Data Integrity Failures (Bütünlük Hataları)
Yazılım/veri bütünlüğü doğrulanmadan kullanılması.
KOBİ Senaryosu
CI/CD pipeline imzasız paketleri otomatik dağıtıyor. Geliştirici cihazı ele geçirildiğinde kötü amaçlı kod sunucuya akıyor.
Pratik Önlemler
- Yazılım imzalama (GPG, signed commits)
- Pakete imza doğrulama (npm registry, Maven Central)
- CI/CD pipeline güvenliği — supply chain saldırı bilinci
- SBOM (Software Bill of Materials) tutma
- Subresource Integrity (SRI) — CDN'den çekilen JS/CSS
A09 — Security Logging and Monitoring Failures (Loglama ve İzleme Eksiklikleri)
Olay olduğunda log yok, alarm yok, fark edilmiyor.
KOBİ Senaryosu
Saldırgan portala 1000 başarısız login denemesi yaptı. Log yok. Anomali tespiti yok. Saldırganın 1001'inci denemesi başarılı oldu, kimse fark etmedi.
Pratik Önlemler
- Login (başarılı/başarısız), yetki ihlali, kritik işlemler logged
- Log merkezi sunucuya gönderiliyor (SIEM veya bulut log)
- Anomali tespiti kuralları (örnek: 1 dakikada 100 başarısız login)
- Loglarda hassas veri yok (parola, kart no)
- Log retention KVKK ile uyumlu
- Düzenli log gözden geçirme
A10 — Server-Side Request Forgery (SSRF)
Sunucuyu, sunucunun gitmemesi gereken yere yönlendirme.
KOBİ Senaryosu
Kullanıcı bir URL veriyor (resim yükle özelliği), sunucu o URL'i indiriyor. Kullanıcı http://169.254.169.254/latest/meta-data/ veriyor — bulut metadata servisini ele geçiriyor.
Pratik Önlemler
- Kullanıcının verdiği URL'i validate et
- Internal IP aralıklarına (10.x, 172.16-31.x, 192.168.x, 169.254.x) erişim kapalı
- Whitelist (sadece belirli domain) tercih edilir
- DNS rebinding'e karşı koruma
- Bulut metadata IMDSv2 (token gerekli)
KOBİ İçin Pratik Kontrol Listesi
Tüm OWASP Top 10 için tek liste:
| Kontrol | Durum |
|---|---|
| Tüm trafik HTTPS, TLS 1.2+ | □ |
| Parolalar bcrypt/Argon2 ile hash | □ |
| MFA opsiyonu sunuluyor | □ |
| Login rate limit + CAPTCHA | □ |
| Server-side authorization | □ |
| Parameterized queries / ORM doğru kullanımı | □ |
| Output encoding (XSS) | □ |
| WAF aktif (Cloudflare, vb.) | □ |
| Düzenli zafiyet taraması | □ |
| WordPress/eklenti otomatik güncelleme | □ |
| Hata sayfaları stack trace gizliyor | □ |
| Default parolalar değişmiş | □ |
| Kütüphane bağımlılık taraması (Dependabot) | □ |
| Login + kritik işlem loglanıyor | □ |
| KVKK aydınlatma metni var | □ |
WAF — Web Application Firewall
WAF, web uygulamasının önünde duran ve OWASP Top 10 saldırılarının çoğunu engelleyen savunma katmanıdır.
KOBİ İçin Yaygın WAF Çözümleri
- Cloudflare WAF — En kolay, ücretsiz tier var, Pro 20 USD/ay
- AWS WAF — Bulut tabanlı, AWS ekosisteminde
- Sucuri — WordPress odaklı
- Imperva — Enterprise
- ModSecurity (Apache/Nginx) — Açık kaynak, OWASP CRS
KOBİ için Cloudflare WAF + DDoS koruma çoğu zaman yeterli ve makul fiyatlı.
Düzenli Zafiyet Taraması
Web uygulamasını saldırgan gözüyle düzenli tarama:
| Araç | Tip | Notlar |
|---|---|---|
| OWASP ZAP | Açık kaynak | DAST, manuel + otomatik |
| Burp Suite | Profesyonel | Pentester favorisi |
| Nessus | Genel zafiyet tarayıcı | Kapsamlı |
| Nikto | Web odaklı | Hızlı temel tarama |
| Acunetix | Ticari | Kullanıcı dostu, raporlama |
| Detectify | SaaS | Aylık otomatik |
| Snyk Code | Kod analizi (SAST) | Geliştirme zinciri |
Yıllık pentesti olmayan KOBİ'de en azından çeyrek dönem otomatik tarama yapılmalı.
Yamanlar Bilişim Olarak Sunduğumuz Hizmetler
KOBİ ölçeğinde web güvenlik destek alanlarımız:
- Mevcut web uygulaması OWASP Top 10 denetimi
- WAF (Cloudflare, AWS) kurulum
- WordPress/Drupal/Magento sertleştirme
- Düzenli otomatik zafiyet taraması (ZAP, Nikto)
- Yıllık penetrasyon testi
- Geliştirici ekibe güvenli kodlama eğitimi
- Bağımlılık tarama otomasyonu (Dependabot, Snyk)
- Güvenlik logging + SIEM entegrasyonu
Sıkça Sorulan Sorular
Sonuç
OWASP Top 10, web uygulama güvenliğinin ortak dilidir. KOBİ ölçeğinde her riskin somut karşılığı vardır ve modern framework, doğru pratik, WAF ve düzenli tarama kombinasyonu ile bu riskler yönetilebilir hale gelir. "Kendi yazılımı yok, sadece WordPress var" bahanesi savunmasızlığı meşrulaştırmaz — WordPress de aynı listenin tamamına maruz kalır.
Yamanlar Bilişim olarak ölçeğinize ve geliştirme modelinize göre OWASP Top 10 denetimi, sertleştirme ve sürekli izleme hizmetleri sunuyor; web uygulamanızı, müşteri verisini ve KVKK yükümlülüğünüzü tasarımla koruyoruz.
Sıkça Sorulan Sorular
WordPress siteme OWASP Top 10 nasıl uygulanır?
WordPress kendi başına Top 10 risklerinin önemli bir kısmını adresliyor — ama sertleştirme şart. Önemli adımlar: (1) WordPress + tüm eklentiler güncel, (2) güvenlik eklentisi (Wordfence, Sucuri Security), (3) güçlü admin parolası + MFA, (4) /wp-admin e IP whitelist veya 2FA, (5) kullanılmayan eklentiler silinmiş, (6) WAF (Cloudflare). Bu 6 adım çoğu otomatik saldırıyı önler.
Cloudflare ücretsiz WAF KOBİ için yeterli mi?
Çoğu küçük KOBİ için evet . Ücretsiz tier basic OWASP CRS koruması ve DDoS savunması sağlar. Ücretli Pro tier (~20 USD/ay) gelişmiş kurallar, daha hızlı CDN, sağlık görüntüleme ekler. Müşteri portalı veya yüksek değerli e-ticaret varsa Pro/Business tier mantıklı.
WordPress yerine kendi yazılımım var, OWASP nasıl kontrol ederim?
Geliştirme sırasında: framework ün güvenlik özelliklerini kullan (Django, Laravel, Express+Helmet, Spring Security), güvenli kodlama eğitimi al (OWASP Cheat Sheet Series), her PR için kod gözden geçirme (security review). Production öncesi: SAST araçları (SonarQube, Snyk), DAST (ZAP), bağımlılık tarama. Yıllık dış pentest.
KOBİ olarak yıllık pentest yaptırmak şart mı?
Yasal zorunluluk değil; ama çoğu siber sigorta poliçesi ve KVKK denetimi sırasında yeterli teknik tedbir kanıtı olarak istenir. Müşteri verisi işliyorsanız yıllık veya iki yılda bir pentest mantıklı. KOBİ için fiyat 30.000-150.000 TL aralığında — bütçe dahilinde değilse otomatik tarama + kod gözden geçirme + yıllık focus session ile başlayın.
Eski PHP uygulamamızı nasıl modernleştiririm?
Adım adım: (1) PHP sürümü güncel mi? (8.x), (2) framework kullanılıyor mu? (Yoksa Symfony/Laravel e geçiş düşün), (3) DB sorgusu PDO prepared statement mı? (eski mysql_* fonksiyonları yasak), (4) SQL injection ve XSS denetimi yapıldı mı?, (5) tüm veriler validate ediliyor mu?, (6) HTTPS zorlanıyor mu? Bu adımlar adım adım yapılarak modernizasyon çoğu legacy uygulamada birkaç ayda tamamlanır.
KVKK ile OWASP Top 10 nasıl ilişkili?
KVKK 12. madde yeterli teknik tedbir zorunluluğu getirir; OWASP Top 10 bu tedbirlerin teknik içeriğidir. Veri ihlali olduğunda Kurum sizden teknik tedbirleri sorar — A02 Cryptographic Failures, A03 Injection, A05 Misconfiguration en sık denetlenen kategoriler. OWASP Top 10 listesini KVKK uyum dokümantasyonuna entegre etmek pratik bir yaklaşımdır.
Yazar
Serdar
Yamanlar Bilişim Uzmanı
Yamanlar Bilişim bünyesinde IT altyapısı, siber güvenlik ve dijital dönüşüm konularında içerikler üretmektedir. Sorularınız için iletişime geçebilirsiniz.
Profesyonel Destek
Bu konuda destek alın
Siber Güvenlik alanında ihtiyaç duyduğunuz çözümü birlikte tasarlayalım. Uzman ekibimiz 1 iş günü içinde size geri döner.
support@yamanlarbilisim.com.tr · Yanıt süresi: 1 iş günü
Devamını Oku
İlgili Makaleler

Insider Threat: KOBİ'lerde İçeriden Tehdit Tespiti
İçeriden tehdit (insider threat) nedir, KOBİ'lerde tespit yöntemleri, ayrılan çalışan, ihmal ve kasıtlı kötü niyet senaryoları.

NDR (Network Detection & Response) KOBİ'ye Gerekir mi?
Network Detection & Response (NDR) nedir, EDR ve SIEM'den farkı, KOBİ ölçeğinde gerekli olup olmadığı ve uygun çözümlerin değerlendirilmesi.

Web Filtreleme ve URL Kontrolü: KOBİ Ofisi İçin Politika
KOBİ ofisinde web filtreleme politikası tasarımı, URL kategori yönetimi, çalışan üretkenliği ile güvenlik dengesi ve KVKK uyumu.