Netscaler WAF XSS

download Netscaler WAF XSS

of 19

  • date post

    14-Apr-2017
  • Category

    Technology

  • view

    710
  • download

    0

Embed Size (px)

Transcript of Netscaler WAF XSS

  • HTML CROSS-SITE SCRIPTING CHECK

    NETSCALER APPLICATION FIREWALL

    FEBRUARY 18, 2016 VEL ANLAMA

    Senior Security Engineer

  • HTML Cross-Site Scripting Check

    HTML Cross-Site Scripting (XSS), kullanc isteklerinin header ve POST bodylerinin her ikisini olas cross-site scripting ataklar iin kontrol eder. Eer bir cross-site script bulursa saldry zararsz hale getirmek iin ya istei deitirir yada bloklar.

    Korunan web sitelerinde ki gvenlii ihlal eden scriptlerin ktye kullanmn nlemek iin, HTML Cross-Site Scripting kontrol same origin kuralna uymayan scripteri bloklar. Same origin kural scriptlerin bulunduu sunucu dnda ki sunucularda sunucu ieriine eriilmesini ve deitirmesini nler. Same origin kuralna uymayan herhangi bir script cross-site script olarak adlandrlr ve baka bir sunucu zerinde ki ierie erimeki veya deitirmek iin bu scriptin pratik kullanm cross-stite scripting olarak adlandrlr.

    Same origin rule

  • Cross-site scriptingin bir gvenlik sorunu olmasnn sebebi cross-site scriptinge izin veren bir web sunucusunun bu web sunucusu zerinde bulunmayan ama farkl bir web sunucusu zerinde bulunan ve saldrgann sahip olduu ve onun trafndan kontrol edilen bir script tarafndan saldrya maruz kalabilmesidir.

    Malesef ou irketler same origin kuraln ihlal eden Javascript tabanl gerlitirilmi web ieriklerine sahiptirler. Eer bu gibi sitelerde HTML Cross-Site Scipting aktif edilirse bu kontroln meru aktiviteleri bloklamamas iin istisnalar tanmlanmaldr.

    False positivelerden kanmak iin relaxation rulelar (muaf kurallar) oluturabilirsiniz. Application Firewall korumasnn renme motoru (learning engine) relaxation rulelar ayarlamak iin tavsiyeler salayabilir.

    Citrix uygulama gvenlik duvar HTML Cross-Site Scirpting korumasn uygularken aada ki eylem seeneklerini sunar;

    Block: Block etkinletirilirse, eer XSS tagleri istemci isteinde bulunursa block eylemi tettiklenir.

    Log: Eer log zellii etkinletirilirse, HTML Cross-Site Scripting korumas bu korumann ald eylemi gsteren log mesajlar retir. Eer block devre d brakldysa XSS ihlalinin saptand herbir form alan veya header iin ayr bir log mesaj oluturulur. Bu arada istek bloklandnda sadece tek bir mesaj retilir. Benzer bir ekilde transform operasyonu iin XSS taglar birden fazla alanda dntrldyse bile istek bana bir log mesaj retilir. Meru isteklere verilen yantlarn bloklanp bloklanmadn belirlermek iin loglar incelenebilir. Log saylarnda ki dramatik ykseliler bir saldry balatma tebbslerini iaret edebilir.

  • Stats: Eer aktif edilirse stat zellii ihlaller ve loglar hakknda istatistikleri toplar. Stat counterlarnda ki beklenmeyen bir dalgalanma uygulamann saldr altnda olduunu iaret edebilir.Eer meru istemciler bloklanyorsa yeni relaxation rulelar eklenmeli veya varolan bir tanesi deitirilmelidir.

    Learn:Eer ideal olarak relaxation rulelarnn hangilerinin uygulama iin uygun olduundan emin deilseniz renilen veriye dayal HTML Cross-Site Scipting kural tavsiyeleri tretmek iin Application Firewallun renme zeliini kullanabilirsiniz. Application Firewall renme motoru trafii izler ve gzlemlenen deerlere dayal learning tavsiyeleri salar. Performans tehlikeye atmadan en uygun yararn alnmas ksa sreliine learn seeneini aktif ederek kurallarn temsili bir rneini elde edinilmesiyle salanabilir. Sonra bu kurallar deploy edilerek relaxation rulelara tanmlanmal ve learning kapatlmaldr. Transform cross-site scripts:Aktif edilirse application firewall isteklerde HTML Cross-Site Script ile karlatnda aada ki deiilikleri yapar:

    Kktr iareti () HTML karekterlerinden (>) e dntrlr.

    Bu internet tarayclarnn gibi tehlikeli html taglarn yorumlanmamasn garanti eder ve dolaysyla zararl kodlarnn altrlmasn nlemi olur. Eer request-header checking ve transformation her ikisi aktfi edilirse request headerlarda bulunan herhangibir zel karakter yukarda bahsedildii gibi dntrlerek zararsz hale getirilir. Eer korunakl web sitenizde bulunan sciptler cross-site scripting zellii ieriyorsa fakat siteniz doru almas iin bu scritplere baml deilse gvenle bloklamay devre d brakabilir ve transformation aktif edebilirsiniz. Bu konfigrasyon potansiyel cross-site scripting saldrlarn durdururken meru web trafiinin bloklanmamasn garanti eder

    Check comlete URLs for cross-site-script: Eer btn URLin kontrol aktifse application firewall HTML cross-site scripting saldrlar iin URLin sadece sorgu ksmn kontrol etmek yerine URLin btnn kontrol eder.

    Check Request headers:Eer Request header checking aktifse application firewall HTML crosstie scripting saldrlar iin sadece URL yerine request headerlarna kontrol eder.

    Note:Netscaler 10.5 versiyonununda AppFW tekil olarak () byktr iaretini veya her iki kktr ve byktr iareti () grdnde Cross-site Scripting olarak alglar. Ama Netscaler 11 versiyonunda AppFW sadece kktr iaretini () grdnde Cross-site Scripting olarak alglar

  • XSS Relaxation

    Application Firewallda belirli form alan, header veya Cookienn cross-site scripting inceleme kontrolne girmesini engelleyebiliriz. Relaxation kurallar ayarlayarak bunun gibi bir veya daha fazla alann denetlenmesini tamamen bypass edebiliriz.

    Application Firewall ile relaxation kurallar zerinde ince ayarlar yaparak daha sk gvelik uygulayabiliriz. Belirli patternlere izin vermek iin application firewallu belki daha esnek ayarlamanz gerekebilir. Ama gvenlik incelemesini bypass etmek iin relaxation kurallarn tannmas uygulamay sadrlara kar savunmasz brakabilir. nk hedef alan herhangi cross-site scripting saldr patterni incelemesinden muaf tutulacaktr. Belirli attribute, tag ve patternlere izin vererek cross-site scripting relaxation kurallarn ayrntl olarak belirleyebiliriz. Geri kalan attribute, tag ve patternler bloklanr. rnein varsaylan olarak application firewall gncel 125den fazla engelleme paternine sahiptir. Bilgisayar korsanlar bu paternleri Cross-site script saldrlarnda kullanabildiinden dolay application firewall onlar potansiyel tehdit olarak iaretler. Belirli lokasyonlar iin bir veya daha fala paternin gvenli olduu dunlerek relexation kurallarna tanmlanabilir. Potansiyel olarak tehlikeli XSS paternlerinin kalanlar hedef lokasyonlar iin hala kontrol edilir ve herhangi bir gvenlik ihlali bulunduunda koruma tetiklenir.

    zin verilen XSS attribute veya taglerinin varsaylan listesini zelletirebilirsiniz.Varsaylan liste Application Firewall>Signatures>Default Signaturesde bulunmaktadr.Eer herhangi signature nesnesini appfw profilenza balamazsanz Cross-Site Scripting security check ilemi iin Default Signature nesnesinde belirtilen varsaylan XSS izin verilenler ve engellenenler listesi kullanlr.

    Application Firewall Builtin XSS listesi;

    XSS izin verilen Attributeler: Abbr, accesskey, align, alt, axis, bgcolor, border, cellpadding, cellspacing, char, charoff, charset v.b.gibi 53 tane varsaylan olarak izin verilen attribute bulunuyor.

    XSS izin verilen Tagler: Address, basefont, bgsound, big, blockquote, bg, br, caption, center, cite, dd, del v.b gibi 47 tane varsaylan izin verilen attribute bulunuyor

    XSS Engellenen Patternler: FSCommand, javascript:, onAbort, onActivate v.b gibi 129 tane engellenen pattern bulunuyor.

  • Gznnde bulundurulmas gereken noktalar: Value expression istee bal bir argman. Field name herhangi bir value

    expressiona sahip olmayabilir. Bir field nae birden fazla value expressiona balanabilir. Value expression bir value typeine atanmas gerekir. XSS value typelar 1) Tag,

    2) Attribute veya 3) Pattern olabilir.

    Form filed ve action URL byk kk harf duyarll yoktur.

    HTML Cross-Site Scripting Relaxation Kural Tanmlama

    Netscaler 11 versiyonunda imdi daha sk kontrolere sahipsiniz. Bu versiyonda relaxation kurallar tanmlamak iin Value Type ve Value Expression gibi isee bal parametreler bulunuyor. Value type alan bo braklabilirsiniz veya Tag, Attribute, Pattern deerlerini seebilirsiniz. Eer Value Type alan bo braklrsa bu, belirtilen URLin konfigure edilen alan Cross-Site Scripting incelemesinden muaf tutulur. Eer bir value type seilirse bir deer ifadesi belirtilmelidir. Bu deer ifadesi bir regex olaca gibi bir karakter kalbda olabilir. Bu alana girilen deer izin verilen ve yasaklanan listed ki bir deerle eletiinde yalnzca relaxation kurallarnda ayarlanan bu ifade muaf tutulur.

    GUI

    1. Security>Application Firewall > Profiles gidip WAF profilemz seip Edite tklayalm. 2. Advanced Settings panosundan Learned Rulesa tklayalm.

  • 3. Learned Rulesdan HTML Cross-Site Scriptinge ift tklayalm.

    4. Relaxation rulelara tanmlamak isteimiz renilen kural seip Edit&Deploya tklayalm.

  • 5. Kural grdkten sonra Oke tklarak relaxation rulelara tanmlayalm. Netscaler 10.5 versiyonunda HTML Cross-Site Scripting korumasnda Value Type ve Value Expression alanine bulunmamaktadr.

  • 6. Bu kural learned ruledan silinecek ve Advaced Setting >Relaxation Rules tabndada bulunan relaxation rulelarna aada ekilde grld gibi eklenecektir.

    HTML Cross-Site Scripting kontrolnn ayarlanmas.

    1. Security>Application Firewall > Profiles gidip WAF profilemz seip Edite tklayalm. 2. Advanced Settings panosundan Security Checkse tklayalm. 3. Security Check tablosu btn security checkler iin gncel olarak ayarlanan aksiyon

    ayarlarn gsterir. Konfigrasyon iin aada ki iki seenek bulunmaktadr.

    a. Eer HTML Cross-Site Scripting iin sadece Block, Log, Stat ve Learn aksiyonlarn enable veya disable etmek istiyorsanz taboda ki check kontrollerini seebilir veya checkleri temizleyebilirsiniz. Sonrasnda OKe tklanmal ve Save and Closea tklanarak Securit Check kapatlmaldr.

  • b. Eer HTML Cross-Site-Scripting iin ek seenekler ayarlanacaksa aada ki seenekleri grebilmek iin HTML Cross-Site Scriptinge ift