Home > 3+3 AWS služby, se kterými zabezpečíte (nejen) cloudové webové aplikace

3+3 AWS služby, se kterými zabezpečíte (nejen) cloudové webové aplikace

Ochrana webových aplikací dnes neznamená jeden firewall, ale kombinaci více vrstev – od DDoS ochrany přes Web Application Firewall až po bezpečnostní roli CDN. V článku ukazuji, jak tyto vrstvy smysluplně kombinovat, aby bezpečnost fungovala jako celek a aplikace ustála případný útok.

Martin Gavanda

Ochrana webových aplikací v praxi: 3+3 AWS security služby | Encyklopedie cloudu ORBIT

Proč je ochrana webových aplikací dnes zásadní téma

Asi vás nepřekvapí, že webové aplikace jsou jedny z nejzranitelnějších v celém vašem aplikačním portfoliu. Jsou obvykle dostupné komukoliv, a kdokoliv má tedy možnost se pokusit do nich „nabourat“.

Možná si říkáte, že vám se to stát nemůže nebo že takové útoky se týkají jen velkých firem. Data a statistika ale mluví jasně:

  • 56 % organizací čelilo útoku.
  • Nárůst oproti předchozímu roku je větší než 50 %.
  • Dvě třetiny útoků proběhly na menší společnosti.
  • Za 30 % útoků mohou třetí strany (typicky neaktualizované knihovny).

Jak se tedy bránit?

Pokud hledáte jedno konkrétní řešení, budete zklamáni. Aby vaše webová aplikace byla bezpečná, musíte se zaměřit nejen na její infrastrukturu, ale i na celý vývojový cyklus aplikace od samotného vývoje přes testování až po nasazení a provoz.

V tomto článku se zaměříme hlavně na infrastrukturu a služby Amazon Web Services, ale obdobné služby jsou samozřejmě dostupné i v prostředí Azure a Jakub Procházka vám je v případě zájmu rád představí.

Co všechno znamená ochrana webových aplikací v praxi

Ochrana webové aplikace se v praxi neodehrává jen na úrovni kódu, ale i v infrastruktuře, která aplikaci obklopuje.

Tentokrát se nebudeme detailně věnovat architektuře konkrétní aplikace. Místo toho se podíváme na služby, které by měly být nasazeny před samotnou aplikací a které by jí měly poskytnout další vrstvu zabezpečení.

Obvykle zákazníkům doporučujeme implementovat tři klíčové služby pro ochranu samotné webové aplikace:

Následně doporučujeme sadu služeb pro bezpečnostní monitoring, které pokrývají následující oblasti:

Klíčové služby zajišťující ochranu webové aplikace a bezpečnostní monitoring | Encyklopedie cloudu ORBIT
Klíčové služby zajišťující ochranu webové aplikace a bezpečnostní monitoring

Ochrana webové aplikace před DDoS útoky

DDoS útoky patří mezi nejčastější hrozby pro dostupnost webových aplikací. Jejich cílem je přetížit infrastrukturu provozem, nikoli zneužít aplikační chybu.

AWS Shield chrání webové aplikace tím, že DDoS útok automaticky zablokuje – zcela autonomně, zdarma a bez nutnosti provádět jakékoliv aktivity na straně vlastníka infrastruktury. AWS Shield je dostupný ve dvou variantách:

  • Shield Standard (zdarma)
  • Shield Advanced (placená funkcionalita)

Shield Standard vám poskytne ochranu před útoky na třetí a čtvrté vrstvě, typicky různé flood útoky. Na co už ale nestačí, jsou aplikační útoky na sedmé vrstvě.

Respektive – tuto ochranu vám poskytne Web Application Firewall (při správné konfiguraci!), ale pokud hledáte zcela autonomní řešení, je Shield Advanced skvělou volbou, která vám přinese následující funkcionality:

  • Automatické vytváření Web Application Firewall pravidel
    Shield Advanced může v reakci na detekovaný útok automaticky vytvářet WAF pravidla – bez nutnosti zásahu. Systém útok rozpozná a sám začne blokovat škodlivý provoz.
  • Finanční ochrana
    Pokud útok způsobí škálování AWS zdrojů (EC2, CloudFront, Application Load Balancer atp.), AWS vám vrátí vzniklé náklady jako kredity.
  • Incident Response
    Získáte přístup k týmu AWS bezpečnostních specialistů 24/7. Během aktivního útoku vám pomůžou s mitigací, přizpůsobením pravidel a s analýzou.

Nevýhodou Shield Advanced může být cena, která je stanovena fixně na 3 000 $ ročně. Na druhou stranu tato služba chrání veškeré aplikace provozované v daném AWS účtu.

