• Tinklo saugumas

Kaip iš tikrųjų sukurti saugią ir patikimą 'AWS Cloud' architektūrą neprarandant proto

  • Felix Rose-Collins
  • 4 min read

Įvadas

Jei kada nors bandėte kurti debesijos architektūrą AWS sistemoje nuo nulio, tikriausiai jau žinote, kad tai lygiomis dalimis laisvė ir chaosas. Yra tūkstantis būdų ką nors sukurti ir tiek pat būdų tai sugadinti.

Trumpai pažvelgę į AWS dokumentaciją galite pagalvoti: "Puiku, tiesiog laikysimės pirmapradės praktikos". Tačiau realioje tarptautinėje aplinkoje aukščiausios kokybės praktika dažnai negyvena iš pirmo karto susidūrus su realiais komercinės įmonės poreikiais, kainų diapazono ribomis ar žmogiškosiomis klaidomis. Todėl, jei iš pradžių dirbsite su tokiais profesionalais kaip "perfsys", išvengsite vėlesnio lošimo su apsaugos skylėmis ir mastelio keitimo komplikacijomis.

Tikslas yra ne tik gauti kažką, kas veikia. Tai sukurti sistemą, kuri nesugriūtų, kai padidėja duomenų srautas arba regionas užgęsta - ir nepalikti plačiai atvertų durų į internetą.

Pradėkime nuo to, kas akivaizdu: AWS yra žvėris

Naudodami AWS galite sukurti praktiškai bet ką. Čia yra visos sudedamosios dalys - nuo dviejų žmonių startuolių iki didelių įmonių platformų: EC2, "Lambda", RDS, S3, IAM, VPC, VPC, sąrašas tęsiasi. Tačiau problema? Kuo daugiau galimybių, tuo lengviau sukurti painiavą.

Tai nereiškia, kad AWS yra blogai suprojektuota. Tiesiog reikia ją tinkamai suprojektuoti. Priešingu atveju turėsite tai, ką kai kurios komandos vadina "debesų spagečiais": tarpusavyje susijusios paslaugos, sunkiai užkoduotos paslaptys, jokio žymėjimo, jokio registravimo ir absoliučiai jokio supratimo, kas kiek kainuoja.

Patikimumas ir saugumas nėra malonūs dalykai

Saugumą ir patikimumą vilioja traktuoti kaip ateities jūsų problemą. "Apsaugosime, kai pradėsime veikti". "Stebėseną pridėsime kitą sprintą." Tačiau paklauskite bet kurio, susidūrusio su duomenų saugumo pažeidimu ar kelių valandų trukmės gedimu, - jei šiuos veiksmus praleisite, galiausiai teks dirbti visą naktį.

Ką iš tikrųjų reiškia patikimumas

Tai nėra apie veikimo laiko garantijas ant skaidrių. Tai - gedimų inžinerija. Paslaugos neveikia. Sutrinka diskai. API neveikia. Svarbu tai, ar jūsų sistema veikia, kai viskas sugenda.

Ar turite atleidimą iš darbo visose prieinamumo zonose? Ar jūsų sistema gali toleruoti sugedusį duomenų bazės mazgą, neprarasdama duomenų ar neišmesdama klaidų? Ar svarbiausius darbo krūvius naudojate viename regione, nes "taip buvo lengviausia įdiegti"? Tai klausimai, kurie skiria veikiančias sistemas nuo atsparių.

O saugumas? Tai ne tik IAM

Taip, tapatybės ir prieigos valdymas (IAM) yra pirmoji siena. Tačiau saugumas apima kur kas daugiau. Viešai prieinami S3 kibirėliai. Per dideli įgaliojimai vaidmenims. Paslaptys, kietai užkoduotos "Lambda" funkcijose. Prisijungimas išjungtas "taupant išlaidas". Visa tai - uždelsto veikimo bombos.

Naudojant " aws" gerai parengtą architektūrinę struktūrą galima padėti nustatyti šias problemas prieš joms sprogstant. Ji suskirsto architektūrą į penkias pagrindines sritis - saugumas, patikimumas, veiklos tobulumas, našumo efektyvumas ir sąnaudų optimizavimas - ir priverčia komandas sąžiningai įvertinti kiekvieną iš jų. Tai nėra "sidabrinė kulka", tačiau ji verčia jus užduoti sudėtingus klausimus.

Statybiniai blokai, kurie iš tikrųjų yra svarbūs

Gerai, pereikime prie esmės. Štai kas svarbu kuriant saugią ir patikimą AWS architektūrą - ir kur komandos dažniausiai klysta.

