İçeriğe geç
Flatinium
Yazılım6 dk okumaYazanDeniz Işık

Pentest nedir, web sitenize gerekli mi?

Sızma testi ne yapıyor, otomatik taramadan farkı ne, hangi işletmeye gerçekten gerekli ve öncesinde hiçbir maliyeti olmadan yapılabilecek altı kontrol neler? Sunmadığımız bir hizmeti dürüstçe anlatıyoruz.

Pentest nedir, web sitenize gerekli mi? — Flatinium yazılım yazısının kapak görseli

Baştan bir not

Sızma testi hizmeti vermiyoruz. Bu yazı bir satış sayfası değil; işletme sahibinin "bize gerekli mi, gerekiyorsa kimden alınır" sorusuna dürüst bir cevap.

Bizim ilgimiz başka yerden: geliştirdiğimiz sistemlerin güvenli kurulması ve pentest yapıldığında temiz çıkması. Yani bu yazı, hazırlık tarafıyla ilgili.

Pentest ne yapıyor?

Pentest — açılımıyla penetration test, Türkçesiyle sızma testi — bir sistemin gerçek bir saldırganın kullanacağı yöntemlerle izinli olarak sınanması.

Amaç açıkları kötü niyetli biri bulmadan önce bulmak.

Testi yapan kişi sisteme dışarıdan bakıyor, zayıf noktaları arıyor ve bulduklarını raporluyor. Rapor genellikle şunları içeriyor: bulunan açıklar, her birinin ciddiyet düzeyi, nasıl istismar edilebileceği ve nasıl kapatılacağı.

Otomatik tarama ile farkı

Bu ayrım sık karıştırılıyor ve fiyat farkının sebebi.

Otomatik tarama bilinen açıkları arıyor. Bir imza listesi var, sistem o listeye göre kontrol ediliyor. Hızlı, ucuz, tekrarlanabilir.

Pentest insan uzmanlığı gerektiriyor. Test eden kişi iş mantığını anlıyor ve otomatik aracın göremeyeceği şeyleri arıyor:

  • Yetki atlatma — başka kullanıcının verisine erişebiliyor muyum?
  • İş mantığı hataları — sipariş tutarını değiştirebiliyor muyum?
  • Zincirlenebilen zafiyetler — tek başına zararsız iki açığın birleşimi

İkisi birbirinin alternatifi değil. Tarama düzenli yapılıyor, pentest belirli aralıklarla.


Otomatik tarama

Pentest

Bulduğu

Bilinen açıklar

İş mantığı hataları dahil

Süre

Saatler

Günler

Maliyet

Düşük

Yüksek

Sıklık

Düzenli

Yılda bir, değişiklik sonrası

İnsan gerekli mi

Hayır

Evet

Kime gerekli?

Dürüst cevap: her siteye değil.

Anlamlı olduğu durumlar:

  • Kişisel veri işleyen sistemler — üye kaydı, sağlık verisi, personel bilgisi
  • Ödeme alan siteler
  • Kurumsal müşterilerin sözleşmede talep ettiği durumlar
  • İç sistemlere açılan paneller
  • Özel geliştirilmiş yazılımlar

Genellikle gereksiz olduğu durumlar:

  • Sadece tanıtım yapan kurumsal siteler
  • Form dışında veri toplamayan bloglar
  • Hazır platform üzerinde çalışan küçük mağazalar

İkinci gruptaki siteler için o bütçe, temel güvenlik hijyenine harcandığında çok daha fazla iş görüyor.

Dikkat — "Rakiplerimiz yaptırmış" bir gerekçe değil. Pentest, sistemin taşıdığı riske göre kararlaştırılıyor; risk yoksa rapor bir belge olmaktan öteye geçmiyor.

Öncesinde yapılacaklar

Bu bölüm en çok işe yarayanı, çünkü çoğu işletme bunları yapmadan test yaptırıyor ve raporda zaten bilinen şeyleri görüyor.

1. Güncellemeler. Sistem, tema ve eklentiler güncel mi? Yaşanan güvenlik olaylarının önemli kısmı, aylardır yaması çıkmış açıklardan kaynaklanıyor.

