Utviklere hardkoder ofte legitimationsopplysninger i et offentlig eller privat GitHub-repositorium, noe som øker risikoen for datalekkasjer. Det er knapt bedre å lagre statiske legitimationsopplysninger i .aws/credentials-mappen på en server eller en lokal operatørmaskin. Som den amerikanske kryptografen, forfatteren og datasikkerhetsspesialisten Bruce Schneier sier: . “Only amateurs attackWe machines; professionals target people.” Derfor er det du, ikke maskinvaren din, som er i fare.
Ved å kjøre svindelprogramvare kan nettkriminelle enkelt stjele alle dataene fra mappen eller en hel katalog med dine, venners og klienters legitimationsopplysninger. Selv AWS supportteamet er utslitt av konstante henvendelser angående stjålne legitimationsopplysninger fra offentlige Git-repositorier. Her er hvorfor: hvis du committer nøkler, forvent en e-post innen 3-5 minutter som sier at IAM-policyen er anvendt. Det betyr at du ikke kan bli kvitt policyen eller ødelegge eksponerte legitimationsopplysninger.
Selv slike tiltak løser ikke problemet. Ifølge Verizon 2022 Data Breach Investigations Report har det vært en nesten 30 % økning i stjålne legitimationsopplysninger, noe som beviser at det er en velprøvd metode for å få uautorisert tilgang til en organisasjon de siste fem årene. Faktisk står de for nesten halvparten av bruddene.
I løpet av de siste 12 månedene ble 31 000+ stjålne og lekkede legitimationsopplysninger oppdaget for FTSE 100-selskaper, mens nesten 40 % ble offentliggjort på undergrunnen. Det samme skjedde med 1 milliard poster med kinesiske private borgeres data stjålet fra Shanghai-politiet sommeren 2022. Alt dette var mulig på grunn av eksponerte legitimationsopplysninger på CSDN—det kinesiske Software Development Network.
Det verste — utviklere kan ikke gjøre noe for å forhindre angrepet selv om det oppdages raskt. Honeypot-resultater viste at det tar 1 minutt å finne eksponerte legitimationsopplysninger og iverksette angrep. Hele angrepet varer bare opptil 4 minutter fra eksponeringstidspunktet.
Bruk aws-vault for å Sikkert Lagring og Tilgang til AWS-legitimationsopplysninger i et Utviklingsmiljø Lenke til overskrift
Aws-vault er et verktøy som har tatt tak i problemet med stjålne legitimationsopplysninger i seks år allerede. Det lagrer dine IAM-legitimationsopplysninger i en sikker nøkkelring og genererer deretter midlertidige legitimationsopplysninger som eksponeres for ditt shell og applikasjoner. Derfor er ikke nøklene hardkodet eller statiske, noe som reduserer risikoen for datalekkasjer. Her er fire nøkkelproblemer som aws-vault løser:
- Sikrer tilgang til produkter under utvikling. En ingeniør som jobber med en digital løsning kan kjøre tester uten å commite nøkler i offentlige Git-repositorier. Selv om du committer hemmelighetene dine i et privat Git-repo, kan du møte sikkerhetsrisikoer. Siden ingen varsler vil bli sendt, vil du finne ut om hendelsen når produktet ditt er offentlig tilgjengelig—for eksempel hvis du skal begynne en presentasjon, men tilgangen til løsningen er blokkert.
- Kontrollerer hvilken type legitimationsopplysninger som brukes. Et vanlig problem en utvikler møter er å ikke forstå hvilke typer legitimationsopplysninger som brukes av apper. De kan være lokale, statiske hardkodede, miljøvariabler, containere, EC2 Instance profiles eller ECS Container task roles. Aws-vault fyller miljøvariabler, men kan også emulere EC2 metadata-servere og ECS legitimationsservere.
- Gir sømløs tilgang på tvers av ulike apper. Å bruke flere kontoer er normen for utviklere. Hver konto har sine egne tilgangstillatelser. Uten hardkoding må du tenke på hvor du skal lagre legitimationsopplysninger og hvordan du sikkert distribuerer dem i et team. Med aws-vault trenger du ikke å beskytte din AWS Multi-Account-strategi ved å tenke på om du skal commite nøkler eller ikke. Verktøyet sender dynamiske legitimationsopplysninger som utløper i løpet av kort tid, noe som gir et redusert tidsvindu for en hacker.
- Praktisk navigering på tvers av flere apper. Siden legitimationsopplysningene dine er av miljøtypen, kan infrastrukturverktøy i skyen som bruker AWS SDK (for eksempel Terraform) enkelt hente dem og bruke dem for å gi deg tilgang. Hvis du vil lukke alle økter, kjør exit-kommandoen. Enhver app oppdaterer automatisk dynamiske legitimationsopplysninger etter behov.
Hvordan Øve Med aws-vault Lenke til overskrift
Sannsynligvis er dine pålogginger og passord hardkodet nå. Du kan tro at det er en praktisk måte å dele legitimationsopplysninger med teamet ditt uten å overføre dem manuelt. Derfor ser koden din slik ut:
I dette tilfellet kan dataene dine enkelt bli stjålet og brukt til ondsinnede formål. Her er en kort guide om hvordan du kan forbedre sikkerheten til legitimationsopplysningene dine med aws-vault:
- Opprett en AWS-konto hvis du ikke har en. Opprett en IAM-bruker og definer roller. De lar deg få tilgang til nøkler som brukes med API eller CLI. Sett hemmelige nøkler, passord og handlinger og tilgangstillatelser.
- Hvis du bruker flere AWS-profiler, anta midlertidige privilegier for hver. Du kan lære mer om hvordan du gjør dette her.
Når du er klar, kan du begynne å generere miljølegitimationsopplysninger med aws-vault. Anta at du har en primitiv JavaScript-basert app for testing. Du initierer en kommando for vault til å hente dynamiske legitimationsopplysninger og legge dem til utviklingsmiljøene slik at appen kan kjøre. Med AWS SDK vil JavaScript-appen få legitimationsopplysningene.
Prosessen er den samme hvis du vil levere miljølegitimationsopplysninger til en enkel docker. Rediger en vanlig docker-kommando litt, og du vil motta miljølegitimationsopplysninger.
Aws-vault lar deg også simulere ESC legitimationsserver og ES2 Instance Profile. For eksempel, hvis du bruker verktøyet til å levere legitimationsopplysninger til docker-compose, vil aws-vault late som om det er en del av serveren som er ansvarlig for legitimationsoverføring. Resultatene i utviklingsmiljøet viser at aws-vault startet en lokal simulering med en spesifikk token akkurat som på ESC. Det vil være fjernlegitimationsopplysninger, mens tilgangsnøkkel og sesjonstokener ikke overføres.
Hvis du vil simulere ES2 Instance Profile, vil verktøyet kjøre en lokal proxy. Her kan du ikke unngå å bruke root. Som et resultat får du EC2 metadata-legitimationsopplysninger.
Du kan lære mer om alle de forklarte eksemplene her: https://github.com/cageyv/aws-vault-examples
Fordeler med aws-vault Lenke til overskrift
Her er hovedfordelene ved å bruke aws-vault
- Enkel funksjonalitet. Det tar bare noen få minutter å begynne å bruke verktøyet. I hovedsak må du opprette en konto, sette IAM og roller, hemmelige nøkler og et passord for å komme i gang.
- Sikkerhet. Dynamiske passord som utløper innen kort tid utgjør ikke sikkerhetstrusler, selv om de blir stjålet. En nettkriminell kan ikke stjele dem, ligge lavt og deretter plutselig stjele dataene eller appen din. Dessuten, hvis selskapet ditt bruker AWS Single Sign-on (SSO), kan aws-vault også bruke legitimationsopplysninger definert av AWS SSO CLI v2.
- Bekvemmelighet. Takket være AWS SDK støttes hele legitimationskjeden som standard. Du trenger ikke å legge til konfigurasjoner, mens appene vil oppdatere dynamiske passord hvis de utløper under økten din.
- Lokal testing. Aws-vault lar deg teste appen i miljøet der den skal lanseres før utgivelse. Du kan oppdage feil og fikse dem uten distribusjon eller å gi tilgang til administratorer eller DevOps.
En annen tjeneste som lar deg utvikle og teste apper offline er Local Stack. Den finnes i gratis- og betalte versjoner og fungerer som en metallutvikler som bygger en app med AWS lokalt. Local Stack kan simulere mange AWS-tjenester uten tilgang til skyen for å gi en sømløs kodeopplevelse. Verktøyet har en anstendig open-source database for å akselerere kodeprosessen og la deg fokusere på forretningsmål. Det samme gjelder aws-vault, som letter legitimationsoverføringer, reduserer risikoen for lekkasje av sensitiv data og lar deg bruke mer tid på meningsfulle oppgaver i stedet for å tenke på hvordan du skal overføre nøkler uten hardkoding.