Tinkamas IAM vaidmenų naudojimas (taip, tikrai)

IAM vaidmenys yra galingi. Kartais pernelyg galingos. Pernelyg lengva uždėti "AdministratorAccess", nes kažkas neveikia, pažadėti, kad vėliau tai ištaisysime... ir niekada to neištaisyti.

Susipažinkite su "Ranktracker

Efektyvaus SEO "viskas viename" platforma

Už kiekvieno sėkmingo verslo slypi stipri SEO kampanija. Tačiau turint daugybę optimizavimo priemonių ir metodų, iš kurių galima rinktis, gali būti sunku žinoti, nuo ko pradėti. Na, nebijokite, nes turiu ką padėti. Pristatome "Ranktracker" "viskas viename" platformą, skirtą efektyviam SEO

Pagaliau pradėjome registruotis į "Ranktracker" visiškai nemokamai!

Sukurti nemokamą paskyrą

Arba Prisijunkite naudodami savo įgaliojimus

Turite tai užfiksuoti iš anksto. Mažiausių privilegijų principas yra ne tik geriausia praktika - tai vienintelis sveikas būdas veikti. Tai reiškia:

  • Kiekvienai paslaugai priskirti vaidmenys

  • Vengimas naudoti pakaitinius ženklus leidimuose

  • Trumpalaikiai įgaliojimai

  • Privalomas MFA naudotojams žmonėms

Skamba kaip skausmas? Taip ir yra. Bet taip pat kaip ir aiškinimasis viršininkui, kodėl kažkas iš netinkamai sukonfigūruotos "Lambda" išviliojo klientų duomenis.

Atskirkite savo tinklą taip, tarsi tai reikštų

Tai dar viena sritis, kurioje trumpas kelias atsigręžia priešinga linkme. Nereikia itin sudėtingos tinklo sąrankos, bet kai kurie pagrindai yra labai svarbūs:

  • Vieši potinkliai tik tiems dalykams, kurie turi būti nukreipti į internetą (pvz., ALB)

  • Privatūs potinkliai, skirti viskam kitam

  • NAT šliuzai kontroliuojamai išeinančiai prieigai

  • VPC galiniai taškai, skirti AWS paslaugų srautui, kuris nepatenka į viešąjį internetą

Tačiau, jei tinklo tinklas yra atskiras, tai labai svarbu. Kol kas nors sugenda ir viską nusineša kartu su savimi.

Registravimas ir stebėjimas: Neištaisysite to, ko nematote.

Dėl to net nebeturėtų būti diskutuojama. Registravimas nėra neprivalomas. Jei nefiksuojate "CloudTrail", "CloudWatch" metrikų ir VPC srautų žurnalų, skraidote aklai.

Tačiau čia yra vienas kabliukas - vien registravimo nepakanka. Reikia iš tikrųjų peržiūrėti žurnalus. Kurkite perspėjimus apie svarbius dalykus. Išfiltruokite triukšmą. Ir įsitikinkite, kad žurnalai yra centralizuoti visose paskyrose ir regionuose. Išskaidytas matomumas - tai joks matomumas.

Viską šifruokite (be išimčių)

Naudokite KMS ramybės būsenoje esantiems duomenims. Perduodamiems duomenims naudokite TLS. Keiskite raktus. Stebėkite prieigą. Tai viena iš tų sričių, kur tinginystė dabar labai brangiai kainuoja vėliau.

Nepamirškite tokių dalykų kaip RDS šifravimas, EBS tūrio nustatymai ir API vartų TLS užtikrinimas. Šios smulkmenos kaupiasi.

Infrastruktūra kaip kodas arba žlugimas

Vis dar diegiate spustelėdami AWS konsolę? Tai gerai dev, bet pavojinga prod.

Naudokite "Terraform", "CloudFormation" arba CDK. Nepriklausomai nuo to, kas jūsų komandai labiau patinka, pasirinkite vieną ir laikykitės jo. Valdykite savo šablonus pagal versijas. Diegimui naudokite CI/CD. Automatizuokite grįžtamąjį diegimą. Diegimas rankiniu būdu - tai atviras kvietimas daryti klaidas.

Be to, viską žymėkite. Ištekliai be žymų yra tarsi kabeliai be etikečių - niekas nežino, kam jie skirti, ir visi bijo juos liesti.

Didinimas nenusileidžiant

Būkime atviri: "AWS" mėgsta, kai per daug aprūpinate išteklius. Jūs gaunate "našumą", jie gauna jūsų pinigus. Efektyvus mastelio didinimas - tai savo modelių žinojimas ir planavimas.

