AWS Solutions Architect · leksjon

Sikkerhetsgrupper og nøkkelpar

Kontroller innkommende og utgående trafikk med sikkerhetsgrupper, og administrer SSH-autentisering med EC2-nøkkelpar.

Leksjon 3 av 413 trinn

Sikkerhetsgrupper og nøkkelpar er en gratis leksjon i AWS Solutions Architect på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AWS Solutions Architect, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AWS Solutions Architect inneholder totalt 4 leksjoner.

Hva er Security Groups?

En security group er en virtuell stateful brannmur som kontrollerer innkommende og utgående trafikk til og fra en EC2-instans (eller andre AWS-ressurser som RDS, Lambda og ELB). Security groups fungerer på instansnivå – hver regel angir en protokoll (TCP/UDP/ICMP), et portområde og en kilde/destinasjon (IP-område eller en annen security group). I motsetning til tradisjonelle brannmurer er security groups stateful: Hvis De tillater innkommende trafikk, tillates svartrafikken automatisk utgående uten en uttrykkelig regel.

Innkommende og utgående regler

Security groups har separate regelsett for innkommende og utgående trafikk. Innkommende regler kontrollerer trafikk som kommer til instansen – som standard avvises all innkommende trafikk. Utgående regler kontrollerer trafikk som forlater instansen – som standard tillates all utgående trafikk. De legger til uttrykkelige Allow-regler; security groups har ingen uttrykkelige Deny-regler (bruk Network ACLs for uttrykkelig avvisning). Alle regler i en security group evalueres samlet med logisk OR – enhver Allow-regel som samsvarer, tillater trafikken.

# Add an inbound SSH rule to a security group
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 203.0.113.0/24

# Add an inbound HTTP rule
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 80 \
  --cidr 0.0.0.0/0

Kjeding av Security Groups

Security groups støtter referanser til security groups som kilde eller destinasjon, noe som er mer fleksibelt og sikkert enn å angi IP-områder. En security group for en ALB kan for eksempel tillate 0.0.0.0/0 på port 443. Security group-en til EC2-instansene tillater innkommende trafikk på port 8080 bare fra ID-en til ALB-ens security group – ikke fra en IP-adresse. Hvis en ALB erstattes eller skaleres, gjelder regelen fortsatt korrekt uten endringer i IP-adresser. Dette mønsteret gir et lagdelt og dynamisk forsvar for arkitekturer med flere lag.

# Allow inbound from another security group (not an IP)
aws ec2 authorize-security-group-ingress \
  --group-id sg-ec2-instances \
  --protocol tcp \
  --port 8080 \
  --source-group sg-load-balancer

Security Groups er stateful

Stateful betyr at security group-en sporer tilkoblingstilstanden. Hvis den innkommende regelen tillater TCP-port 80 fra internett og en klient sender en forespørsel, tillates svarpakkene (utgående) automatisk tilbake til klienten – selv om det ikke finnes noen utgående regel for port 80. Dette er grunnleggende forskjellig fra Network ACLs, som er stateless og krever uttrykkelige regler for begge trafikkretninger. Stateful-funksjonen gjør security groups enklere å konfigurere for vanlige trafikkmønstre i applikasjoner.

Flere Security Groups på én instans

De kan knytte flere security groups til én EC2-instans (opptil 5 som standard, og dette kan justeres). Reglene fra alle tilknyttede security groups kombineres ved hjelp av en union (OR-logikk) – hvis én security group tillater en forespørsel, tillates forespørselen. Dette betyr at security groups bare kan legge til tillatelser, aldri begrense dem. Hvis De vil stramme inn tilgangen, må De fjerne eller endre regler, ikke legge til en mer restriktiv security group. Husk denne additive virkemåten i eksamensoppgaver om begrensning av tilgang.

Standardfunksjonalitet for Security Groups

Hver VPC inkluderer en default security group. Standardreglene er: Innkommende trafikk tillates fra andre instanser som også er i standard-security group-en, og utgående trafikk tillates til alle destinasjoner. Dette er med hensikt tillatende, slik at nye instanser kan kommunisere som standard. I produksjonsmiljøer bør De opprette en egendefinert security group med et strengt begrenset sett av innkommende regler og fjerne instanstilknytninger til standard-security group-en for å unngå utilsiktet eksponering.

Key Pairs: Slik fungerer de

EC2-key pairs bruker asymmetrisk kryptografi for SSH-autentisering. AWS genererer nøkkelparet (eller De importerer Deres egen offentlige nøkkel): AWS lagrer den offentlige nøkkelen og setter den inn i instansen ved oppstart; De laster ned og lagrer den private nøkkelen (.pem-fil) – AWS lagrer den aldri. SSH bruker den private nøkkelen til å bekrefte identiteten Deres overfor serveren uten å overføre et passord. Den private nøkkelen må ha begrensede tillatelser (chmod 400), ellers nekter SSH å bruke den.

# Create a key pair and save the private key
aws ec2 create-key-pair \
  --key-name ProdKey \
  --key-type rsa \
  --key-format pem \
  --query 'KeyMaterial' \
  --output text > ProdKey.pem
