• Spletna varnost

Kako dejansko zgraditi varno in zanesljivo arhitekturo oblaka AWS, ne da bi izgubili pamet

  • Felix Rose-Collins
  • 5 min read

Uvod

Če ste že kdaj poskušali iz nič zasnovati arhitekturo oblaka v sistemu AWS, verjetno že veste, da je to enako svobodno in kaotično. Obstaja tisoč načinov, kako nekaj zgraditi, in prav toliko načinov, kako to pokvariti.

Ob kratkem pogledu na dokumentacijo AWS boste morda pomislili: "Super, preprosto bomo upoštevali prvovrstne prakse." Toda v resničnih mednarodnih okoljih prvovrstne prakse pogosto ne živijo ob prvem stiku z resničnimi potrebami komercialnega podjetja, omejitvami cenovnega razpona ali človeškimi napakami. Zato lahko zgodnje sodelovanje s strokovnjaki, kot je perfsys, prepreči, da bi se pozneje igrali igro z luknjami v zaščiti in zapleti pri razširjanju.

Cilj ni le dobiti nekaj, kar deluje. Gre za izgradnjo sistema, ki se ne bo zrušil, ko bo promet močno narasel ali ko bo regija ugasnila - in ne bo pustil vhodnih vrat na široko odprtih za internet.

Začnimo z očitnim: AWS je pošast

S sistemom AWS lahko zgradite praktično kar koli. Gradniki so na voljo od startupov z dvema osebama do obsežnih poslovnih platform - EC2, Lambda, RDS, S3, IAM, VPC-ji in še bi lahko naštevali. Ugotovitev? Več kot imate možnosti, lažje ustvarite zapleteno zmedo.

Ne gre za to, da bi bil sistem AWS slabo zasnovan. Gre le za to, da ga morate pravilno zasnovati. V nasprotnem primeru boste imeli to, čemur nekatere ekipe pravijo "špageti v oblaku": soodvisne storitve, težko kodirane skrivnosti, brez označevanja, brez beleženja in popolnoma brez pojma, kaj koliko stane.

Zanesljivost in varnost nista nekaj najlepšega

Skušnjava je, da bi varnost in zanesljivost obravnavali kot problem prihodnosti. "Zagotovili ga bomo, ko ga bomo začeli uporabljati." "Spremljanje bomo dodali naslednji sprint." Toda vprašajte vsakogar, ki se je že srečal s kršitvijo varnosti podatkov ali večurnim izpadom - če te korake preskočite, boste na koncu prespali vso noč.

Kaj resnično pomeni zanesljivost

Ne gre za jamstva za čas delovanja na diapozitivih. Gre za načrtovanje za primer odpovedi. Storitve so v okvari. Diski odpovedo. API-ji ne delujejo. Pomembno je, ali vaš sistem deluje tudi, ko se stvari pokvarijo.

Ali imate redundanco med območji razpoložljivosti? Ali lahko vaš sistem prenese okvaro vozlišča podatkovne zbirke, ne da bi izgubil podatke ali povzročil napake? Ali kritične delovne obremenitve izvajate v eni sami regiji, ker "je bilo to najlažje namestiti"? To so vprašanja, ki ločijo delujoče sisteme od odpornih.

In varnost? Ne gre samo za IAM

Da, upravljanje identitete in dostopa (IAM) je prvi zid. Toda varnost se razteza dlje od tega. Javno dostopna vedra S3. Vloge s prevelikimi pooblastili. Skrivnosti, trdno zakodirane v funkcijah Lambda. Izklopljeno beleženje "zaradi prihranka stroškov". Vse to so časovne bombe.

Z uporabo dobro zasnovanega okvira aws lahko te težave prepoznate, preden eksplodirajo. Arhitekturo razdeli na pet ključnih področij - varnost, zanesljivost, operativna odličnost, učinkovitost delovanja in optimizacija stroškov - in ekipe prisili, da pošteno ocenijo vsako od njih. Ne gre za srebrno puško, vendar vas prisili k postavljanju težkih vprašanj.

Gradniki, ki so dejansko pomembni

V redu, preidimo k bistvu. Tukaj je opisano, kaj je pomembno pri gradnji varne in zanesljive arhitekture v sistemu AWS - in kje se ekipe najpogosteje motijo.