Web Application Firewall (WAF) jako klíčová vrstva ochrany

Aplikační útoky cílí přímo na logiku webové aplikace a její vstupy, a právě zde hraje klíčovou roli Web Application Firewall.

Tuto klíčovou komponentu důrazně doporučuji implementovat před jakoukoli (nejenom veřejnou!) webovou aplikaci.

AWS Web Aplication Firewall | Encyklopedie cloudu ORBIT
Web Aplication Firewall poskytuje webovým aplikacím další vrstvu ochrany.

Web Application Firewall „vidí“ do provozu na sedmé vrstvě a umožňuje kontrolovat celý obsah HTTP/HTTPS komunikace. Díky tomu dokáže efektivně blokovat široké spektrum aplikačních útoků ještě předtím, než se dostanou k samotné aplikaci, například:

  • SQL Injection 
    Útočník vkládá do formulářů nebo URL parametrů škodlivý SQL kód (jako ' OR 1=1 --) s cílem manipulovat databázovými dotazy. WAF tyto vzory rozpozná a požadavek zablokuje ještě předtím, než dojde k interakci s databází.
  • Cross-Site Scripting (XSS)
    Útočník vkládá škodlivý JavaScript (nebo HTML kód) do vstupních polí, aby se pak spustil v prohlížeči jiného uživatele. WAF filtruje nebezpečný obsah ve vstupech a zabrání jeho provedení.
  • HTTP Flood a bot útoky
    Útočník nebo botnet generuje velké množství požadavků na konkrétní endpointy, například přihlašovací formuláře nebo API. WAF dokáže požadavky z jedné IP adresy nebo session omezit (tzv. rate limiting).
  • Path Traversal
    Útočník se pokouší přistupovat k souborům mimo webroot pomocí speciálně upravených cest v URL (např. ../../etc/passwd). WAF tyto požadavky zachytí a zablokuje.
  • Malformed requests
    Útočník odesílá nevalidní nebo nestandardní požadavky, často s cílem obejít bezpečnostní kontroly nebo otestovat chování aplikace. WAF tyto požadavky filtruje na základě hlaviček, metod nebo user‑agentů.
  • OWASP Top 10
    AWS WAF obsahuje managed rule groups, které přímo pokrývají celý OWASP Top 10 – tedy nejrozšířenější kategorie webových zranitelností.

Content delivery network jako první linie obrany

Content delivery network (CDN) není jen o výkonu – z pohledu bezpečnosti tvoří první bod kontaktu mezi uživatelem a aplikací.

Možná si říkáte, že CloudFront jako content delivery network přece primárně distribuuje obsah přes globální síť edge lokací blíže k uživatelům. To je hlavní role nástroje. Ale z bezpečnostního pohledu je CloudFront první linie obrany — veškerý provoz projde přes AWS infrastrukturu ještě předtím, než se vůbec přiblíží k vaší webové aplikaci.

Zjednodušeně– útočník nikdy nekomunikuje přímo s vaší aplikací. Komunikuje s CloudFrontem a veškerá filtrace probíhá už na této úrovni.

AWS CloudFront | Encyklopedie cloudu ORBIT
CloudFront představuje první linii vaší obrany.

Co tedy CloudFront nabízí z pohledu ochrany vaší webové aplikace?

  • Skrytí webové aplikace
    Ať už je aplikace provozována v EC2, kontejnerech či serverless, uživatel či útočník nikdy nekomunikuje přímo s aplikací, ale s CloudFrontem. Samotná aplikace je tak z pohledu veřejného internetu „skrytá“.
  • Ochrana před DDos
    AWS CloudFront síť má obrovskou síťovou kapacitu rozloženou přes stovky koncových lokací po celém světě. Když přijde volumetrický DDoS útok, CloudFront ho absorbuje a distribuuje přes celou svoji infrastrukturu místo toho, aby ho přeposlal vaší aplikaci. Ta se o tom prakticky ani nedozví – z pohledu aplikace probíhá normální (filtrovaný) provoz.
  • Integrace s Web Application Firewall
    CloudFront je napojený na Web Application Firewall a každý dotaz směrem k webové aplikaci je vyhodnocován (a případně filtrován skrze WAF) na  edge lokaci – tedy co nejblíž útočníkovi a co nejdál od samotné aplikace. Škodlivý provoz se blokuje dřív, než dorazí k samotné aplikaci, což šetří výpočetní kapacitu i náklady na datový provoz.
  • Caching jako vedlejší bezpečnostní benefit
    Statický obsah (obrázky, JS, CSS, HTML) poskytuje CloudFront přímo z cache – samotná aplikace se vůbec nezatíží. Při DDoS útoku zaměřeném na statické komponenty aplikace vůbec „nepocítí“ nárůst provozu.

Jak do sebe jednotlivé vrstvy ochrany zapadají

Skutečná odolnost webové aplikace vzniká až kombinací jednotlivých vrstev ochrany, z nichž každá řeší jiný typ hrozeb.

Jednotlivé služby AWS Shield, AWS Web Application FirewallAmazon CloudFront mohou fungovat i samostatně, ale ideální je kombinovat všechny tři. Díky tomu dostanou vaše webové aplikace komplexní ochranu jak před DDoS na jakékoliv vrstvě, tak i chranu před známými i neznámými aplikačními hrozbami.

VrstvaSlužbaCo řeší
Síťová (L3/L4)AWS Shield (Advanced)Volumetrické DDoS, SYN flood, Security Response Team, Automatická konfigurace WAF
Distribuční (CDN)Amazon CloudFrontAbsorpce vysokého provozu, skrytí zdroje, geo-blocking
Aplikační (L7)AWS WAFSQL injection, XSS, rate limiting, OWASP Top 10 a další aplikační zranitelnosti

Jak chránit on-prem aplikace (mimo AWS prostředí)

Principy ochrany webových aplikací se nemění podle toho, zda aplikace běží v cloudu nebo v on‑prem prostředí. Pokud se tedy ptáte, jak ochráníte aplikaci, která není provozována v prostředí AWS, odpověď zní: úplně stejně!

V prostředí AWS implementujete pouze služby pro ochranu aplikace a veškerý provoz na pozadí odešlete do svého stávajícího datového centra.

Díky tomuto přístupu lze sjednotit ochranu cloudových i on‑prem aplikací pod jednu bezpečnostní architekturu, bez nutnosti měnit samotný aplikační stack.

Ochrana webových aplikací s pomocí AWS služeb | Encyklopedie cloudu ORBIT
Ukázaka využití jednotlivých AWS služeb pro ochranu on-prem aplikace

Webové aplikace v bezpečí: shrnutí a doporučení

Ochrana webových aplikací by dnes neměla být volitelnou součástí, ale přirozeným standardem. Webové aplikace jsou totiž běžně vystavené útokům na různých vrstvách a spoléhat se na jedno opatření jednoduše nestačí.

Smysluplná ochrana stojí na kombinaci více vrstev, které se navzájem doplňují – od ochrany před DDoS útoky přes Web Application Firewall až po roli Content Delivery Network. Teprve správně navržená architektura dokáže útoky mitigovat dříve, než se projeví na dostupnosti nebo bezpečnosti vaší webové aplikace.

Ať už aplikaci provozujete v cloudu nebo v on‑prem prostředí, principy zůstávají stejné: vrstvit ochranu, minimalizovat útokovou plochu a řešit bezpečnost už při návrhu architektury, ne až ve chvíli, kdy dojde k incidentu.

Odbornost ověřená AWS

Jsme hrdými držiteli prestižních certifikací Amazon Service Delivery pro služby Amazon CloudFrontWeb Application Firewall.

Tyto specializace potvrzují technickou expertizu, reálné zkušenosti z praxe a naši schopnost navrhovat a provozovat bezpečné architektury webových aplikací v prostředí AWS.

„The AWS Specialization Program validates AWS Partners who demonstrate technical excellence across industries, use cases, and services. To achieve an AWS Specialization, Partners must first complete rigorous technical assessments including reviews of multiple customer success examples aligned to the Specialization they wish to be recognized for.“ AWS.com

Zajímá vás víc? Např. jak detekovat hrozby a zranitelnosti už na straně aplikačního kódu? Které nástroje je možné použít? A jak by mohla (či měla?) vypadat ideální bezpečná Continuous Integration a Continuous Delivery pipeline vašich aplikací?

O tom si povíme v některém z dalších článků naší Encyklopedie cloudu, kdy se zaměříme na bezpečný vývoj aplikace.

O autorovi
Martin Gavanda
Martin Gavanda

Cloud Architect | LinkedIn

Martin je seniorní konzultant, který se zaměřuje především na oblast public cloudu – Amazon Web Services a Microsoft Azure.

Technické znalosti: Public Clouds (Azure & AWS), Cloud Architecture and Design, Cloud Security, Kubernetes & Cloud Native application design, Application Assessments & Migrations.

Podobné články

  • Bezpečný Azure? Začněte s cloud security posture managementem | ORBIT1
  • Microsoft a EU Data Boundary | ORBIT