- WAF apsaugo programos lygmenį filtruodamas HTTP/HTTPS srautą nuo tokių grėsmių kaip injekcijos, XSS arba „brute force“.
- Visada įjungti aptikimai apjungia taisykles, parašus, elgsenos analizę ir nuolatinius atnaujinimus.
- Yra įvairių WAF ir diegimo modelių, kurie turi būti integruoti su NGFW, IPS, SIEM ir kitais saugumo sluoksniais.
- WAAP/WAAS evoliucija prideda specialią API apsaugą, automatinį aptikimą ir pažangų robotų bei DDoS atakų mažinimą.
Žiniatinklio saugumas nebėra vien antivirusinės programinės įrangos diegimas ir viltis geriausio. Šiandien žiniatinklio programos ir API yra beveik kiekvieno verslo pagrindas , todėl jos yra pagrindiniai atakų taikiniai. Nuo internetinių parduotuvių iki skaitmeninės bankininkystės ir SaaS platformų – viskas veikia per HTTP ir HTTPS – būtent čia ir praverčia žiniatinklio programų užkardos.
Šiuolaikinė WAF sistema ne tik filtruoja srautą: ji siūlo nuolatinį aptikimą žiniatinklio programų užkardoje , realiuoju laiku koreguoja savo taisykles, integruojasi su kitais gynybos lygmenimis ir padeda laikytis tokių reglamentų kaip PCI DSS ar BDAR. Svarbiausia yra iki galo suprasti, ką ji daro, kaip veikia, kokie modeliai egzistuoja ir kaip ją įdiegti nepakenkiant našumui ar naudotojo patirčiai.
Kas yra WAF ir kodėl jis šiandien toks svarbus?
Žiniatinklio programų užkarda (WAF) yra specializuotas saugos mechanizmas, esantis OSI modelio 7 sluoksnyje , skirtas stebėti, filtruoti ir blokuoti HTTP ir HTTPS srautą, įeinantį ir išeinantį iš žiniatinklio programos arba API. Skirtingai nuo tradicinės užkardos, kuri apsaugo visą tinklą (3 ir 4 sluoksniai), WAF yra tarp kliento ir programos ir supranta žiniatinklio užklausų kontekstą.
Pagrindinė jos misija – sustabdyti atakas, kurios išnaudoja pačios programos pažeidžiamumus : SQL injekcijas, kryžminį scenarijų vykdymą (XSS), kryžminį užklausų klastojimą (CSRF), autentifikavimo piktnaudžiavimą, bandymus taikyti „brute force“, kriptografinių ar prieigos kontrolės trūkumų išnaudojimą ir kt. Daugelis šių grėsmių yra įtrauktos į garsųjį OWASP 10 geriausių grėsmių sąrašą, kuris išlieka pramonės etalonu ir po dešimtmečių.
Šio tipo užkarda gali būti siūloma kaip fizinis įrenginys, serveriuose įdiegta programinė įranga arba debesijos paslauga . Nepriklausomai nuo modelio, idėja ta pati: patikrinti kiekvieną HTTP/HTTPS užklausą, palyginti ją su saugumo politikos rinkiniu ir per milisekundes nuspręsti, ar leisti, blokuoti ar užginčyti klientą (pavyzdžiui, naudojant „captcha“ arba „JavaScript“ užklausą).
Aplinkoje, kurioje programos išleidžiamos greitai, naudojant atvirojo kodo komponentus ir nuolat diegiant, įprasta, kad pažeidžiamumai atsiranda gamybinėje aplinkoje dar prieš juos ištaisant . Būtent čia WAF veikia kaip „oro pagalvė“: ji netaiso kodo, bet gali užkirsti kelią atakoms, kuriomis siekiama jį išnaudoti.
Pagrindinės grėsmės, kurias blokuoja žiniatinklio programų užkarda
Tinkamai sukonfigūruotas WAF gali sušvelninti daugybę atakų prieš programas ir API . Kai kurios iš dažniausiai pasitaikančių yra:
- SQL injekcija (SQLi)Užpuolikas bando įterpti SQL komandas į formas arba parametrus, kad nuskaitytų, modifikuotų arba ištrintų duomenis iš duomenų bazės.
- Skirtingų svetainių scenarijus (XSS)Tai apima kenkėjiškų scenarijų įterpimą į tinklalapius, kad būtų vykdomas kodas kitų vartotojų naršyklėse.
- Kelių svetainių užklausų klastojimas (CSRF)Vartotojas apgaule siunčia nepageidaujamas užklausas programai, prie kurios jis jau yra prisijungęs.
- Žiaurios jėgos atakos ir įgaliojimų klastojimasSlaptažodžiai arba vartotojo vardo ir slaptažodžio deriniai yra testuojami tol, kol jie sėkmingai įrodomi, paprastai masiškai ir automatiškai.
- Buferio perpildymas ir serverio pažeidžiamumų išnaudojimasanomalūs įvesties šablonai, kuriais siekiama sutrikdyti programos logiką arba atmintį.
- Programos lygio DDoS ataka: užtvindyti konkrečius URL arba galinius taškus užklausomis, kad būtų išeikvoti programos ištekliai.
Be to, šiuolaikiniai WAF apima galimybes aptikti ir sustabdyti kenkėjišką botų srautą (agresyvų duomenų išgavimą, automatinius prisijungimus, masinį bilietų pirkimą ir kt.), naudojant tokius metodus kaip „JavaScript“ patvirtinimas, CAPTCHA, elgesio analizė arba įrenginio identifikavimas.
Kaip veikia nuolatinio įjungimo aptikimas WAF sistemoje
Vidinis WAF veikimas pagrįstas giliu HTTP/HTTPS srauto tikrinimo varikliu ir politikų arba taisyklių rinkiniu. Kiekviena užklausa analizuojama keliais lygmenimis, siekiant nustatyti jos paskirties vietą:
Viena vertus, yra iš anksto apibrėžtos taisyklės , dažnai pagrįstos standartiniais rinkiniais, tokiais kaip OWASP ModSecurity Core taisyklių rinkinys arba patentuoti atitikmenys. Šios taisyklės apima žinomus atakų parašus (tipinius SQL injekcijos, XSS, kelio apėjimo ir kt. modelius).
Kita vertus, nuolat įjungtas aptikimas remiasi pažangesniais analizės metodais :
- Reguliarūs posakiai kad būtų galima rasti įtartinus modelius parametruose, antraštėse, tekste ir keliuose.
- Rizikos vertinimo modeliai kurie priskiria „pavojingumo balą“ sujungdami kelis kiekvienos užklausos signalus.
- SmartParse sudėtingų struktūrų (JSON, XML, užkoduotų naudingųjų apkrovų), siekiant nustatyti atakas, kurios yra paslėptos tarp teisėtų duomenų.
- Elgesio analizė ir istorinio srauto koreliaciją, siekiant atskirti įprastą elgesį nuo subtilesnių atakų modelių.
Visa tai leidžia WAF taikyti politikas realiuoju laiku: leisti, blokuoti, registruoti arba ginčyti užklausas . Be to, įvykiai įrašomi išsamiuose žurnaluose, kurie vėliau gali būti siunčiami į SIEM arba SOAR platformą koreliacijai, auditui ir automatiniam atsakymui.
Svarbiausia, kad aptikimai nėra statiški. Efektyvus WAF nuolat atnaujina taisykles ir parašus , kad prisitaikytų prie naujų pažeidžiamumų ir apėjimo metodų, o daugelis jų naudoja mašininį mokymąsi ir debesijos pagrindu veikiančią grėsmių žvalgybą, kad būtų patobulintas aptikimas be nuolatinio rankinio įsikišimo.
Saugumo modeliai: juodasis sąrašas, baltasis sąrašas ir hibridinis
Programos užkardos elgseną galima apibrėžti pagal tris pagrindinius saugumo metodus:
- Neigiamas saugumo modelis (juodasis sąrašas)Užklausos leidžiamos pagal numatytuosius nustatymus, išskyrus tas, kurios atitinka parašus ar šablonus, priskirtus kenkėjiškoms kategorijoms.
- Teigiamas saugumo modelis (baltasis sąrašas)Viskas, kas nėra aiškiai leidžiama, yra blokuojama; praleidžiamos tik tos užklausos, kurios atitinka labai specifinį „gero srauto“ profilį.
- Hibridinis modelisAbu metodai yra derinami, taikant baltuosius sąrašus kritinėms operacijoms ir juoduosius sąrašus likusiam srautui.
Baltasis sąrašas paprastai yra saugesnis, bet ir sudėtingesnis konfigūruoti , nes reikia gerai suprasti, kas yra teisėtas srautas. Juodasis sąrašas iš pradžių yra paprastesnis, tačiau jis gali palikti spragų nulinės dienos atakoms ar naujoms technikoms. Todėl daugelis šiuolaikinių WAF renkasi hibridinį metodą, kurį galima pritaikyti pagal programą ar galinį tašką.
WAF tipai pagal jų diegimą
Priklausomai nuo to, kur ir kaip jos įdiegtos, galime išskirti kelis žiniatinklio programų užkardų tipus, kurių kiekvienas turi savo privalumų ir trūkumų, susijusių su kaina, valdymu, matomumu ir našumu :
- Tinklo pagrindu veikiantys WAF (aparatinė įranga)fiziniai įrenginiai, esantys tinklo infrastruktūroje, tarp interneto ir programų serverių.
- Pagrindinio kompiuterio arba programinės įrangos pagrindu veikiantys WAFJie montuojami tiesiai į serveriai, kuriuose veikia programa, arba kaip modulis, integruotas į paties programėlės rinkinį.
- debesijos pagrindu veikiančios WAF sistemosSiūlomi kaip debesijos arba periferinio / CDN teikėjo paslauga, jie paprastai konfigūruojami keičiant DNS arba tarpinio serverio nustatymus.
- Hibridiniai diegimaiJie sujungia vietinius WAF (vietinius arba pagrindinius) su debesijos pagrindu veikiančiais WAF, kad vienu metu apimtų mišrias, pasenusias ir debesijos pagrindu veikiančias aplinkas.
Tinklo įrenginiai pasižymi mažu delsos laiku ir plačiu vietiniu valdymu , tačiau jiems reikia investicijų į aparatinę įrangą ir priežiūrą. Pagrindiniai WAF įrenginiai suteikia išsamų programos matomumą, nors jie naudoja serverio išteklius ir reikalauja daugiau valdymo. Debesijos paslaugos išsiskiria savo mastelio keitimu, greitu diegimu ir lengva priežiūra, nors jos aukoja dalį vidinės kontrolės ir kai kuriais atvejais visą visų grėsmių kontekstą.
WAF ir kitos saugumo sistemos: NGFW, IPS ir tradicinės užkardos
Dažnai painiojamas WAF vaidmuo su kitais saugumo įrenginiais. Kiekvienas iš jų turi savo vietą architektūroje:
Tradicinė užkarda apibrėžia perimetrą tarp vidinio ir išorinio tinklo, žemu lygiu kontroliuodama prievadus, IP adresus ir protokolus. Ji nesupranta žiniatinklio programų logikos, formų ar URL turinio.
Naujos kartos užkarda (NGFW) išplečia šį klasikinį modelį, pridėdama giluminę paketų patikrą, naudotojų ir programų kontrolę, antivirusinę, kenkėjiškų programų šalinimo ir grėsmių žvalgybos integraciją. Kai kurios NGFW apima WAF galimybes, tačiau jos daugiausia dėmesio skiria tinklui, o WAF yra visiškai orientuotas į programų lygmenį.
Kita vertus, įsilaužimų prevencijos sistema (IPS) analizuoja visą tinklo srautą, visuose protokoluose, kad aptiktų bendrinius atakų modelius. Paprastai ji remiasi parašais ir taisyklėmis, kurios yra mažiau kontekstualios nei žiniatinklio programų fable (WAF), ir ne visada taip giliai įsiskverbia į HTTP semantiką ar programos verslo logiką.
Praktiškai patikima architektūra apjungia NGFW, IPS ir WAF , kurių kiekvienas specializuojasi savo sluoksnyje, tiekdamas duomenis centrinei SIEM sistemai, kuri koreliuoja įvykius, generuoja įspėjimus ir leidžia koordinuotai reaguoti, bei sujungia juos su saugumo įrankiais , kad būtų galima automatizuoti valdymą.
WAF diegimo programų architektūroje būdai
Be sprendimo tipo, turite nuspręsti, kaip WAF bus integruotas į programos srautą . Dažniausiai naudojami metodai yra šie:
- Skaidrus tiltasWAF yra internete, prijungtas prie tų pačių prievadų kaip ir programa, klientams ar serveriams jo tiesiogiai „nematant“.
- Skaidrus atvirkštinis tarpinis serverisProgramos žino apie WAF, bet klientui atrodo, kad jos bendrauja tiesiogiai su programa.
- Aiškus atvirkštinis tarpinis serverisKlientai žino, kad jungiasi prie tarpinio serverio, kuris savo ruožtu persiunčia užklausas vidiniams serveriams.
Tilto režimas paprastai yra lengviausiai įdiegiamas, nes jam reikia mažiau konfigūracijos pakeitimų, tačiau jis siūlo mažesnę izoliaciją tarp programos ir užkardos . Įvairūs atvirkštinio tarpinio serverio variantai užtikrina geresnę programos izoliaciją, palengvina TLS apkrovos mažinimą, leidžia tikrinti užšifruotą srautą ir suteikia daugiau lankstumo taikant išplėstines taisykles arba apkrovos balansavimo logiką.
Pagrindiniai žiniatinklio programų užkardos naudojimo pranašumai
Gerai suderinto WAF diegimas suteikia aiškių privalumų tiek techniniu, tiek verslo lygmenimis. Tarp svarbiausių yra šie:
- Išplėstinė apsauga nuo konkrečioms programoms skirtų atakųkurių tinklo užkarda ar paprasta IPS negalėtų blokuoti tokiu pat tikslumu.
- Duomenų saugumo pažeidimų ir paslaugų teikimo sutrikimų rizikos mažinimasišvengiant tiesioginių išlaidų (sustabdymų, gelbėjimo veiksmų, baudų) ir netiesioginių išlaidų (reputacijos žalos, pasitikėjimo praradimo).
- Pagalba laikantis teisės aktų reikalavimųypač tokiuose reikalavimuose kaip PCI DSS, kurie reikalauja apsaugoti internetu veikiančias programas ir įrodyti grėsmių stebėjimą bei blokavimą.
- Mastelio keitimas ir lankstumasypač debesijos ir periferijos modeliuose, kurie leidžia sugerti srauto šuolius ir kintamas apkrovas neperprojektuojant visos infrastruktūros.
Daugelis profesionalių prieglobos paslaugų teikėjų siūlo į savo platformą integruotą žiniatinklio programų forumą (WAF). Tai supaprastina procesą, suteikdama svetainei ar programai automatinę apsaugą nuo injekcijos, tarpsvetainių scenarijų vykdymo (XSS), pagrindinių DDoS atakų ir autentifikavimo piktnaudžiavimo nuo pat pradžių, nereikalaujant, kad komanda nuo nulio kurtų sudėtingas taisykles.
Tikri iššūkiai diegiant WAF ir kaip su jais susidoroti
Vien dėl to, kad WAF yra galingas, dar nereiškia, kad viskas vyks sklandžiai. Reikia nepamiršti nemažai iššūkių, kad nuolat įjungti aptikimai netaptų nuolatiniu nepatogumu :
- Klaidingi teigiami rezultataiTai klasikinė problema. Prastai suderinta taisyklė gali blokuoti teisėtą srautą, nutraukti pirkimo srautą arba neleisti API veikti tinkamai.
- Poreikis nuolatiniams atnaujinimamsJei įmonės ir politika nebus modernizuotos, WAF liks aklas naujoms atakų technikoms.
- Konfigūracijos sudėtingumasGerų taisyklių apibrėžimas, žurnalų supratimas ir politikos koregavimas reikalauja specializuotų žinių.
- Poveikis našumuiKiekvienas patikrinimas padidina apkrovą. Prastas projektavimas arba netinkama vieta gali sukelti didelį vėlavimą.
- Vengimo technika užpuolikų, kurie fragmentuoja paketus, keistais būdais koduoja naudingąją apkrovą arba piktnaudžiauja protokolo ypatumais, kad apeitų valdiklius.
Šių iššūkių sušvelninimas apima gero pradinio projektavimo derinimą su nuolatine priežiūra : našumo kriterijų nustatymą, metrikos (vienalaikių vartotojų, užklausų per sekundę, atsakymo laiko) registravimą, aiškių vaidmenų apibrėžimą (kas tvarko taisykles, kas peržiūri įspėjimus, kaip dažnai peržiūrimos politikos) ir WAF integravimą su SOC, DevOps ir organizacijos stebėjimo įrankiais.
Geriausia praktika, kaip maksimaliai išnaudoti nuolat įjungtą aptikimą
Norint užtikrinti, kad jūsų programų užkarda veiktų jūsų naudai, o ne prieš jus, patartina laikytis tam tikrų praktikų, kurias daugelis gamintojų ir saugumo komandų laiko esminėmis:
- Integruoti WAF su esama infrastruktūra (CDN, apkrovos balansavimo įrenginiai, tarpiniai serveriai, SIEM, DDoS sprendimai, IPS), o ne laikyti jį „izoliuotu kubu“.
- Nuo pat pradžių apibrėžkite našumo ir saugumo KPI (klaidingai teigiamų rezultatų dažnis, blokuotos atakos, papildomas delsos laikas ir kt.).
- Pristatykite konkrečius WAF valdymo vaidmenis, suderinta su kūrimu, operacijomis ir SOC, kad taisyklės vystytųsi kartu su programomis.
- Naudokite iš anksto sukonfigūruotus taisyklių sąrašus kaip pagrindą, bet pritaikykite juos kiekvienai programai: apibrėžkite išimtis, konkrečius baltuosius sąrašus ir pasirinktines taisykles kritiniams srautams.
- Integracija su renginių valdymo platformomis (SIEM) susieti WAF žurnalus su kitais jutikliais ir gauti apžvalgą.
- Periodiškai peržiūrėkite politiką, panaikinant pasenusias taisykles ir pritaikant greičio ribojimo ribas, sesijos kontrolę bei apsaugą nuo robotų pagal faktinį vartotojų elgesį.
WAAP ir WAAS: WAF evoliucija šiuolaikinėms programoms ir API
Visur populiarėjant debesijos architektūroms, mikropaslaugoms ir API, klasikinis WAF nebebuvo tinkamas. Todėl atsirado žiniatinklio programų ir API apsauga (WAAP) , dažnai siūloma kaip žiniatinklio programų ir API saugumas (WAAS) kaip paslauga , kuri žengia dar vieną žingsnį į priekį:
- Automatinis programų ir API galinių taškų aptikimasužkirsti kelią paslaugų likimui neapsaugotoms.
- API specifikacijų importavimas („Swagger“, „OpenAPI“ ir kt.), siekiant patikrinti, ar užklausos atitinka apibrėžtą sutartį.
- Speciali OWASP API apsauga, skirta 10 geriausių ir už verslo logikos piktnaudžiavimą API iškvietimuose.
- Integruotas programų lygio robotų ir DDoS atakų mažinimasbe tradicinių WAF funkcijų.
- Galimybė taikyti skirtingas politikas kiekvienam galiniam taškuiapsunkina jautrių duomenų tvarkytojų darbą.
Šis požiūris atspindi dabartinę realybę: daugelis pažeidžiamumų nebėra kylantys iš tipinės „klasikinės“ svetainės, o iš prastai dokumentuotų API, apleistų galinių taškų ir paslaugų, veikiančių keliuose debesyse . Jų aptikimo automatizavimas ir apsauga tomis pačiomis nuolat įjungtomis aptikimo galimybėmis yra labai svarbūs siekiant užkirsti kelią atviroms užpakalinėms durims.
Apskritai geras supratimas apie tai, ką veikia WAF, kaip veikia jo nuolatinio aptikimo mechanizmai, kokie diegimo modeliai egzistuoja ir kaip jį integruoti su likusia saugumo ekosistema, leidžia sukurti daug stipresnę apsaugą aplink programas ir API, sumažinant sėkmingų atakų riziką nepakenkiant lankstumui ar naudotojo patirčiai.
