
Web Sitelerini Tehdit Eden En Yaygın Saldırılar (OWASP Top 10)
Kurumsal web sitesi, şirketinizin internete açık vitrinidir ve saldırganlar için de en kolay ulaşılabilen hedeftir. Saldırıların çoğu özel olarak sizi hedef almaz; bilinen açıkları otomatik araçlarla tarayan botlar, güncellenmemiş bir eklenti veya zayıf bir yönetici şifresi bulduğu her siteyi ele geçirmeye çalışır. Ele geçirilen site kötü amaçlı yazılım dağıtmak, oltalama sayfası barındırmak, spam bağlantı yaymak veya ziyaretçi verilerini çalmak için kullanılabilir.
OWASP topluluğu, web uygulamalarındaki en kritik risk kategorilerini OWASP Top 10 adıyla periyodik olarak yayımlar. Listede öne çıkan başlıklar şunlardır:
- Erişim kontrolü zafiyetleri: Kullanıcının yetkisi olmayan verilere veya işlevlere erişebilmesi; örneğin adresteki kayıt numarasını değiştirerek başka bir müşterinin siparişini görmek.
- Enjeksiyon: SQL enjeksiyonu ve siteler arası betik çalıştırma (XSS) gibi, kullanıcı girdisinin kod olarak yorumlanmasına dayanan saldırılar.
- Güvenlik yapılandırma hataları: Varsayılan şifreler, açık bırakılmış yönetim panelleri, dizin listeleme, ayrıntılı hata mesajları.
- Güvensiz tasarım: Güvenlik gereksinimlerinin tasarım aşamasında düşünülmemesi; örneğin parola sıfırlama akışının kötüye kullanılabilecek biçimde kurgulanması.
- Güncel olmayan ve zafiyetli bileşenler: Eski CMS sürümleri, eklentiler, temalar ve kütüphaneler.
- Kimlik doğrulama hataları: Zayıf parola politikası, kaba kuvvet denemelerine karşı koruma olmaması, güvensiz oturum yönetimi.
- Kriptografik hatalar: Hassas verinin şifrelenmeden iletilmesi veya saklanması, parolaların zayıf yöntemlerle tutulması.
- Yazılım ve veri bütünlüğü hataları: Doğrulanmamış güncellemeler ve güvenilmeyen kaynaklardan yüklenen bileşenler.
- Kayıt ve izleme eksiklikleri: Saldırının fark edilmemesine ve sonradan incelenememesine yol açan log eksikliği.
- Sunucu taraflı istek sahteciliği (SSRF): Uygulamanın saldırgan adına iç ağdaki kaynaklara istek göndermeye zorlanması.
Bu liste, hem geliştirme ekibinin önceliklerini belirlemek hem de dış kaynaklı bir yazılım firmasından hangi güvenlik güvencelerini isteyeceğinizi tanımlamak için iyi bir başlangıç noktasıdır.
Temel Önlemler: SSL/TLS, Güncelleme ve Güçlü Yönetici Erişimi
SSL/TLS ve HTTPS
HTTPS artık bir tercih değil, asgari gerekliliktir. Geçerli bir TLS sertifikası ziyaretçi ile sunucu arasındaki trafiği şifreler ve tarayıcıların güvensiz bağlantı uyarısını önler. Sertifikanın yanında eski protokol sürümleri kapatılmalı, HTTP istekleri HTTPS'e yönlendirilmeli, HSTS başlığıyla tarayıcının siteye yalnızca HTTPS üzerinden bağlanması sağlanmalı ve sertifika yenilemesi otomatikleştirilmelidir. Süresi dolan bir sertifika, bir saldırı kadar etkili biçimde siteyi kullanılamaz hale getirir.
Unutulmaması gereken nokta: HTTPS yalnızca iletimi korur. Sitede bir zafiyet varsa saldırgan da şifreli bağlantı üzerinden saldırır.
Güncelleme disiplini
WordPress gibi içerik yönetim sistemlerinde saldırıların önemli bir kısmı güncellenmemiş eklenti ve temalar üzerinden gerçekleşir. Güvenlik güncellemeleri hızla uygulanmalı, geliştiricisi tarafından terk edilmiş eklentiler alternatifleriyle değiştirilmeli, kullanılmayan eklenti ve temalar pasif bırakılmak yerine tamamen silinmelidir. Büyük güncellemeler önce test ortamında denenmeli ve öncesinde mutlaka yedek alınmalıdır. Sunucu işletim sistemi, web sunucusu, PHP veya Node.js sürümü ve veritabanı da aynı disiplinle güncel tutulmalıdır. Sunucuda kullanılmayan servisler ve portlar kapatılmalı, varsayılan ayarlar sıkılaştırılmalı ve yalnızca ihtiyaç duyulan protokollere izin verilmelidir. Küçük güvenlik yamaları için otomatik güncellemeyi açmak, yamanın unutulma riskini azaltır.
Yönetici erişimi
- Her yönetici için kişiye özel hesap kullanın; paylaşılan ortak yönetici hesaplarından kaçının.
- Uzun ve her hesap için benzersiz parolalar belirleyin; parolaları paylaşılan dosyalarda değil, bir parola yöneticisinde saklayın.
- Yönetici hesaplarında çok faktörlü kimlik doğrulamayı zorunlu tutun; ayrıntılar için MFA ve şifre güvenliği rehberimize bakabilirsiniz.
- Yönetim paneline erişimi mümkünse IP adresi, VPN veya ek bir kimlik doğrulama katmanıyla sınırlandırın.
- Giriş denemelerine sınır koyun ve başarısız girişleri kayıt altına alın.
- Kullanıcılara yalnızca işlerini yapmaya yetecek rolü verin; içerik editörünün eklenti kurma yetkisi olmamalıdır.
- Ayrılan çalışanların ve işi biten ajansların erişimlerini hemen kaldırın.
- Sunucuya dosya aktarımında FTP yerine SFTP gibi şifreli yöntemler kullanın.
Güvenli Kod Geliştirme, Kimlik Doğrulama ve Yetkilendirme
Özel geliştirilmiş web uygulamalarında, müşteri portallarında ve form işleyen sitelerde güvenlik kod yazılırken sağlanır; sonradan eklenen bir ürünle tam olarak telafi edilemez. Güvenli geliştirmenin temel ilkeleri şunlardır:
- Girdiye güvenmeyin: Tüm kullanıcı girdileri sunucu tarafında doğrulanmalıdır; tarayıcıdaki doğrulama yalnızca kullanıcı kolaylığıdır.
- Parametreli sorgular: Veritabanı sorgularında kullanıcı girdisi sorgu metnine doğrudan eklenmemeli, parametreli sorgu veya ORM kullanılmalıdır.
- Çıktı kodlama: Kullanıcıdan gelen veri sayfada gösterilirken bağlama uygun şekilde kodlanmalı ve XSS önlenmelidir.
- CSRF koruması: Durum değiştiren işlemler sahte isteklere karşı token ile korunmalıdır.
- Gizli bilgilerin yönetimi: API anahtarları ve veritabanı şifreleri kod deposuna yazılmamalı; ortam değişkenleri veya gizli bilgi kasaları kullanılmalıdır.
- Bağımlılık yönetimi: Kullanılan kütüphaneler bilinen zafiyetlere karşı otomatik araçlarla düzenli taranmalıdır.
- Kod incelemesi: Güvenlik açısından kritik değişiklikler ikinci bir geliştirici tarafından incelenmelidir.
- Geliştirici eğitimi: Ekibin OWASP riskleri ve güvenli kodlama pratikleri konusunda düzenli olarak bilgilendirilmesi, hataların kod yazılırken önlenmesini sağlar.
Kimlik doğrulama tarafında parolalar geri döndürülemez biçimde ve bcrypt veya Argon2 gibi güçlü algoritmalarla saklanmalı, oturum çerezleri Secure, HttpOnly ve SameSite özellikleriyle tanımlanmalı, oturumlar makul sürelerde sona ermelidir. Parolaların yanı sıra kimlik numarası veya sağlık bilgisi gibi hassas alanlar veritabanında da şifrelenmeli, yedekler aynı korumaya sahip olmalıdır. Yetkilendirmede ise her istek sunucu tarafında kontrol edilmelidir: Kullanıcının oturum açmış olması her kaydı görebileceği anlamına gelmez. Rol tabanlı erişim kontrolü (RBAC) ve en az yetki ilkesi, erişim kontrolü zafiyetlerine karşı en etkili önlemlerdir. Ek olarak Content-Security-Policy, X-Content-Type-Options ve çerçeveleme kısıtlaması gibi güvenlik başlıkları tarayıcı tarafında ek bir savunma katmanı oluşturur.
WAF, DDoS Koruması ve Bot Yönetimi
Web uygulama güvenlik duvarı (WAF)
WAF, web sitesine gelen HTTP trafiğini inceleyerek SQL enjeksiyonu, XSS ve bilinen zafiyet istismarları gibi saldırı kalıplarını engelleyen bir katmandır. Bulut tabanlı WAF'lar DNS yönlendirmesiyle hızla devreye alınabilir; sunucu üzerinde veya ağ ucunda çalışan WAF'lar ise daha fazla kontrol sağlar. WAF'ın önemli faydalarından biri sanal yamadır: Bir eklentide açık duyurulduğunda, güncelleme uygulanana kadar ilgili saldırı kalıbı WAF üzerinde engellenebilir.
WAF'ın sınırlarını da bilmek gerekir. Başka müşterinin siparişine erişim gibi iş mantığı hatalarını genellikle yakalayamaz. Kurallar sitenize göre ayarlanmazsa meşru kullanıcıları engelleyebilir; bu nedenle yeni kurallar önce izleme modunda çalıştırılıp sonra engelleme moduna alınmalıdır. WAF, güvenli kodun ve güncellemenin yerine geçmez; onları tamamlar.
DDoS koruması
Dağıtık hizmet engelleme (DDoS) saldırıları iki ana türde görülür: hattı veya sunucuyu trafikle boğan hacimsel saldırılar ve meşru görünen isteklerle uygulamayı yoran uygulama katmanı saldırıları. Hacimsel saldırılara karşı en etkili savunma, yüksek kapasiteli CDN ve DDoS koruma hizmetleridir; tek bir sunucu veya ofis hattı bu tür saldırıyı kendi başına karşılayamaz. Uygulama katmanında ise hız sınırlama (rate limiting), önbellek kullanımı ve ağır işlemlerin korunması öne çıkar.
Bot yönetimi
Sitelere gelen trafiğin bir bölümü otomatik botlardan oluşur. Arama motoru botları istenen trafiktir; ancak sızdırılmış kullanıcı adı ve parola listeleriyle giriş deneyen (credential stuffing), içerik ve fiyat kazıyan, formlara spam gönderen veya stok tüketen botlar zarar verir. Giriş ve form sayfalarında hız sınırlama, davranış tabanlı bot tespiti ve gerektiğinde ek doğrulama adımları bu trafiği kontrol altına alır.
Yedekleme, İzleme ve Site Hacklendiğinde İlk Adımlar
Hiçbir önlem riski sıfırlamaz; bu yüzden kurtarma kabiliyeti de güvenliğin parçasıdır. Web sitesi yedekleri hem dosyaları hem veritabanını kapsamalı, sunucudan ayrı bir konumda ve farklı erişim bilgileriyle saklanmalı, birden fazla sürüm tutulmalıdır. Aynı sunucudaki bir klasöre alınan yedek, saldırgan sunucuyu ele geçirdiğinde yedek olmaktan çıkar. Kalıcı bir yedekleme stratejisi için 3-2-1 yedekleme kuralı rehberimiz yol gösterir; geri yükleme de periyodik olarak test edilmelidir.
İzleme tarafında erişilebilirlik (uptime) izleme, dosya bütünlüğü izleme, yönetici girişleri ve başarısız giriş denemeleri için uyarılar ile Search Console güvenlik bildirimleri takip edilmelidir.
Siteniz ele geçirildiyse panik yerine şu sırayı izleyin:
- Sınırlandırın: Siteyi bakım moduna alın veya geçici olarak erişime kapatın; ziyaretçilerin zararlı içerikle karşılaşmasını önleyin.
- Kanıtları koruyun: Sunucu ve uygulama loglarını, değiştirilmiş dosyaları silmeden önce kopyalayın.
- Tüm erişimleri yenileyin: Yönetici, barındırma paneli, SFTP, veritabanı şifrelerini ve API anahtarlarını değiştirin, tanımadığınız kullanıcıları kaldırın.
- Giriş noktasını bulun: Hangi eklenti, hesap veya zafiyetle girildiğini tespit edin; nedeni bulmadan temizlemek saldırının tekrarlanması demektir.
- Temiz kaynaktan kurun: Saldırı öncesine ait temiz bir yedekten geri yükleyin veya çekirdek dosyaları güvenilir kaynaktan yeniden kurun, arka kapıları tarayın.
- Açığı kapatın: Güncellemeleri uygulayın ve bu yazıdaki önlemleri devreye alın.
- Yasal ve itibar boyutunu yönetin: Kişisel veriler etkilendiyse KVKK kapsamındaki bildirim yükümlülüğünü hemen değerlendirin; süreç için veri ihlali bildirim rehberimize bakın. Google sitenizi işaretlediyse temizlik sonrasında Search Console üzerinden inceleme isteyin.
Güvenlik Testleri ve Sık Yapılan Hatalar
Güvenlik önlemlerinin gerçekten çalıştığını ancak test ederek bilebilirsiniz. Otomatik zafiyet taramaları, bilinen açıkları ve yapılandırma hatalarını düzenli aralıklarla bulmak için uygundur. Statik (SAST) ve dinamik (DAST) uygulama güvenlik testleri geliştirme sürecine entegre edilebilir. Sızma testi ise bir uzmanın saldırgan gibi düşünerek iş mantığı hatalarını ve zincirleme zafiyetleri araştırmasıdır; özellikle müşteri verisi işleyen uygulamalarda, büyük sürümlerden önce ve periyodik olarak yapılmalıdır. Ayrıntılar için sızma testi rehberimizi inceleyebilirsiniz.
Sık karşılaştığımız hatalar:
- Siteyi yayına alıp bakımını kimsenin sorumluluğuna vermemek.
- Ajans veya eski çalışan hesaplarını uzun süre açık bırakmak.
- Yedekleri yalnızca aynı sunucuda tutmak.
- Test ve geliştirme ortamlarını internete açık ve korumasız bırakmak.
- Ayrıntılı hata mesajlarıyla sürüm ve dosya yolu bilgisi sızdırmak.
- WAF kurulduğu için güncellemeleri ertelemek.
- Form verilerini, iş başvurularını ve özgeçmişleri şifrelemeden ve saklama süresi belirlemeden tutmak.
Web Güvenliği Kontrol Listesi
- HTTPS zorunlu, HSTS etkin ve sertifika yenilemesi otomatik mi?
- CMS, eklentiler, temalar ve sunucu yazılımları güncel mi; kullanılmayan bileşenler silindi mi?
- Tüm yönetici hesapları kişiye özel ve çok faktörlü kimlik doğrulamalı mı?
- Yönetim paneline erişim kısıtlı ve giriş denemeleri sınırlı mı?
- Kullanıcı girdileri sunucu tarafında doğrulanıyor, veritabanı sorguları parametreli mi?
- Güvenlik başlıkları ve güvenli çerez ayarları yapılandırıldı mı?
- WAF ve DDoS koruması devrede mi, kurallar sitenize göre ayarlandı mı?
- Dosya ve veritabanı yedekleri sunucu dışında, sürümlü ve test edilmiş mi?
- Uptime, dosya bütünlüğü ve yönetici girişleri izleniyor mu?
- Periyodik zafiyet taraması ve kritik uygulamalar için sızma testi planlandı mı?
- Olay anında kimin ne yapacağını anlatan yazılı bir müdahale planı var mı?
Ümraniye Bilişim olarak web tasarım ve geliştirme hizmetimizde güvenliği tasarım ve geliştirme sürecinin başından itibaren ele alıyor, yayındaki siteler için bakım ve güncelleme desteği sunuyoruz.
Sonuç
Web güvenliği tek bir ürün veya sertifikayla çözülmez; güncelleme disiplini, güçlü erişim yönetimi, güvenli kod, WAF gibi koruma katmanları, test edilmiş yedekler ve hazırlıklı bir müdahale planının birleşimidir. Kontrol listesindeki maddelerin sitenizde nasıl karşılandığını birlikte değerlendirmek için ücretsiz bir ön görüşme yapalım; öncelikli riskleri ve uygulanabilir bir iyileştirme planını birlikte çıkaralım.
Sık sorulan sorular
Hayır. SSL/TLS yalnızca ziyaretçi ile sunucu arasındaki trafiği şifreler; sitedeki zafiyetlere, zayıf şifrelere veya güncellenmemiş eklentilere karşı koruma sağlamaz.
Bu konuda yardıma mı ihtiyacınız var?
Uzman ekibimiz işletmenize özel bir değerlendirme hazırlasın.
Ücretsiz Danışmanlıkİlgili hizmetlerimiz
Web konusunda işletmenize özel destek için Web Tasarım & Geliştirme sayfamızı inceleyebilirsiniz.