Naudokite automatinio masteliavimo grupes, taškinius atvejus (atsargiai) ir spartinimo sluoksnius. Bet dar svarbiau: testuokite esant apkrovai. Paskutinis dalykas, kurio norite, tai sužinoti, kad jūsų RDS egzempliorius ištirpsta dėl realaus srauto praėjus dviem dienoms po paleidimo.

Susipažinkite su "Ranktracker

Efektyvaus SEO "viskas viename" platforma

Už kiekvieno sėkmingo verslo slypi stipri SEO kampanija. Tačiau turint daugybę optimizavimo priemonių ir metodų, iš kurių galima rinktis, gali būti sunku žinoti, nuo ko pradėti. Na, nebijokite, nes turiu ką padėti. Pristatome "Ranktracker" "viskas viename" platformą, skirtą efektyviam SEO

Pagaliau pradėjome registruotis į "Ranktracker" visiškai nemokamai!

Sukurti nemokamą paskyrą

Arba Prisijunkite naudodami savo įgaliojimus

Be to, rezervuokite pajėgumus, kai tai tikslinga. Taip sutaupysite pinigų ir išvengsite netikėtų rezervavimo nesėkmių.

Atkūrimo po avarijos planai nėra pasirinktiniai

Kas atsitinka, jei regionas neveikia? Ką daryti, jei sugenda pagrindinė duomenų bazė? Jei atsakymas yra "eee... mes turėsime problemų", tuomet laikas iš naujo parengti DR strategiją.

Susipažinkite su "Ranktracker

Efektyvaus SEO "viskas viename" platforma

Už kiekvieno sėkmingo verslo slypi stipri SEO kampanija. Tačiau turint daugybę optimizavimo priemonių ir metodų, iš kurių galima rinktis, gali būti sunku žinoti, nuo ko pradėti. Na, nebijokite, nes turiu ką padėti. Pristatome "Ranktracker" "viskas viename" platformą, skirtą efektyviam SEO

Pagaliau pradėjome registruotis į "Ranktracker" visiškai nemokamai!

Sukurti nemokamą paskyrą

Arba Prisijunkite naudodami savo įgaliojimus

Tai nereiškia, kad reikia sukurti identišką infrastruktūros kopiją kitame regione. Tai reiškia, kad reikia žinoti:

  • Ką atkursite

  • Kiek laiko tai užtruktų

  • Kokie duomenys būtų prarasti (jei tokių būtų)

  • Kas už ką bus atsakingas, kai įvyks gedimas

Ir taip - turėtumėte išbandyti savo atkūrimo planą. Kitaip tai bus tik fikcija.

Dažniausiai pasitaikančios priešingos tendencijos, kurių reikia vengti

Greitai išmeskime keletą per dažnai pasitaikančių "ne" pavyzdžių:

  • Viena didelė paskyra viskam: naudokite "AWS Organizations". Atskirkite prod, dev, staging ir t. t.

  • Numatytuosius VPC ir saugumo grupes palikite nepaliestas: užrakinkite jas.

  • Pernelyg pasikliauti t2.micro egzemplioriais "testavimui" - galiausiai jie atsidurs prod.

  • Neįtraukimas į biudžetą "CloudWatch" išlaidų: taip, registravimas kainuoja. Neregistravimas kainuoja daugiau.

  • Prieigos suteikimas "tiesiog greitai sutvarkykite": vietoj to sutvarkykite savo procesą.

Baigiamieji žodžiai? Išlikite lankstūs, išlikite sveiko proto

Debesijos architektūra nėra susijusi su tobulos sąrankos paieška. Tai - kurti tai, kas būtų lankstu, patikima ir suprantama ne tik tam žmogui, kuris ją parašė.

Niekada nesate iš tikrųjų "baigę" - ir tai yra gerai. Svarbu būti sąmoningam. Iš anksto užduoti sudėtingus klausimus. Dažnai atlikti auditą. Automatizuoti ten, kur tai svarbu. Ir žinojimas, kada kreiptis pagalbos.

Nes būkime atviri - AWS yra galinga, bet joje taip pat lengva pasiklysti. Darbas su patyrusiais inžinieriais, kurie gyvena ir kvėpuoja debesijos architektūra, gali būti skirtumas tarp "dažniausiai veikia" ir "miegame naktimis".

O dėl to verta kurti.

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.

Pradėkite naudoti "Ranktracker"... nemokamai!

Sužinokite, kas trukdo jūsų svetainei užimti aukštesnes pozicijas.

Sukurti nemokamą paskyrą

Arba Prisijunkite naudodami savo įgaliojimus

Different views of Ranktracker app