2. Kullanılmayan eklentiler. Her eklenti bir yüzey. Kullanılmayanlar devre dışı bırakılmıyor, kaldırılıyor.

3. Kimlik doğrulama. Yönetici hesaplarında güçlü parola ve iki adımlı doğrulama. Ortak kullanılan tek hesap yerine kişi başına hesap.

4. Yönetim paneli. Panel adresinin korunması, deneme sayısının sınırlanması ve arama motorlarına kapatılması.

5. Yedekleme. Otomatik, düzenli ve sunucu dışında. Test edilmemiş yedek, yedek sayılmıyor.

6. Yetkiler. Herkesin yönetici olduğu bir sistem, en yaygın ve en kolay düzeltilen sorun.

Bu altısı ücretsiz ve raporun içeriğini belirgin şekilde değiştiriyor.

İpucu — Yedeğin çalıştığını yılda bir kez gerçekten geri yükleyerek test edin. Çalışmayan yedekle karşılaşılan an, her zaman en kötü an oluyor.

Yaygın açık türleri

OWASP'ın ilk on maddesi sektörde ortak başvuru listesi ve web uygulamalarında en sık görülen zafiyet kategorilerini derliyor. Ayrıntılı uygulama rehberleri OWASP kılavuzlarında bulunuyor.

İşletme tarafında bilinmesi gereken şey listenin tamamı değil, geliştiricinizin bu listeden haberdar olup olmadığı. Yazılım firması seçerken bu soruyu sormayı ayrı bir yazıda önerdik.

Kişisel veri tarafı

Sistem kişisel veri işliyorsa güvenlik yalnızca teknik bir mesele olmaktan çıkıyor.

Veri sorumlusu olarak uygun güvenlik önlemlerini almak yükümlülüğünüz. Bir ihlal yaşandığında sorumluluk sizde kalıyor, tedarikçinizde değil.

Kişisel Verileri Koruma Kurumu'nun temel ilkeler sayfası bu konuda başlangıç noktası.

Bu, pentest yaptırma gerekçelerinin en somutu: veri işliyorsanız, güvenliğin denetlenmiş olması bir belge değil bir sorumluluk gereği.

Rapor geldiğinde

Pentest raporları uzun ve teknik oluyor. Okuma yöntemi önemli.

Ciddiyet düzeyine göre sıralayın. Kritik ve yüksek olanlar önce; düşük olanlar bekleyebiliyor.

Her bulgu için sorumluyu belirleyin. Bir kısmı geliştiricinin, bir kısmı sunucu yöneticisinin, bir kısmı sizin işiniz.

Düzeltme sonrası doğrulama isteyin. Kapatıldığı iddia edilen açığın gerçekten kapandığının teyidi.

Tekrar takvimi koyun. Rapor o günkü durumun fotoğrafı; sistem değiştikçe geçerliliğini kaybediyor.

Örnek senaryo — Bir işletme pentest yaptırıyor ve raporda 40 bulgu çıkıyor. Bulguların 28'i güncellenmemiş eklentilerden kaynaklanıyor. Güncellemeler yapılsaydı rapor 12 bulguyla gelecek ve aynı ücrete çok daha değerli bilgi alınacaktı.

Güvenlik bir defalık iş değil

En yaygın yanlış beklenti bu: test yapıldı, rapor alındı, iş bitti.

Güvenlik süregelen bir bakım işi. Yeni açıklar çıkıyor, sistem değişiyor, yeni özellikler ekleniyor.

Sürdürülebilir bir düzen şöyle kuruluyor:

  • Haftalık: Güncelleme kontrolü
  • Aylık: Yedeklerin kontrolü, erişim yetkilerinin gözden geçirilmesi
  • Yıllık: Kapsamlı test ve yetki temizliği
  • Her büyük değişiklikte: Hedefli kontrol

Bu ritim, tek seferlik bir testten çok daha fazla koruma sağlıyor.

Kapsam nasıl belirlenir?

Test yaptırma kararı verildiyse ikinci karar kapsam ve fiyatı doğrudan belirliyor.

Netleşmesi gerekenler:

Hangi sistemler dahil? Yalnızca web sitesi mi, yönetim paneli de mi, mobil uygulama da mı?

Hangi bilgiyle test edilecek? Hiçbir bilgi verilmeden mi, kullanıcı hesabıyla mı, kaynak koda erişimle mi? Üçü farklı derinlikte sonuç veriyor.

Test ortamı mı canlı mı? Canlı sistemde test yapılacaksa zamanlama ve yedekleme planı gerekiyor.

Sosyal mühendislik dahil mi? Personeli hedefleyen denemeler ayrı bir kapsam ve ayrı izin gerektiriyor.

Kapsam yazılı tanımlanmadan alınan fiyatlar karşılaştırılabilir olmuyor.

Yasal çerçeve

Bu, atlanınca ciddi sonuç doğuran bir başlık.

Sızma testi, izinsiz yapıldığında suç. Test edilecek sistemin sahibi olmanız ya da yazılı izin almanız gerekiyor.

Barındırma sağlayıcınızın da bilgilendirilmesi gerekebiliyor; bazı sağlayıcılar test trafiğini saldırı olarak algılayıp hesabı askıya alabiliyor.

Yazılı izin ve kapsam belgesi, testi yapan taraf için de sizin için de koruma.

Sonuçları kimle paylaşmalı?

Pentest raporu hassas bir belge: sisteminizin zayıf noktalarını tarif ediyor.

Paylaşım sınırlı tutulmalı ve düzeltmeden sorumlu kişilerle sınırlı kalmalı. Kurumsal müşteri talep ediyorsa genellikle raporun tamamı değil, testin yapıldığını ve bulguların kapatıldığını gösteren bir özet yeterli oluyor.

Rapor dosyasının kendisi de korunmalı — paylaşılan bir sürücüde açık duran bir pentest raporu, kendi başına bir risk.

Sonuç — Pentest değerli ama sıranın sonunda. Güncellemesi yapılmamış, yedeği alınmamış, herkesin yönetici olduğu bir sistemde yaptırılan test, zaten bilinen sorunları pahalı bir rapora çeviriyor.

Güvenli geliştirme ve altyapı kurulumunu web sitesi geliştirme ve özel yazılım geliştirme kapsamında yürütüyoruz; devraldığımız sistemlerde inceleme raporu bu başlıkları da kapsıyor — yarım kalan yazılım projesi yazısında anlattık.

Bu konuyla ilgili

SSS

Sık sorulan sorular

Pentest nedir?

Bir sistemin, gerçek bir saldırganın kullanacağı yöntemlerle izinli olarak sınanması. Amaç açıkları kötü niyetli biri bulmadan önce bulmak ve raporlamak. Otomatik taramadan farkı, insan uzmanlığının devreye girmesi.

Otomatik güvenlik taraması yeterli mi?

Bilinen açıkları bulmak için iyi bir başlangıç ama yeterli değil. Tarama araçları imza tabanlı çalışıyor; iş mantığındaki hataları, yetki atlatmalarını ve zincirlenebilen zafiyetleri göremiyor. Bu ikisi farklı işler.

Bizim sitemize gerekli mi?

Kişisel veri işliyorsanız, ödeme alıyorsanız veya kurumsal müşterileriniz talep ediyorsa anlamlı. Sadece tanıtım yapan, form dışında veri toplamayan bir sitede genellikle gereksiz; o bütçe temel güvenlik hijyenine harcanmalı.

Öncesinde ne yapmalıyız?

Temel hijyen. Güncellemeleri düzenli yapmak, kullanılmayan eklentileri kaldırmak, güçlü ve iki adımlı kimlik doğrulama kurmak, yedekleme almak ve yönetim panelini korumak. Bunlar yapılmadan yaptırılan pentest, zaten bilinen sorunları raporluyor.

Ne sıklıkla tekrarlanmalı?

Sistem önemli ölçüde değiştiğinde ve düzenli aralıklarla. Bir kerelik yapılan test, o günkü durumun fotoğrafı; yeni bir modül eklendiğinde geçerliliğini kaybediyor. Yılda bir ve büyük değişikliklerden sonra makul bir ritim.