Hvordan deaktivere AWS EC2-metadata?

Denne artikkelen vil lære deg om EC2-metadata og hvorfor det er viktig. Du vil også lære hvordan du deaktiverer metadata for å beskytte deg mot angrep som SSRF.

Amazon Web Services (AWS) har en Amazon Elastic Compute Cloud-tjeneste (Amazon EC2), som gir skalerbar prosesseringsevne. Ved å bruke Amazon EC2 kan du utvikle og distribuere apper raskere uten å foreta en maskinvareinvestering på forhånd.

Avhengig av dine behov, start så mange eller så få virtuelle servere. Sett opp nettverks- og sikkerhetsinnstillinger og kontroller lagring ved hjelp av Amazon EC2.

Informasjon om din forekomst som kan tilpasses eller administreres i en kjørende forekomst, kalles forekomstmetadata. Forekomstmetadatakategorier inkluderer vertsnavn, hendelser og sikkerhetsgrupper. I tillegg kan du få tilgang til brukerdataene du spesifiserte da du startet forekomsten ved å bruke forekomstmetadata.

Du kan inkludere et kort skript eller spesifisere parametere mens du konfigurerer forekomsten. Ved å bruke brukerdata kan du opprette generiske AMI-er og endre konfigurasjonsfilene for lanseringstid.

Du kan sette opp nye eller eksisterende forekomster for å utføre følgende oppgaver ved å bruke forekomstmetadataalternativer:

  • Krev at metadataforespørsler sendes via IMDSv2
  • Sett inn PUT-responshoppgrensen.
  • Lockdown forekomst metadatatilgang
  Hvordan kan du endre Spotify-planen din

Det er mulig å få tilgang til metadata fra en aktiv EC2-instans ved å bruke en av følgende teknikker: IMDSv1sIMDSv2

Forekomstmetadatatjenesten er kjent som IMDS. Som du kanskje antar, er metodene litt forskjellige; IMDSv1 bruker en forespørsel/svar-metode, mens IMDSv2 er øktorientert.

AWS oppfordrer deg til å bruke IMDSv2, som er den foretrukne metoden. Som standard bruker AWS SDK IMDSv2-anrop, og du kan kreve at brukere konfigurerer en ny EC2 med IMDSv2 aktivert ved å bruke IAM-betingelsesnøkler i en IAM-policy.

Bruk følgende IPv4- eller IPv6-URI-er for å vise alle typer forekomstmetadata fra en kjørende forekomst.

IPv4

krøll http://169.254.169.254/latest/meta-data/

IPv6

krølle http://[fd00:ec2::254]/nyeste/metadata/

IP-adressene er lenkelokale adresser og er kun gyldige fra forekomsten.

For å se forekomstmetadata kan du bare bruke den lenkelokale adressen 169.254.169.254 . Forespørsler til metadata via URI er gratis, så det er ingen ekstra kostnader fra AWS.

Behov for å deaktivere metadata

I AWS-oppsett er SSRF-angrepet hyppig og velkjent for alle. Angripere som automatiserer sårbarhetsskanning og samler IAM-legitimasjon fra offentlig tilgjengelige nettapplikasjoner er funnet av Mandiant (et cybersikkerhetsfirma).

  Hva er Smishing, og hvordan beskytter du deg selv?

Implementering av IMDSv2 for alle EC2-forekomster, som har ytterligere sikkerhetsfordeler, vil redusere disse risikoene for din bedrift. Muligheten for at en fiende stjeler IAM-legitimasjon via SSRF vil reduseres betydelig med IMDSv2.

Å bruke Server Side Request Forgery (SSRF) for å få tilgang til EC2-metadatatjenesten er en av teknikkene for AWS-utnyttelse som oftest læres.

Metadatatjenesten er tilgjengelig for de fleste EC2-instanser på 169.254.169.254. Denne inneholder nyttig informasjon om forekomsten, for eksempel IP-adressen, sikkerhetsgruppens navn, etc.

Hvis en IAM-rolle er knyttet til en EC2-instans, vil metadatatjenesten også inneholde IAM-legitimasjon for å autentisere som denne rollen. Vi kan stjele disse legitimasjonene avhengig av versjonen av IMDS som er i bruk og mulighetene til SSRF.

Det er også verdt å vurdere at en motstander med shell-tilgang til EC2-instansen kan få disse legitimasjonene.

I dette eksemplet kjører en webserver på EC2-forekomstens port 80. Denne webserveren har en enkel SSRF-sårbarhet, som lar oss sende GET-forespørsler til hvilken som helst adresse. Dette kan brukes til å sende en forespørsel til http://169.254.169.254.

For å deaktivere metadata

Ved å blokkere HTTP-endepunktet til forekomstmetadatatjenesten kan du forhindre tilgang til forekomstmetadataene dine, uavhengig av hvilken versjon av forekomstmetadatatjenesten du bruker.

  Hvordan lage et dynamisk definert område i Excel

Du kan reversere denne endringen når som helst ved å aktivere HTTP-endepunktet. Bruk modify-instance-metadata-options CLI-kommandoen og sett http-endpoint-parameteren til deaktivert for å deaktivere metadata for din forekomst.

For å deaktivere metadata, kjør denne kommandoen:

aws ec2 modify-instance-metadata-options –instance-id i-0558ea153450674 –http-endepunkt deaktivert

deaktivering av metadata

Du kan se at etter at jeg har deaktivert metadataene mine, får jeg en FORBUDT melding hvis jeg prøver å få tilgang til dem.

Hvis du vil aktivere metadataene dine igjen, kjør denne kommandoen:

aws ec2 modify-instance-metadata-options –instance-id i-0558ea153450674 –http-endepunkt aktivert

aktivere metadata igjen

Konklusjon

Metadata kan være nyttig for å hente ut informasjon fra store datalagre. Det kan imidlertid også misbrukes å vite om en persons plassering eller identitet uten vedkommendes viten eller samtykke. Fordi den registrerer alle endringer du gjør, inkludert slettinger og kommentarer, må du være klar over at den kan inneholde informasjon du ikke vil at andre skal kunne se. Som et resultat er fjerning av metadata avgjørende for å opprettholde personvernet og anonymiteten på nettet.

Du kan også utforske noen AWS-nøkkelterminologier som fremmer AWS-læringen din.