Pravilna uporaba vlog IAM (da, res)

Vloge IAM so močne. Včasih so preveč močne. Preveč enostavno je, da si nadenete "AdministratorAccess", ker nekaj ne deluje, obljubite, da boste to popravili pozneje... in potem tega nikoli ne popravite.

Spoznajte Ranktracker

Platforma "vse v enem" za učinkovito SEO

Za vsakim uspešnim podjetjem stoji močna kampanja SEO. Vendar je ob neštetih orodjih in tehnikah optimizacije težko vedeti, kje začeti. Ne bojte se več, ker imam za vas prav to, kar vam lahko pomaga. Predstavljam platformo Ranktracker vse-v-enem za učinkovito SEO

Končno smo odprli registracijo za Ranktracker popolnoma brezplačno!

Ustvarite brezplačen račun

Ali se prijavite s svojimi poverilnicami

To morate zakleniti že na začetku. Načelo najmanjših privilegijev ni le najboljša praksa, temveč edini razumni način delovanja. To pomeni:

  • Vloge po posameznih storitvah

  • Izogibanje nadomestnim znakom v dovoljenjih

  • Kratkotrajna pooblastila

  • Obvezno MFA za človeške uporabnike

Zveni kot bolečina? Je. Vendar je tako kot pojasnjevanje šefu, zakaj je nekdo iz napačno konfigurirane Lambde odtujil podatke o strankah.

Ločite svoje omrežje, kot da to mislite resno

To je še eno področje, kjer se bližnjice obrnejo proti vam. Ne potrebujete zelo zapletene nastavitve omrežja, vendar so nekatere osnove zelo koristne:

  • Javna podomrežja samo za stvari, ki morajo biti obrnjene proti internetu (npr. ALB)

  • Zasebna podomrežja za vse drugo

  • Vrata NAT za nadzorovan izhodni dostop

  • Končne točke VPC za promet storitev AWS brez dostopa do javnega interneta

Ploščato omrežje VPC z vsem na istem podomrežju se zdi preprosto. Dokler se nekaj ne pokvari in s seboj ne odnese vsega.

Beleženje in spremljanje: Ne morete popraviti tistega, česar ne vidite

O tem ne bi smeli več razpravljati. Beleženje ni izbirno. Če ne zajemate dnevnikov CloudTrail, metrik CloudWatch in dnevnikov pretoka VPC, ste na slepo.

Toda tu je uganka - samo beleženje ni dovolj. Dnevnike morate dejansko pregledati. Ustvarite opozorila za stvari, ki so pomembne. Odfiltrirajte šum. In poskrbite, da bodo dnevniki centralizirani v vseh računih in regijah. Razdrobljena preglednost je brez preglednosti.

Šifrirajte vse (brez izjem)

Za podatke v mirovanju uporabite sistem KMS. Za podatke pri prenosu uporabite TLS. Rotirajte ključe. Spremljajte dostop. To je eno od tistih področij, na katerih je lenoba zdaj zelo draga pozneje.

Ne pozabite na stvari, kot so šifriranje RDS, nastavitve volumnov EBS in uveljavljanje protokola TLS na vratih API. Te majhne podrobnosti se kopičijo.

Infrastruktura kot koda ali propad

Še vedno uvajate s klikanjem po konzoli AWS? To je dobro za razvijalce, nevarno za prodajalce.

Uporabite Terraform, CloudFormation ali CDK. Ne glede na to, kaj je vaši ekipi ljubše - izberite eno in se je držite. Nadzorujte različice svojih predlog. Za namestitev uporabite CI/CD. Avtomatizirajte povratne objave. Ročno nameščanje je povabilo k napakam.

Prav tako: vse označite. Viri brez oznak so kot kabli brez oznak - nihče ne ve, čemu so namenjeni, in vsi se jih bojijo dotakniti.

Širjenje brez potapljanja

Bodimo jasni: AWS obožuje, če imate prevelike zaloge. Vi dobite "zmogljivost", oni pa vaš denar. Učinkovito povečevanje obsega pomeni poznavanje vzorcev in načrtovanje zanje.

