En applikation i PaaS-miljö påverkas av flera säkerhetsaspekter som är viktiga att ta hänsyn till. Det är även viktigt att säkerställa att de krav som specifice-rats för säkerheten inom applikationen tillgodosetts. Det fjärde steg i PaaSM presenterar dessa säkerhetsaspekter och potentiella lösningar från Microsoft
Azure och Google Cloud.
6.5.1 Aktivitet 4.1. - Implementera säkerhetsåtgärder
för nätverksinställningar
Användning av molntjänster innebär att stora mängder data transporteras över olika nätverk vilket sätter höga krav på nätverkets säkerhet. Att låta trafik till och från applikationen gå över okrypterade kanaler är aldrig lämpligt. Krypte-ras inte trafiken kan lösenord och annan känslig information skickas i klartext över Internet. Avlyssning på trafiken kan därmed ge full tillgång till applika-tionen för obehöriga vilket i sin tur kan leda till att säkerheten övriga delar av det interna nätverket äventyras.
För att motverka säkerhetsrisker i nätverket ska det användas starka krypte-ringstekniker för nätverkstrafik, till exempel Secure Socket Layer (SSL),
Trans-port Layer Security (TLS) eller Hypertext Transfer Protocol Secure (HTTPS) i
webbaserade applikationer. Utöver krypteringstekniker ska nätverket inklude-ra en binklude-randvägg för att kontrolleinklude-ra och regleinklude-ra access till nätverkets resurser. Ytterligare bör HTTP-Headers undersökas. HTTP-Headers (request och
re-sponse) som skickas mellan klient och server innehåller vid default-inställningar
mycket information som inte direkt är ett säkerhetsproblem men däremot kan öka risken att servern skulle utsättas för en attack. Detta för att HTTP-Headers kan innehålla information om serverns mjukvaruversioner vilket i sin tur gör det lättare för en angripare att utnyttja just den versionens brister. Det är därför viktigt att minska exponering genom att anpassa dessa inställningar för att inte ge ut potentiell känslig information.
För att säkerställa att nätverket är säkert ska nätverkets inställningar under-sökas. Kontrollera att den utvalda molnleverantör använder sig av lämpliga
krypteringstekniker för nätverkstrafik och att nätverkets brandvägg är konfi-gurerad efter specificerade nätverksrelaterade krav som tagits fram i PaaSMs tidigare skede (Steg 1 och 2). HTTP-Headers ska konfigureras för att ej lämna onödig information om infrastrukturen eller applikationen.
Microsoft Azure och Google Cloud krypterar nätverkstrafiken enligt standard
och använder sig av en brandvägg och vid behov av ytterligare protokoll och/eller regler kan det specificeras i respektive plattform. Standard för både Azure och
Google Cloud är att HTTPS inte aktiverat för externa förfrågningar. Google Cloud tar automatisk bort fält ur HTTP-Headers av säkerhetsskäl, i Microsoft Azure kan detta genomföras genom att specificera regler och villkor.
6.5.2 Aktivitet 4.2. - Implementera säkerhetsåtgärder
för access till applikationen
Utöver data-access är även access till applikationen en viktig säkerhetsaspekt. Felaktiga behörigheter kan leda till dataintrång eller missbruk av applikatio-nen. För att hantera detta krävs det ordentliga implementeringar för autentise-ring och auktoriseautentise-ring.
Genomförandet av denna aktivitet skall kontrollera implementation av access till applikationen. Genomför kontroll av hur access tilldelas och säkerställ att implementationen sker enligt specificerade krav. Kontrollera hur autentisering och auktorisering sker och säkerställ att kraven uppfylls. Säkerställ även att eventuella behörigheter i applikationen efterföljs. Sträva alltid efter principen för “Minsta möjliga behörighet”.
Microsoft Azure och Google Cloud tillhandahåller båda tjänster för
autentise-ring, auktorisering och hantering av behörigheter. I Azure används Role Based
Access Control (RABC) för att hantera åtkomst och behörigheter. Det finns
även stöd för autentisering via Azure Active Directory. Google Cloud använ-der sig av Cloud Identity Access Manager för motsvarande hantering
6.5.3 Aktivitet 4.3. - Implementera säkerhetsåtgärder
för mjukvaruuppdateringar
Användandet av gammal mjukvara ökar alltid riskerna för intrång. Utdaterade program och ramverk kan innehålla säkerhetshål som lämnar applikationen och även organisationen öppen för intrång och systemfel. Uppdateringar la-gar de sårbarheter som har upptäckts . Att hålla sin mjukvara uppdaterad är viktigt men det måste ske i balans med kompatibilitet och systemstabilitet. Kontrollera att de ramverk och plattformar som applikationen är beroende av är uppdaterade och uppdateras kontinuerligt.
6.5.4 Aktivitet 4.4. - Implementera säkerhetsåtgärder
för lösenordshantering
Dåliga rutiner kring lösenord är en av de vanligaste orsakerna till att säker-heten äventyras. Det kan bero på att lösenorden är svaga, personliga lösenord återanvänds eller dålig hantering. För att minimera risken bör det finnas krav på komplexa lösenord, till exempel längd och varierande tecken, samt krav på byte av lösenord regelbundet. För att ytterligare öka säkerheten kan tvåstegs-verifiering implementeras.
Genomförandet av aktiviteten skall säkerställa att applikationens lösenords-hantering uppfyller de krav som specificeras. Kontrollera även att inga lö-senord skickas eller sparas i okrypterat. Det är viktigt att kraven på lölö-senord anpassas efter säkerhetskraven hos applikationen. Sätts kraven på lösenord för hårt mot vad de skyddar resulterar det ofta i felaktig hantering av lösenord. Både Microsoft Azure och Google Cloud tillhandahåller möjligheter för im-plementation av tvåstegsverifiering. Microsoft genom Azure MFA Service och
6.5.5 Aktivitet 4.5. - Implementera säkerhetsåtgärder
för applikationens tillgänglighet
Applikationer som ej är tillgängliga kan skapa problem för verksamheten. Ap-plikationer som blir otillgängliga kan stå sig dyrt i form av förlorad inkomst eller viten eftersom avtal brutits. Därför är det viktigt att det finns åtgärder som ser till att applikationen är tillgänglig efter de krav som specificerats. En applikation kan bli otillgänglig genom att hårdvara och/eller mjukvara slutar fungera eller genom attacker som slår ut infrastruktur eller andra tjänster. En vanlig form av attack är Denial of Service (DoS eller DDoS). Denna form av attack överbelastar applikationen och gör den därmed otillgänglig för normala användare.
Genomförandet av denna aktivitet avser att definiera vilka åtgärder som finns för att tillgodose de tillgänglighetskrav som specificerats för applikationen. Definiera åtgärder som ska genomföras vid eventuella problem med tillgäng-lighet. Definiera även hur arbetet med återställning av förlorad data och skall ske vid krascher eller andra problem.
Google Cloud tillhandahåller en tjänst vid namn Google Cloud Armor som
er-bjuder skydd mot DDoS-attacker. Även Microsoft Azure har en tjänst för skydd mot DDoS vid namn Azure DDoS Protection. För Azure varierar funktionerna efter vilken prisnivå som används.
Utöver skydd mot attacker tillhandahåller båda plattformarnas lösningar för eventuella kriser eller katastrofer, benämns som Disaster Recovery på eng-elska. Google Cloud låter användare anpassa hanteringen efter applikationens specifika behov. Microsoft Azure tillhandahåller istället en tjänst, Azure Site
Figur 6.6: Steg 5 - Granskning