28 Mart 2014

IXIA ile Yük ve Stres Testi

Posted by: Ahmet YURTTAŞ 28 Mart 2014

IXIA ile yük ve stres testi yapılabileceği gibi penetrasyon testler esnasında hedef sistemlerin Denial of Services saldırılarına karşı yeterince önlem alınıp alınmadığının testlerinde de kullanılmaktadır. Sisteminizde bulunan cihazların karşılayabileceği yükü öğrenmenin birçok yolu var. IXIA Server ile bu işlemi yapmak bu seçeneklerden bir tanesidir. IXIA, trafik generate eden yüksek persormanslı bir server'dır. Http post/get flood saldırıları başta olmak üzere hemen hemen tüm flood saldırı yöntemlerini desteklemektedir.  Detaylar için http://www.ixiacom.com/ linkine tıklayabilirsiniz. 
   Aşağıda yapmış olduğum yük testlerinden birinin topolojisi bulunmaktadır. Http get isteğiyle LB ve Server'lar için yük testi yapılmıştır.


Topoloji'den Sonra biraz LB üzerindeki konfigürasyonlardan bahsedip, IXIA'ya geçeceğiz. 

    Topolojide F5 LB üzerinde vCMP ile ayrılmış Guestler bulunmaktadır. Bu guestler şasiler arasında yedekli çalışmaktadır. HTTP Guest içerisinde oluşturulmuş Test_VS altında aşağıdaki şekilde ve topolojide görüldüğü gibi 3 adet sunucu bulunmaktadır.


 Bu sunucular üzerinde IIS'ler aktif edilmiş ve bu server'lara 172.30.10.101/test.htm şeklinde istekte bulunulduğunda cevap olarak OK1 dönmektedir. Bu üç sunucu VS arkasına alındıktan sonra IXIA tarafında gerekli çalışmalar başlatılır.

  • IXIA sunucusunun managemet portu ayarlanır
  • Sunucu portları (basılacak trafik bouyuna göre port sayısı arttırılmalıdır) switch'e bağlanır ve switch üzerinde gerekli vlan ayarları yapılır. Örnekte VS IP'si 172.30.20.55 ve VLAN ID'si 20 olduğu için portlar VLAN 20'ye atanmıştır.
  • IXIA Client'ı olan IxLoad, Windows 7'de sorun çıkarabilen bir uygulamadır. Bu nedenle başka bir Win2003 sunucusu üzerinde SQL2005 ile birlikte kurulur. (Önce IxLoad kurulur)
  • Kurulumdan sonra karşınıza aşağıdaki gibi bir ekran çıkacaktır. 

  • New Traffic Flow sekmesinde aşağıdaki gibi bir NetTraffic üretilir.

                    
  • Oluştulan NetTraffic altında, IXIA Sunucusu Client rolünde olacağı için HTTP Client seçilir.

  • Oluşan HTTPClient1 altında Start üzerinde sağ tık>Add Commands yapılır ve isteğimiz get olacağı için get seçilir. Bu adımdan sonra yapacağımız istek bu kısma girilecektir.
  • Test yapılacak IP ve istek sayfası aşağıdaki gibi yazılır.
  • Yukarıdaki şekilde 172.30.20.55 IP'si LB üzerinde oluşturduğumuz Virtaul Server IP'sidir. test.htm ise serverların bu IP'ye yapılan requestlere döndüğü cevaptır. Server'lar üzerindeki IIS'lerde test.htm şeklinde bir dosya bulunmaktadır.
  • Yapılacak istek settings sekmesinden HTTP 1.1 ve maximum secilir.
                                 
  • Şimdi gelelim daha önceden Switch portlarına taktığımız IXIA sunucusunun portlarına.(Yapılan testte 4 adet fiziksel port bağlanmıştır) Bu portların VS'e yapacağı requestler için aynı bloktan veya GW li IP vermek gerekecektir. Bu işlem, aşağıdaki menüden yapılır.

  • Traffic@Network1>Network tıklanarak şeklin altındaki menü aktif edilir. Bu menüde istek yapılacak başlangıç IP'si (3), bu IP'lerin artış şekli(4) ve kaç client yani IP bulunacağı(5) belirlenir.
  • Şimdi sıra IXIA sunucusu üzerindeki porları aktif etmeye. Aşağıdaki şekildeki gibi port

assestment kısmında 2 nolu kutu tıklanır. Burada karşımıza Chasis Name sorulacaktır. Buraya şasi IXIA Sunucu şasi management IP girilir. Bu işlemden sonra 3 nolu bölümde olduğu gibi karşımıza sunucunun portları çıkacaktır. Burada yeşil portlar aktif olan portlardır. Bu portlara çift tıklanarak sağdaki Assigned Ports kısmına atanır.

  • Biraz sabır. Teste başlamamıza çok az kaldı. Bu işlemler tamamlandıktan sonra connectin per sec, kaç sn test yapılacağı gibi adımlar kaldı. Hadi birde bunlara göz atalım.    
  • Timeline and Objective menüsünden istenilen connection per sec sayısı ve süreleri girilir. Örnekte 10.000 Connection 30 sn süre ile sunuculardan 1 iteresyon ile istek gönderecektir. Play butonu ile test başlayacaktır. 
  • Aşağıda daha önceden yapılmış bir testin sonuçları paylaşılmıştır.
    Bu sonuca göre test boyunca 1.76M request gönderilmiştir ve bu requestlerin 115 tanesi başarısız olarak dönmüştür. 

    Reporter menüsünden Generate Report menüsünde otomatik olarak test sonuçları ile ilgili pdf formatında bir rapor hazırlanacaktır.

    Yukarıda http get isteğiyle tamamlanmış bir test bulunmaktadır.



    Ahmet Yurttaş <a.ahmetyurttas@gmail.com>

    0 yorum:

    Yorum Gönder

    Her türlü eleştiri,yorum,ekleme ve düzeltmeye yönelik fikirlerinizi paylaşabilirsiniz.Hakaret içeren yorumlar filtrelenmektedir.

    Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.