chmod 400 ProdKey.pem

Gjenopprette tilgang uten et Key Pair

Hvis De mister den private nøkkelen til en Linux-EC2-instans, kan De ikke logge inn via SSH på vanlig måte. Gjenopprettingsalternativer omfatter: Systems Manager Session Manager (hvis SSM-agenten kjører og en IAM-rolle er tilknyttet – ingen nøkkel kreves), EC2 Instance Connect (setter inn en midlertidig nøkkel via nettleser eller CLI – krever en åpen SSH-port og EIC-tillatelser), eller stopp instansen, koble fra rot-EBS-volumet, koble det til en annen instans, endre filen authorized_keys, koble det til igjen og start instansen på nytt. For Windows bruker De Systems Manager til å hente passordet.

# Connect using EC2 Instance Connect (temporary key injection)
aws ec2-instance-connect send-ssh-public-key \
  --instance-id i-0abcdef1234567890 \
  --instance-os-user ec2-user \
  --ssh-public-key file://~/.ssh/id_rsa.pub
ssh -i ~/.ssh/id_rsa ec2-user@54.123.45.67

Beste praksis: Begrens SSH-tilgang

Hvis SSH (port 22) står åpen for 0.0.0.0/0, utsettes instansen for brute-force-angrep og angrep med gjenbruk av stjålne påloggingsopplysninger fra hvor som helst på internett. Beste praksis er å begrense SSH til Deres spesifikke bedrifts-IP-område eller bruke en bastion host (jump box) i et offentlig subnett med en strengt kontrollert security group, og deretter bruke SSH fra bastion-verten til private instanser. Enda bedre er det å bruke Systems Manager Session Manager for å fjerne eksponeringen av SSH-porten fullstendig – da trengs ingen innkommende regler.

# Example: restrict SSH to a corporate IP range
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 198.51.100.0/24  # Your corporate CIDR

Grenser og kvoter for Security Groups

Viktige standardgrenser for security groups (kan justeres via Service Quotas): opptil 2 500 security groups per VPC, 60 innkommende og 60 utgående regler per security group og 5 security groups per nettverksgrensesnitt. Når De refererer til en annen security group som kilde, teller hver kombinasjon av referert security group og regel som én regel. Hvis De når regelgrensene, kan De konsolidere ved å referere til security group-ID-er i stedet for individuelle IP-områder, eller bruke prefix lists til å samle flere CIDR-er i én håndterbar enhet.

Managed Prefix Lists

En managed prefix list er et sett med CIDR-blokker som De kan referere til i regler for security groups eller rutetabeller. AWS vedlikeholder AWS-managed prefix lists for tjenester som S3 og CloudFront, slik at De kan tillate trafikk til og fra disse tjenestene uten å vedlikeholde IP-områder selv (IP-områdene endres over tid). De kan også opprette customer-managed prefix lists for å samle bedriftens IP-områder – oppdater prefix list-en på ett sted, så arver alle security groups som refererer til den endringen automatisk.

# Allow outbound HTTPS to Amazon S3 using the AWS-managed prefix list
aws ec2 authorize-security-group-egress \
  --group-id sg-12345678 \
  --ip-permissions '[{"IpProtocol":"tcp","FromPort":443,"ToPort":443,"PrefixListIds":[{"PrefixListId":"pl-63a5400a"}]}]'

Kort kontroll

Test forståelsen Deres av AWS Solutions Architect-konsepter (SAA-C03) fra denne leksjonen.

Oppsummering av leksjonen

I denne leksjonen lærte De at security groups er stateful virtuelle brannmurer som som standard avviser innkommende trafikk, at kjeding av security groups etter ID er sikrere og mer fleksibelt enn bruk av IP-områder, og at key pairs gir asymmetrisk SSH-autentisering, mens Systems Manager Session Manager fjerner behovet for åpne SSH-porter. Neste tema er lagringsalternativer for EC2: Instance Store sammenlignet med EBS.

Gratis å komme i gang

Lær deg AWS Solutions Architect med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Sikkerhetsgrupper og nøkkelpar» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AWS Solutions Architect, inkludert «Sikkerhetsgrupper og nøkkelpar», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i AWS Solutions Architect inneholder totalt 4 leksjoner.

Hva lærer jeg i «Sikkerhetsgrupper og nøkkelpar»?

Kontroller innkommende og utgående trafikk med sikkerhetsgrupper, og administrer SSH-autentisering med EC2-nøkkelpar. Du øver på AWS Solutions Architect med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med AWS Solutions Architect?

Ingen tidligere erfaring er nødvendig. AWS Solutions Architect på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Sikkerhetsgrupper og nøkkelpar»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne AWS Solutions Architect-leksjonen?

Ja. Alle AWS Solutions Architect-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Start Deres første EC2-instans
  2. Instanstyper og prismodeller
  3. Sikkerhetsgrupper og nøkkelpar
  4. EC2-lagring: Instance Store vs EBS
← Tilbake til AWS Solutions Architect