Uporabljajte skupine za samodejno skaliranje, spot instance (previdno) in plasti predpomnilnika. Še pomembneje pa je, da testirate pod obremenitvijo. Zadnja stvar, ki si jo želite, je, da bi dva dni po začetku delovanja ugotovili, da se vaš primerek RDS topi pod dejanskim prometom.

Spoznajte Ranktracker

Platforma "vse v enem" za učinkovito SEO

Za vsakim uspešnim podjetjem stoji močna kampanja SEO. Vendar je ob neštetih orodjih in tehnikah optimizacije težko vedeti, kje začeti. Ne bojte se več, ker imam za vas prav to, kar vam lahko pomaga. Predstavljam platformo Ranktracker vse-v-enem za učinkovito SEO

Končno smo odprli registracijo za Ranktracker popolnoma brezplačno!

Ustvarite brezplačen račun

Ali se prijavite s svojimi poverilnicami

Kadar je to smiselno, rezervirajte zmogljivosti. To prihrani denar in prepreči nepričakovane napake pri zagotavljanju.

Načrti za obnovitev po nesreči niso izbirni

Kaj se zgodi, če regija odpove delovanje? Kaj če se primarna zbirka podatkov poškoduje? Če je odgovor "uh... bomo v težavah", potem je čas, da spremenite svojo strategijo za reševanje.

Spoznajte Ranktracker

Platforma "vse v enem" za učinkovito SEO

Za vsakim uspešnim podjetjem stoji močna kampanja SEO. Vendar je ob neštetih orodjih in tehnikah optimizacije težko vedeti, kje začeti. Ne bojte se več, ker imam za vas prav to, kar vam lahko pomaga. Predstavljam platformo Ranktracker vse-v-enem za učinkovito SEO

Končno smo odprli registracijo za Ranktracker popolnoma brezplačno!

Ustvarite brezplačen račun

Ali se prijavite s svojimi poverilnicami

To ne pomeni, da morate zgraditi identično kopijo infrastrukture v drugi regiji. Pomeni, da morate vedeti:

  • Kaj boste obnovili

  • Koliko časa bi trajalo

  • Kateri podatki bi bili izgubljeni (če bi bili)

  • Kdo je odgovoren za kaj med odpovedjo

In da - svoj načrt obnovitve morate preizkusiti. V nasprotnem primeru je le fikcija.

Pogosti vzorci, ki se jim je treba izogibati

Na hitro si oglejmo nekaj prepovedi, ki se prepogosto pojavljajo:

  • En velik račun za vse: uporabite AWS Organizations. Ločite prod, dev, staging itd.

  • Privzete prostore VPC in varnostne skupine pustite nedotaknjene: zaklenite jih.

  • Pretirano zanašanje na instance t2.micro "za testiranje" - sčasoma bodo končale v prod.

  • Nezagotavljanje proračunskih sredstev za stroške CloudWatch: da, beleženje stane denar. Če se ne beleži, to stane več.

  • Dajanje dostopa do "samo hitro popravite": namesto tega popravite svoj proces.

Končne besede? Ostanite prilagodljivi, ostanite pri zdravi pameti

Arhitektura v oblaku ni povezana z iskanjem popolne nastavitve. Gre za gradnjo nečesa, kar je prilagodljivo, robustno in razumljivo več kot le osebi, ki ga je napisala.

Nikoli niste zares "končani" - in to je v redu. Pomembno je biti nameren. Zgodnje postavljanje težkih vprašanj. Pogosto revidiranje. avtomatiziranje, kjer je to pomembno. In vedeti, kdaj je treba poklicati pomoč.

Kajti bodimo iskreni - sistem AWS je mogočen, vendar se v njem zlahka izgubimo. Sodelovanje z izkušenimi inženirji, ki živijo in dihajo z arhitekturo v oblaku, lahko pomeni razliko med "večinoma deluje" in "ponoči spimo".

In za to se splača graditi.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Začnite uporabljati Ranktracker... brezplačno!

Ugotovite, kaj preprečuje uvrstitev vašega spletnega mesta.

Ustvarite brezplačen račun

Ali se prijavite s svojimi poverilnicami

Different views of Ranktracker app