De 10 bästa sätten att förbättra säkerheten i AWS-molnet

Molntjänster växer i popularitet för varje år som går och med det kommer ett växande behov av att se över säkerhetsläget.

De 10 bästa sätten att förbättra säkerheten i AWS-molnet 1
Stephen Schmidt, CISO på Amazon Web Services

Här ger Stephen Schmidt, CISO på Amazon Web Services, sina tio bästa tips för att stärka skyddet i molnet.

  1. Ange korrekt kontoinformation

När AWS av någon anledning behöver komma i kontakt med dig så använder vi den information som är kopplat till det aktuella kontot i AWS Management Console, såväl e-post-adressen som skapade kontot som de som är listade som alternativa kontaktvägar. Alla mejladresser bör gå till e-post-alias så att de inte är beroende av en enskild person. Det kan vara på sin plats att ha en process för att regelbundet säkerställa att dessa adresser fungerar och att du kan svara på inkommande mejl till dem.

  1. Använd flerfaktorautentisering (MFA)

MFA är det bästa sättet att skydda konton från ovälkomna. Se alltid till att sätta upp MFA på såväl Root-användaren som de användare som använder AWS Identity and Access Management (IAM). Om du använder AWS Single Sign-On (SSO) för att hantera tillgång till AWS eller för din organisations identitetshantering så går det att aktivera MFA därifrån.

  1. Inga hårdkodade hemligheter

När man skapar applikationer på AWS går det utmärkt att använda AWS IAM-roller för att ta fram tillfälliga och kortlivade autentiseringsuppgifter för AWS-tjänster. Men en del applikationer såsom databaslösenord och API-nycklar kräver en längre livslängd. Det är viktigt att aldrig hårdkoda dem, eller lägga in dem direkt i källkoden – även om det kan verka bekvämt och smidigt.

Använd istället AWS Secrets Manager för att kontrollera informationen i din applikation. Den hjälper dig att rotera, hantera och hämta autentiseringsuppgifter för databaser, API:er och andra hemligheter genom hela livscykeln. Användare och applikationer kan enkelt hämta upp hemligheter genom ett anrop till Secrets Manager API:erna, vilket effektivt eliminerar behovet av att hårdkoda in dem i klartext.

  1. Begränsa VPC Security Groups

Genom att använda security groups kan man effektivt ge tillgång till AWS-resurser över nätverket. Att säkerställa att bara de portar som krävs är öppna och att bara betrodda enheter inom nätverket kan ansluta är grundläggande komponenter i säkerhetsarbetet. Det går också bra att använda AWS Config eller AWS Firewall Manager för att programmatiskt säkerställa att säkerhetsinställningarna för ditt Virtual Private Cloud (VPC) ser ut som du avsett och fungerar som det ska. AWS Firewall Manager kan också användas för att automatiskt applicera AWS WAF-regler på alla resurser som är öppna mot internet. Genom att använda Network Reachability kan du enkelt avgöra om dina Amazon EC2-instanser går att nå från externa nätverk.

  1. Sätt genomtänkta datapolicies

Alla data är inte lika mycket värd. Att klassificera information på ett bra sätt är centralt för att för att skydda den. Det kan vara komplicerat, kanske särskilt att hitta rätt balans mellan ett strikt säkerhetstänk och en flexibel och agil miljö; En strikt säkerhetspolicy med omfattande processer för att kontrollera vem som har tillgång till vad innebär visserligen bättre garantier för datasäkerheten men kan samtidigt sätta käppar i hjulet för en agil och snabbfotad utvecklingsorganisation där utvecklare behöver snabb tillgång till lagrad data. Den bästa modellen för att klassificera data är helt enkelt den som bäst motsvarar organisationens krav och behov.

Det första man ska ha med sig in i arbetet med att ta fram en sådan modell är att den inte behöver vara så binär som publik eller privat. Information är olika känslig och de flesta organisationer har data som passar in i olika kategorier. Det gäller också att hitta en balansgång mellan proaktiva, förebyggande, insatser och reaktiva insatser för att upptäcka när något hänt. För organisationer som helt saknar en modell för klassificering av data så är dock privat kontra publik en bra utgångspunkt. Det är också den distinktionen följande exempel utgår från:

  1. Om du har S3-buckets uppsatta för publik användning, flytta all data till ett separat AWS-konto som används enkom för just publik tillgång till data. Sätt policies som bara tillåter processer – inte användare – att flytta data till dem. Det innebär att du effektivt blockar möjligheten att skapa en publik S3-bucket på andra AWS-konton.
  2. Använd Amazon S3 för att blockera publik tillgång till alla konton som inte borde kunna dela data över Amazon S3.
  3. Använd två olika IAM-roller för kryptering och dekryptering med KMS. Det gör det enkelt att separera datainmatning (kryptering) från granskning av data (dekryptering). Det i sin tur underlättar upptäckt av hot och misslyckade dekrypteringsförsök genom analys av den specifika rollen.
  4. Centralisera CloudTrail-loggar

