citrix netscaler http dos koruması
TRANSCRIPT
![Page 1: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/1.jpg)
Netscaler HTTP Dos Koruması
Internet hacker’ları bir siteye dalgalar halinde GET istekleri veya diğer HTTP seviyesinde
istekleri göndererek aşağı indirebilirler. HTTP Denial-of-Service (HTTP Dos) konunan Web
sunucularınıza yönlendirilen böyle saldırıları önlemek için etkili bir yol sağlar. HTTP Dos özeliği
ayrıca internet cloud ve Web sunucularınız arasında kalan Netscaler cihazının bir HTTP Dos
atağı tarafından aşağı indirilmesini önler.
Internetteki çoğu saldırganlar hesaplama maliyetini azaltmak için web sunucularına geri yanıt
dönmezler ve tespit edilmelerini önlemek için ebatlarını en aza indirgerler.Bu saldırganlar atak
paketlerini göndermek, bağlantı kurmak veya olabildiğince hızlı HTTP isteklerini göndermek için
hız üzerinde odaklanırlar.
Internet Explorer, Firefox veya NetScape browser’lar gibi gerçek HTTP istemcileri HTML
Refresh meta tag’larını, Java script’leri ve cookie’leri anlayabilir. Standart HTTP istemcilerde bu
özelliklerin çoku aktif durumdadır. Bu arada Dos saldırılarında kullanılan sahte istemciler
sunucudan istemciye geri dönen yanıtları çözümleyemezler (pars edemezler). Eğer kötü niyetli
istemciler istekleri çözümlemeye ve akıllıca göndermeye kalkışırlarsa saldırıları agresif
başlatmak onlar için zor olur.
Netscaler bir saldırıyı tespit ettiğinde , gelen isteklerin belli bir yüzdesine cookie veya basitce
sayfanın yenilenmesini içeren Java veya HTML döner. (Client Detect Rate parametresi’yle bu
yüzde yi ayarlıyoruz). Gerçek Web tarayıcıları ve diğer Web tabanlı istemci programları
sunucudan dönen yanıtı çözümleyebilir ve ondan sonra cookie ile bir POST isteğini tekrar
gönderebilir. Dos istemcileri Netscaler’ın yanıtını çözümlemek yerine drop’lar ve onların istekleri
de bu yüzden drop’lanır.
Meşru bir istemci Netscaler’ın yenileme yanıtına (refresh response) doğru şekilde cevap verdiği
zaman bile istemcinin POS isteğinde ki cookie aşağıda ki koşullarda geçersiz olabilir.
Eğer orjinal istek Netscaler Dos saldırsını saptamadan önce yapıldıysa, ama tekrar
gönderme isteği Netscaler saldırı altındaykenken yapıldıysa.
Cookie geçersiz hale geldikten sonra ,İstemcinin düşünme zamanı dört dakikayı
aştığından
![Page 2: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/2.jpg)
Yukarda ki senaryoların ikiside çok nadirdir. Ek olarak HTTP Dos özelliğinin aşağıda ki
sınırlamaları bulunmaktadır.
Saldırı altında, Bütün POST istekleri düşürülür ve cookie ile bir hata sayfası gönderilir.
Saldırı altında, cookie bulundurmayan bütün gömülü nesneler düşürülür ve bir cookie ile
hata sayfası gönderilir.
HTTP Dos özelliği belki Netscaler’ın diğer özelliklerini etkileyebilir. Belirli bir contect switching
kuralı için Dos korumasınıın kullanımı bu arada ekstra yük oluşturur. Çünkü Netscaler’ın policy
motoru eşleştirmek için policy’yi bulmalıdır. Bu arada kriptolu verinin SSL kripto çözümünden
dolayı SSL isteklerinde ekstra yük oluşturur
Eğer Netscaler üzerinde priority queuing kuralı devreye aldıysanız, saldırı altındayken bile Netscaler cookie’siz istekleri low-priority queue’e koyar. Bu sizin için ekstra bir yük oluştursa bile, bu Web sunucularınızı sahte istemcilerden korur. Test JavaScript’leri isteklerin küçük bir yüzdesine gönderildiğinden dolayı HTTP Dos korumasının tipik olarak throughput üzerinde minimal etkisi vardır.İsteklerde gecikme artar çünkü istemci JavaScript’I aldıktan sonra tekrar istek yapmalıdır. Bu istekler ayrıca kuyruğa atılır.
HTTP Dos korumasını kullanmak için , bu özellik aktif edilmeli ve bu özelliği uygulamak için bir kural tanımlanmalıdır.Daha sonra HTTP Dos için gerekli ayarlarla hizmetleriniz ayarlanmadır. Ayrıca her bir hizmete TCP monitor atanabilir ve TCP monitor’ü yürürlüğe koymak için her bir hizmete oluşturduğunuz kural atanır.
Layer 3-4 SYN Denial-of-Service Koruması
Netscaler varsayılan olarak SYN Dos saldırılarına karşı koruma sağlıyor.
Böyle bir saldırı düzenlemek için saldırgan büyük sayılarda TCP bağlantıları başlatır faka maüdur Sunucu tarafından gönderilen SYN-ACK mesajlarına cevap vermez. Sunucu tarafından alınana SYN mesajlarında ki kaynak ip adresi genellikle sahtedir. Çünkü yeni SYN mesajları bir önceki SYN mesajları tarafından başlatılan yarı açık bağlantılar zaman aşımına uğramadan önce ulaşır. Böyle bağlantı sayıları Sunucu yeni bağlantıları kabul edecek yeterli kullanılabilir memory’si kalmayana kadar artar. Aşırı durumlarda sistem hafıza kümesi overflow olabilir.
Netscaler SYN flood saldırılarına karşı kendini sistem hafıza kümesinde yarı açık bağlantı tutmak yerine SYN cookie kullanarak korur. Netscaler TCP bağlantı isteyen herbir istemciye a cookie gönderir. Fakat yarı açık bağlantıların durumunu tutmaz. Onun yerine Netscaler sadece en son ACK paketini alması üzerine veya bir HTTP isteği alması üzerine HTTP trafik için bir bağlantıya sistem hafızasında yer ayırır. Bu SYN ataklarını önler ve meşru istemcilerin kesintisiz olarak devam edebilmeleri için normal TCP bağlantılarına izin verir.
Netscaler üzerinde ki SYN Dos koruması aşağıda ki’leri garanti eder:
Sahte SYN paketleri ile Netscaler hafızası boşa harcanmaz. Onun yerine hazıza sadece meşru istemcilere hizmet etmek için kullanılır.
![Page 3: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/3.jpg)
Saldırı altındayken bile meşru istemcilerin normal TCP bağlantıları kesilmeksizin devam eder.
Ek olarak, Netscaler hafızasını sadece, HTTP isteğini aldıktan sonra HTTP bağlantı durumu için
ayırır. Bu Web suncularını idle bağlantı ataklarından korur.
Netscaler üzerinde ki SYN Dos koruması harici bir konfigürasyon gerektirmez.Varsayılan olarak üzerinde aktiftir.
HTTP Dos korumasının aktif edilmesi
HTTP Dos korumasını ayarlamak için öncelikle bu özelliği aktif etmeliyiz.
Netscaler CLI ile HTTP Dos özelliğinin aktfi edilmesi
> enable ns feature HttpDoSProtection
Done
> show ns feature
Feature Acronym Status
------- ------- ------
1) Web Logging WL ON
2) Surge Protection SP OFF
.
.
.
10) Global Server Load Balancing GSLB ON
11) Http DoS Protection HDOSP ON
12) Content Filtering CF ON
.
.
23) HTML Injection HTMLInjection ON
24) NetScaler Push push OFF
Done
>
![Page 4: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/4.jpg)
Netscaler GUI ile HTTP Dos özelliğinin aktif edilmesi
1. System>Settings gidelim.
2. Configure Advance Features etay panosunu açalım . HTTP Dos özelliğini aktif edelim ve
Ok butonuna tıklayalım.
HTTP Dos Policy tanımlama
Netscaler CLI
add dos policy <name> -qDepth <positive_integer> [-cltDetectRate <positive_integer>]
set dos policy <name> -qDepth <positive_integer> [-cltDetectRate <positive_integer>]
Örnek
> add dos policy pol-HTTP-DoS -qDepth 30
Done
> set dos policy pol-HTTP-DoS -qDepth 40
Done
> show dos policy
1) Policy: pol-HTTP-DoS QDepth: 40
Done
![Page 5: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/5.jpg)
>
Netscaler GUI
1. Security > Protection Features > HTTP DoS’a gidelim
2. Detay panosundan Add butonuna tıklayalım
3. Name alanına oluşturmak istediğimiz HTTP Dos policy’sinin ismini verelim.
Queue Depth kutusuna Dos korumasının atanacağı servis üzerinde Dos koruması aktif
edilmeden önce kuyruk büyüklüğünü (servis’in kuyruğunda bekleyen istek sayısı)
girmeliyiz.
Client detect rate kutusuna servisin kuyruğunda ki bekleyen istek sayısı Queue Depth
kutusunda ki değere eşit veya ondan büyük olduğunda istemciye gönderilecek olan yanıt
yüzdesi girilmeli.
Son olarak Create butonuna tıklayıp HTTP Dos policy’sini oluşturalım.
HTTP Dos Kuralının Servis’e Atanması
Netscaler CLI
bind service <serviceName> -policyName <policyname>
Primary> bind service Service-HTTP-DoS -policyName HTTP_DoS_Policy
Done
![Page 6: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/6.jpg)
Primary> show service Service-HTTP-DoS
Service-HTTP-DoS (192.168.3.81:80) - HTTP
State: UP
Last state change was at Sun Jan 10 00:32:10 2016
Time since last state change: 0 days, 00:02:45.470
Server Name: Red_Server
Server ID : None Monitor Threshold : 0
Max Conn: 0 Max Req: 0 Max Bandwidth: 0 kbits
Use Source IP: NO
Client Keepalive(CKA): NO
Access Down Service: NO
TCP Buffering(TCPB): NO
HTTP Compression(CMP): NO
Idle timeout: Client: 180 sec Server: 360 sec
Client IP: DISABLED
Cacheable: NO
SC: OFF
SP: ON
Down state flush: ENABLED
Appflow logging: ENABLED
Process Local: DISABLED
Traffic Domain: 0
1) Monitor Name: tcp-default
State: UP Weight: 1 Passive: 0
Probes: 34 Failed [Total: 0 Current: 0]
Last response: Success - TCP syn+ack received.
Response Time: 0.0 millisec
1) DoS Policy :HTTP_DoS_Policy
Done
Netscaler GUI
1. Traffic Management>Load Balancing>Services’e gidelim.
2. Detay panosundan HTTP Dos kuralını atamak istediğimiz servis’I seçelim ve Open’a
tıklayalım.
3. Policies tab’ını seçelim ve daha sonra HTTP Dos kuralını seçelim
![Page 7: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/7.jpg)
4. Policy listesinden HTTP Dos policy’mizi seçelim ve Select’e tıklayalım. Policy Policy
Binding’de görülecektir. Bind’a tıklayalım ve Policy’yi servis’e atayalım.
![Page 8: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/8.jpg)
![Page 9: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/9.jpg)
HTTP Dos Koruması’nı Konumlandırmak için Ana Prensipler
HTTP Dos korumasını test edilerek planlı bir şekilde devreye alınmalı ve sonrasında yakından
performansı izlenmelidir. HTTP Dos korumasını devreye alırken bulunduğunuz ortama göre ince
ayar yapmak için aşağıda ki bilgileri kullanabilirsiniz.
Suncularınız tarafından desteklenen maksimum eş zamanlı bağlantı sayısı
Sunucularınız tarafından desteklenen normal ve ortalama eş zamanlı bağlantı değerleri.
Sunucunuzun oluşturacağı maksimum yanıt oranı (responses/sec)
Sunucunuzun üstesinden gelebileceği maksimum trafik
Ağ’ınızın tipik trafiği.
Maksimum elverişli upstream bantgenişliği.
Bantgenişliğini etkileyen limitler (harici linkler, router, trafik dalgalanmasından mağdur
olan bir yol üzerinde ki diğer kıritik cihazlar )
Daha fazla sayıda istemcinin bağlanmasına izin vermenin upstream ağ cihazlarını
korumaktan daha önemli olup olmaması.
Bir HTTP Dos saldırılarısının karektiristiğini belirlemek için aşağıda ki konuları
gözönünde bulundurmalısınız.
Geçmişte deneyimlediğiniz gelen sahte isteğin oranı nedir?
Aldığın isteklerin tipleri nelerdir? (tamamlanmış POST, tamamlanmamış GET)
Bir önceki saldırı downstream link’leri sature etti mi? Hayır ise bantgenişliği neydi?
HTTP istekleri hangi tip kaynak IP adresleri ve kaynak port’lara sahipti? (tek bir
subnetten IP adresi, sabit IP,birer birer artan port’lar)
Gelecekte hangi tip atakları bekliyorsun ? Geçmişte hangi tip ataklara maruz kaldın?
Dos saldırı korumasını en uygun değerine ayarlamak için size yardımcı olacak bütün
bilgiler.
Client Detection/JavaScript Yanıt Oranının Ayarlanması
HTTP Dos koruması ayarlandıktan ve aktfif edildikten sonra eğer Surge Queue’de bekleyen
istemci sayısı HTTP Dos için QDepth alanında belirtilen maksimum istemciden daha fazlası ise
HTTP Dos koruması tetiklenir. İstemciye Netscaler tarafından JavaScript olarak gönderilen
varsayılan JavaScript yanıtlarının oranı sunucu yanıt oranının yüzdebiri’dir. HTTP Dos için
varsayılan yanıt oranı çoğu gerçek saldırı senaryoları için yetersizdir ve müşteri ortamına göre
ince ayar yapılmalıdır.
Örneğin farzedelim ki Web sunucusu saniyede maksimum 500 yanıt dönebilme kapasitesine sahip ama saniyede 10,000 istek alıyor. Eğer sunucu yanıtının yüzde biri JavaScipt olarak gönderilirse Netscaler saldırı kontrülü yapmak için istemcilere gönderielcek JavaScript yanıtı neredeyse yok denecek kadar azdır: Onbin bekleyen istemci isteğine karşın sadece beş
![Page 10: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/10.jpg)
istemciye (500*0.01) JavaScript olarak yanıt gönderilecektir. Bu durumda gerçek istemcilerin sadece yüzde 0.05’i civarı JavaScript yanıtı alır. Bu arada eğer client detection/JavaScript yanıt oranı çok yüksekse (Örneğin yüzde 10, saniyede 1000 JavaScript olarak yanıt istemcilere göndermek için oluşturulur.) belki upstream link satüre olabilir ve upstream ağ cihazlarına zarar verebilir. Varsayılan Client Detect Rate’i değiştirirken dikkatli çalışma yapılmalıdır.
Eğer surge queue korumasını tetiklemek için ayarlanan surge queue dip eşik değeri örneğin 200 ise ve HTP Dos için QDepth değeri 200 girilmişse Netscaler attack ve no-attack mod’ları arasında gidip gelir. Bu arzu edilmeyen bir durumdur. HTTP Dos özelliği bu durum için bir windows mekanizmasına sahiptir. Surge queue büyüklüğü HTTP Dos koruması için tasarlanan QDepth değerine ulaştığında atak mod tetiklenir. Surge Queue büyüklüğü QDepth değerinden aşağı düştüğü zaman ise no-attack moda girer. Burda bahsi geçen senaryoda eğer WINDOW_SIZE 20 olarak ayarlanmışsa Netscaler’ın no-attack moda girmesi için surge queue büyüklüğü 180 değerinden aşağıda düşmelidir. Dos policy ayarlanırken konfigürayon esnasında QDepth değeri için WINDOW_SIZE’dan daha büyük bir değer belirtilmelidir.
Tetikleyici surge queue eşik değeri HTTP Dos Koruması’nı Konumlandırmak için Ana
Prensipler kısımında ki gözlemlere dayanarak belirlenmelidir.
Güncelleme Geçmişi
Revizyon Değişiklik Açıklaması Güncelleme Tatih
1.0 Orjinal Versiyon Veli Anlama Ocak 2016
![Page 11: Citrix Netscaler HTTP Dos Koruması](https://reader038.vdocuments.pub/reader038/viewer/2022100423/58f063431a28ab7b3f8b4689/html5/thumbnails/11.jpg)