Oppnå skysamsvar med AWS

Tror du at samsvar er viktig?
Som programvareingeniører bygger vi produkter som tilhører ulike domener. Uavhengig av domenet ligger ansvaret for å sikre kundenes sensitive data på våre skuldre. Du kan kjøre produktet lokalt, du kan kjøre det i skyen eller kanskje du planlegger å overføre det til skyen. Uansett hva som gjelder, er 'kundens datasikkerhet' viktig.
Ofte må du også etterleve iboende forskriftsamsvar for bestemte produktdomener. Hvis du for eksempel er i domenet for e-handel og håndterer brukernes kredittkortinformasjon, må du være i samsvar med PCI DSS. Hvis du er i helsedomenet, må du sannsynligvis følge HIPAA. På samme måte finnes det mange forskrifter du må følge i ulike domener.
Hvis produktet ditt tilhører et slikt domene, må du overholde samsvaret som følger med. Manglende overholdelse kan føre til søksmål og strenge straffer.
AWS kan redde deg :)
Hvis systemene dine tilfeldigvis ligger på AWS-skyplattformen, er du heldig. AWS tilbyr mange tjenester for å enklere oppnå samsvar. Ta en titt på de viktigste sertifiserings- og sikringsprogrammene til AWS i figuren nedenfor.
I resten av dette innlegget vil vi fokusere på hvordan AWS støtter deg med å oppnå samsvar med PCI DSS (Payment Card Industry data Security Standard) for et e-handelsselskap. Vi vil diskutere bruken av ulike AWS-tjenester for å oppnå dette.
PCI DSS-samsvar
PCI DSS-samsvar må implementeres av alle enheter som er involvert i behandling, lagring eller overføring av kreditt-/debetkortholderdata. Hvis produktet ditt godtar VISA, MasterCard, American Express og osv … kreditt-/debetkort fra kunder for å behandle betalinger, må du overholde PCI DSS. Ta en titt på PCI DSS-referanseveiledning. Det er 12 hovedkrav for å oppfylle PCI datasikkerhetsstandarder. Under hvert av hovedkravene er det mange underkrav som kunden må tilfredsstille. Last ned PCI DSS-standarden publisert av PCI Security Standards Council.
Installer og oppretthold en brannmurkonfigurasjon for å beskytte kortholderdata
Det første kravet tvinger deg til å ha en brannmur ved hver internett-tilkobling. Høres det vanskelig ut å gjennomføre? Vel, det er det ikke.
***AWS Services***: Vi kan bruke VPC Security Groups, NACAL og Config når vi konstruerer produktet vårt. Her er en måte du kan gjøre det på.
- Bruk VPC-er til å dele nettverket ditt i offentlige og private delnett
- Kortholderdata går inn i de private subnettene (ikke offentlig tilgjengelig)
- Begrens tilgangen basert på behov for å kjenne til (ikke gi tilgang til alle)
- Bruk retningslinjer for Ingress og Egress til VPC Security Group for individuelle ressurser og NACL-er for VPC på delnettsnivå
- Distribuer en formell endringsbehandlingsprosess (så du alltid vet hva som ble endret, og når)
Ikke bruk standardverdier fra leverandøren
Noen ganger gjør vi dette. Vi beholder standard passord/konfigurasjoner som fulgte med programvaren ved installasjon. Dette bør ikke gjøres, da disse konfigurasjonene kanskje ikke er optimale for dine behov.
***AWS*Services**: Bruk AMIS fra Amazon – de inneholder ikke standardkonfigurasjoner.
- Fjern og deaktiver unødvendig programvare og applikasjoner. For det første, prøv å ikke bruke unødvendig programvare i det hele tatt
- Tilpass programvarekonfigurasjonene slik at de passer til miljøet du befinner deg i
- Ikke kjør webserveren og DBMS på én forekomst. Vel, dette er et vanlig faktum når det gjelder skalerbarhet og sikkerhet
- Bruk SSH private nøkler med ekstra flerfaktorautentisering (MFA)
Beskytt lagrede kortholderdata
Dette handler om å kryptere data i ro (data som er lagret) for å beskytte kortholderdata.
***AWS*Services**: Benytt AWS-tjenester som støtter kryptering For eksempel EBS(Elastic Block Storage), S3 Encryption, KMS (Key Management Service), RDS(Relational Database Service)
- Krypter EBS-volumene som er knyttet til EC2-forekomster
- Bruk kryptering av serversiden med S3
- Aktiver kryptering på RDS
- Kan bruke kommersielle eller åpen kildekode krypteringsverktøy
- Bare lagre minimale kortholderdata
- Skift krypteringsnøklene regelmessig
Krypter overføring av kortholderdata gjennom åpne, offentlige nettverk
Dette handler om å kryptere data i bevegelse (data som sendes i sprang).
***AWS*Services**: ELB, Network ACLs, Security Groups, Customer Gateways, Virtual Private Gateways, VPN Connections, AWS Direct Connect
- Krypter data ved hjelp av SSL med en sikker krypteringspakke
- Avslutt SSL på ELB eller på webserveren
- Konfigurer VPN eller Direct Connect i kommunikasjonen med AWS og din lokasjon
Bruk og oppdater regelmessig antivirusprogramvare
Når det gjelder sårbarhetsstyring, leverer ikke AWS anti-malware for kundens EC2-forekomster. AWS-kunder må,
- Bruke antivirusprogramvare på EC2-forekomster, og kontrollere at de oppdateres automatisk
- Bruk sårbarhetsforberedelse for revisjoner
Utvikle og vedlikeholde sikre systemer og applikasjoner
***AWS*Services**: AMI, CloudTrail, CloudWatch, Config, CloudFormation, CodeCommit, CodeDeploy, CodePipeline
- Gå gjennom, test og bruk sikkerhetsoppdateringer regelmessig
- Utvikle programvare i henhold til PCI AppSpec / OWASP retningslinjer
- Bruk IAM og fjern eventuelle IAM-testbrukere fra ikke-testmiljøer
- Kontroller at MFA- og IAM-policyen brukes
- Aktiver CloudTrail, ELB og S3-logging og samle logger for revisjonsspor
- Eventuelle endringer i miljøet skal dokumenteres og godkjennes
- Unngå manuell distribusjon. Bruk CloudFormation, CodeDeploy, Chef og Puppet
Begrens tilgangen til kortholderdata etter forretningsbehov
***AWS*Services**: IAM, Directory Services
- Bruk et antall IAM-brukere og begrens policyer til bestemte funksjoner basert på forretningsbehov
- Du kan også bruke SAML og SSO for brukere av AWS-administrasjonskonsoll
Tilordne en unik ID til hver person med datatilgang
***AWS*Services**: IAM
- Ikke bruk AWS rotkonto i det hele tatt hvis det er mulig
- Kontroller at brukerne bruker IAM-kontoer eller SAML/SSO
- Aktiver flerfaktorgodkjenning for alle AWS-kontoer
- Ikke bruk delt legitimasjon noe sted
Begrens fysisk tilgang til kortholderdata
Du trenger ikke å bekymre deg for dette i det hele tatt. I henhold til modellen for delt ansvar administrerer og vedlikeholder AWS sin fysiske infrastruktur og sikkerhet. AWS dekker dette for deg.
Spor og overvåk all tilgang til nettverksressurser og kortholderdata
***AWS*Services**: CloudTrail, CloudWatch, S3
- Gå gjennom CloudTrails-logger regelmessig for å identifisere kritiske aktiviteter
- Aktiver S3 Logs, VPC FlowLogs for bedre loggbehandling.
- Bruk HIDS/HIPS sentralisert logging for å overvåke påloggingsaktiviteter, endringer i filintegritet og sikkerhetshendelser
Test sikkerhetssystemer og -prosesser regelmessig
Amazons attestasjon av samsvar (AOC, Attestation of Compliance). AWS tester systemene sine årlig for sikkerhetsproblemer. På samme måte må du også teste systemet ditt årlig.
- Sårbarhetsskanning
- Penetrasjonstesting
- Informer AWS før penetrasjonstesting
- Ha et tredjeparts revisjonsmiljø
Oppretthold retningslinjer som tar for seg informasjonssikkerhet for alle ansatte
- Retningslinjer for sikkerhet skal dokumenteres og deles med alle ansatte
- AWS innholds- og kontoinformasjon bør oppdateres regelmessig
- Ha en plan for hendelsesrespons klar før et brudd
- Få på plass 24/7-overvåking for rask respons
Så langt har vi diskutert hvordan man oppnår PCI DSS-samsvar med AWS Cloud. AWS er selv i samsvar med mange skyforskrifter, inkludert PCI DSS, men for å kreve at produktet overholder det samme må du bruke nødvendige tjenester som leveres av AWS.
For mer fra Manoj, sjekk ut bloggen hans på Medium.