En robust säkerhetsplan bygger på likaledes robusta loggar och goda möjligheter till övervakning. Att kunna undersöka oväntade förändringar i miljön, eller göra snabba analyser för att justera säkerhetsarbetet kräver att man har tillgång till uppdaterad, korrekt och överskådlig information. AWS rekommenderar att du arbetar aktivt med loggar, AWS CloudTrail till en S3 bucket i ett AWS-konto dedikerat åt loggar. Kontot bör ha rättighetsinställningar som förhindrar att loggarna tas bort och lagringen bör vara krypterad. När loggarna är samlade på kontot går de enkelt att integrera i er SIEM-lösning, eller helt enkelt använda en AWS-lösning för att analysera dem. Samma AWS-konto kan dessutom användas för att samla loggar från andra platser, exempelvis CloudWatch och AWS lastbalanserare.

  1. Validera IAM-roller

Under arbetets gång blir det lätt så att man skapar IAM-roller som man efter hand upptäcker att man inte behöver. Med AWS IAM Access Analyzer kan man snabbt se över sina interna AWS-resurser och avgöra var det finns delad tillgång utanför dina AWS-konton. Att göra rutin av att se över och validera IAM-roller och behörigheter med Security Hub eller olika open source-lösningar som exempelvis Prowler ger dig den insyn och översikt som behövs för att se till att inget går utanför de Compliance-regler som finns på företaget.

  1. Agera på det du hittar

AWS har flera managerade tjänster som ger information om dina tjänster och konton som du sedan kan använda som grund för beslut eller snabbt agera på. Security Hub, Guard Duty, Identity and Access Management Access Analyzer är enkla att aktivera och kan integrera över flera konton. Att agera på informationen kan innebära att helt enkelt underrätta rätt medarbetare, men i takt med att du blir mer erfaren och använder fler tjänster kommer du att vilja automatisera hur du agerar på den information som du får.

  1. Rotera nycklar

AWS Security Hub ger dig bland annat överblick av hur dina AWS-konton linjerar mot rekommendationerna i CIS Benchmarks (Whitepaper). En av de saker som identifieras är IAM-användare med nycklar som är äldre än 90 dagar. Om du behöver använda nycklar för tillgång snarare än roller så bör du rotera dem med jämna mellanrum. Autentiseringsuppgifter med lång livslängd behövs inte.

  1. Var involverad i utvecklingscykeln

Alla råd fram till den här, den sista punkten i listan, har handlat om man bäst sätter upp sin konfiguration. De är instrumentella och är möjliga att implementera på ett tämligen enkelt sätt. Det sista rådet – att vara involverad i utvecklingscykeln – handlar om människor och handlar helt enkelt om att göra organisationen mer medveten om säkerhetsarbetet och förbättra säkerhetskulturen på företaget. Alla medarbetare har en roll att spela i att företaget är snabbfotat och säkert. Som säkerhetsfokuserade personer kan vi både vägleda och utbilda resten av organisationen så att de förstår vad de behöver göra för att höja säkerhetsribban i allt de bygger. Säkerhet är allas ansvar, inte bara något för dem som råkar ha det i sin titel.

Vad vi däremot kan göra är att göra säkerhet enklare, genom att se till att det snabbaste och smidigaste sättet att göra något också är det säkraste. Inget team bör bygga sin egen lösning för hantering av identiteter eller loggning. Det går att samordna.

Vi är starkare när vi arbetar tillsammans och det gäller – även om det är ett slitet uttryck – i minst lika hög grad för arbetet med att säkra molnet. Vårt mål är att göra säkerhet enklare och mer lättillgängligt så att alla medarbetare vill prata med säkerhetsteamet, helt enkelt för att de vet att det är dit de kan vända sig för att få hjälp.