DDOS ve LOAD (Yük) Testi Nedir?hpolat
DDOS VE LOAD TESTLERİNİN AMAÇLARI
DDOS ve load testleri birbirlerine benzeseler de aslında hedefleri farklıdır:
- DDOS testleri gerek volume gerekse dağıtıklık açılarından mümkün olduğunca gerçek DDOS saldırılarını simüle eder. Bu testin amacı genellikle alınan DDOS koruma hizmetinin ve/veya kurumun kendi ağında uyguladığı DDOS önlemlerinin etkinliğini ölçmektir. Herhangi bir önlem olmaması halinde böyle güçlü bir yük bindirilmesi halinde zaten ayakta kalma imkanı bulunmamaktadır.
- Yük testlerinin amacı ise genellikle yeni geliştirilen bir uygulama veya sistemin öngörülen kullanıcı ve işlem yükleri karşısında yeterli olup olamayacağının anlaşılmasıdır. Elbette yük miktarı kademeli olarak artırılarak uygulama veya sistemin limitleri de görülmek istenebilir.
DDOS VE LOAD TESTLERİNİN KULLANDIĞI PAYLOAD’LAR ARASINDAKİ FARKLAR
DDOS ve Load testlerinin amaçları farklı olduğu gibi, bu testler sırasında kullanılan payload’lar, yani yükler arasındada farklılıklar vardır.
- DDOS testi için kullanılan, daha doğrusu üretilen payload’lar gerçek hayattaki DDOS taktiklerinde kullanılan benzerleri gibidir. DDOS testlerinde load testlerinde olduğu gibi hedef ağ veya sistem ile herhangi bir iletişim kurulma hedefi yoktur. Bu nedenle pek çok DDOS test senaryosunda kaynak IP adresi spoof edilmiş, yani sahte IP adreslerinden yapılıyormuş gibi gösterilen, paketler kullanılır. Bir başka tipik örnek de asimetrik yük doğuracak protokol ve paket türlerinin tercih edilmesidir. Yani saldırgan için az ancak hedef için daha yüksek maliyet doğuracak istek türleri kullanılabilir.
- Load testi ise hemen hemen gerçek hayatta karşılaşılması beklenen kullanım durumlarını simüle eder. Dolayısıyla test sistemleri ile hedef uygulama veya sistem arasında bir iletişim kurulur, geçerli istekler gönderilerek uygulama veya sistemin fonksiyonalitesi kullanılır. Yük testinin normal kullanımdan tek farkı yükün kademeli olarak artırılarak uygulamanın performansının izlenmesinin amaçlanmasıdır.
DDOS TESTİ METODOLOJİSİ
DDOS testi metodolojisi şu adımları içerir:
- DDOS testi için kurumun DDOS çözümlerini test etmeyi planladığı DDOS teknikleri ve hedeflenen volume’ler belirlenir.
- DDOS testleri genellikle hedeflenen ağı üzerindeki sistemlerin geneli üzerinde stres oluşturacağından zaman planlaması dikkatli biçimde yapılır, iş etkisinin en az olacağı zaman aralığı seçilir, hızlı müdahalesi gerekecek tüm personel ve üçüncü taraflar hazır veya erişilebilir durumda bulunur.
- Testi gerçekleştirecek olan ekip belirlenen senaryolara uygun biçimde packet crafting, yani paket üretme kodlarını hazırlar, kısmen de bu amaçlarla kullanılabilecek hazır araçlar test sırasında kullanılabilir.
- Beklenen yükün ölçeğine uygun nitelik ve sayıda sunucu kiralanarak hazırlanır. Bu tür aktiviteler genellikle bulut hizmet sağlayıcıların izin verdiği aktiviteler olmadığı için gerekli izinlerin de alınmış olması gerekir.
- DDOS testi planlandığı biçimde başlatılır ve hem kurum personeli hem de testi yapan taraf tarafından sistemlerin sağlık düzeyleri sürekli olarak izlenir.
- Genellikle senaryo başına 10-20 dk. arası süren testlerin sonuçları hem testi yapan takım hem de kurum personeli tarafından raporlanabilir.
LOAD TESTİ (YÜK TESTİ) METODOLOJİSİ
LOAD (YÜK) testi metodolojisi şu adımları içerir:
- Load testi senaryoları genellikle test edilecek sistemin kullanıcı deneyimi tarafına en yakın olan kurum personeli ile geliştirilir. Bu personel bir sistem analisti veya iş birimi temsilcisi olabilir. Gerçekçi kullanım durumları göz önüne alınarak belirli uygulama kullanım senaryoları ortaya çıkarılır. Bu senaryolara toplam gerçekleştirilecek istekler içindeki oranları da verilebilir.
- Load testi istekleri web uygulamaları için bir proxy kullanılarak kayıt edilir ve yük bindirirken kaydedilmiş olan bu istekler defalarca tekrar oynatılır.
- Load testinin kapsamı genellikle belli bir uygulama ve sistemle kısıtlı olmakla birlikte yine de ağ üzerinde olumsuz etki doğurabilir. Load testinin canlı bir sistem üzerinde gerçekleştirilmesi halinde ise iş süreçlerinin olumsuz etkilenme riski daha da yüksek olacaktır. Bu nedenlerle load testlerinin planlanmasında da dikkatli olunmasında fayda bulunmaktadır.
- Load testi sırasında hedef uygulama veya sistem ile iletişim halinde olunduğundan testi yapan taraf detaylı ölçümlere sahip olacaktır. Bu veriler kullanılarak istemci bakış açısıyla çeşitli performans istatistikleri raporlanır.
- Load testi sırasında sistem yöneticilerinin de sunucu metriklerini takip etmesinde fayda bulunmaktadır. Bu şekilde sunucu üzerindeki kaynak kullanım istatistikleri de görülmüş olur ve bu istatistikler de load testi raporuna aktarılabilir. Test ekibi bu alanda sistem yöneticilerine destek olabilir.