Säkerhet i Azure App Service

Den här artikeln visar hur Azure App Service hjälper dig att skydda webbappen, mobilappens backend-, API-app och funktionsapp. Den visar också hur du kan skydda din app ytterligare med de inbyggda App Service-funktionerna.

Plattformskomponenterna i App Service, inklusive virtuella Azure-datorer, lagring, nätverksanslutningar, webbramverk, hanterings- och integreringsfunktioner, skyddas och härdas aktivt. App Service går igenom regelefterlevnadskontroller kontinuerligt för att se till att:

  • Dina appresurser skyddas från de andra kundernas Azure-resurser.
  • VM-instanser och körningsprogram uppdateras regelbundet för att åtgärda nyligen identifierade säkerhetsrisker.
  • Kommunikation av hemligheter (till exempel anslutningssträngar) mellan din app och andra Azure-resurser (till exempel SQL Database) stannar i Azure och går inte över några nätverksgränser. Hemligheter krypteras alltid när de lagras.
  • All kommunikation över App Service anslutningsfunktioner, till exempel hybridanslutning, krypteras.
  • Anslutningar med fjärrhanteringsverktyg som Azure PowerShell, Azure CLI, Azure-API:er och REST-API:er krypteras.
  • 24-timmars hothantering skyddar infrastrukturen och plattformen mot skadlig kod, distribuerad denial-of-service (DDoS), man-in-the-middle (MITM) och andra hot.

Mer information om infrastruktur- och plattformssäkerhet i Azure finns i Azure Säkerhetscenter.

Följande avsnitt visar hur du ytterligare skyddar din App Service från hot.

HTTPS och certifikat

App Service kan du skydda dina appar med HTTPS. När appen har skapats är dess standarddomännamn (<app_name.azurewebsites.net>) redan tillgängligt via HTTPS. Om du konfigurerar en anpassad domän för din app bör du även skydda den med ett TLS/SSL-certifikat så att klientwebbläsare kan göra säkra HTTPS-anslutningar till din anpassade domän. Det finns flera typer av certifikat som stöds av App Service:

  • Kostnadsfritt App Service hanterat certifikat
  • App Service certifikat
  • Certifikat från tredje part
  • Certifikat som importerats från Azure Key Vault

Mer information finns i Lägga till ett TLS/SSL-certifikat i Azure App Service.

Osäkra protokoll (HTTP, TLS 1.0, FTP)

För att skydda din app mot alla okrypterade anslutningar (HTTP) App Service konfiguration med ett klick för att framtvinga HTTPS. Oskyddade begäranden stängs av innan de ens når din programkod. Mer information finns i Framtvinga HTTPS.

TLS 1.0 anses inte längre vara säkert enligt branschstandarder, till exempel PCI DSS. App Service kan du inaktivera inaktuella protokoll genom att framtvinga TLS 1.1/1.2.

App Service stöder både FTP och FTPS för att distribuera dina filer. FTPS bör dock användas i stället för FTP, om det är möjligt. När ett eller båda av dessa protokoll inte används bör du inaktivera dem.

Statiska IP-begränsningar

Som standard accepterar App Service-appen begäranden från alla IP-adresser från Internet, men du kan begränsa åtkomsten till en liten delmängd AV IP-adresser. App Service på Windows kan du definiera en lista över IP-adresser som har åtkomst till din app. Listan över tillåtna ip-adresser kan innehålla enskilda IP-adresser eller ett intervall med IP-adresser som definieras av en nätmask. Mer information finns i Azure App Service statiska IP-begränsningar.

Om App Service på Windows kan du också begränsa IP-adresser dynamiskt genom att konfigurera web.config. Mer information finns i Dynamisk IP-säkerhet <dynamicIpSecurity>.

Klientautentisering och -auktorisering

Azure App Service innehåller nyckelnyckelautentisering och auktorisering av användare eller klientappar. När den är aktiverad kan den logga in användare och klientappar med lite eller ingen programkod. Du kan implementera en egen autentiserings- och auktoriseringslösning eller App Service hantera den åt dig i stället. Autentiserings- och auktoriseringsmodulen hanterar webbförfrågningar innan de lämnar ut dem till din programkod, och den nekar obehöriga begäranden innan de når din kod.

App Service autentisering och auktorisering stöder flera autentiseringsproviders, inklusive Azure Active Directory, Microsoft-konton, Facebook, Google och Twitter. Mer information finns i Autentisering och auktorisering i Azure App Service.

Tjänst-till-tjänst-autentisering

Vid autentisering mot en backend-tjänst App Service två olika mekanismer beroende på dina behov:

Anslutning till fjärrresurser

Det finns tre typer av fjärrresurser som din app kan behöva åtkomst till:

I vart och ett av dessa App Service ett sätt för dig att skapa säkra anslutningar, men du bör ändå följa bästa praxis för säkerhet. Använd till exempel alltid krypterade anslutningar även om backend-resursen tillåter okrypterade anslutningar. Se dessutom till att din Azure-backend-tjänst tillåter den minsta uppsättningen IP-adresser. Du hittar de utgående IP-adresserna för din app på Inkommande och utgående IP-adresser i Azure App Service.

Azure-resurser

När din app ansluter till Azure-resurser, till exempel SQL Database och Azure Storage, stannar anslutningen i Azure och går inte över några nätverksgränser. Anslutningen går dock via det delade nätverket i Azure, så se alltid till att anslutningen är krypterad.

Om appen finns i en App Service bör du ansluta till Azure-tjänster som stöds med hjälp Virtual Network tjänstslutpunkter.

Resurser i en Azure-Virtual Network

Din app kan komma åt resurser i en Azure-Virtual Network via Virtual Network integrering. Integreringen upprättas med en Virtual Network med hjälp av en punkt-till-plats-VPN. Appen kan sedan komma åt resurserna i Virtual Network sina privata IP-adresser. Punkt-till-plats-anslutningen passerar dock fortfarande de delade nätverken i Azure.

Om du vill isolera din resursanslutning helt från de delade nätverken i Azure skapar du appen i en App Service miljö. Eftersom en App Service miljö alltid distribueras till en dedikerad Virtual Network är anslutningen mellan din app och resurser inom Virtual Network helt isolerad. Andra aspekter av nätverkssäkerhet i en App Service finns i Nätverksisolering.

Lokala resurser

Du kan få säker åtkomst till lokala resurser, till exempel databaser, på tre sätt:

  • Hybridanslutningar – Upprättar en punkt-till-punkt-anslutning till din fjärrresurs via en TCP-tunnel. TCP-tunneln upprättas med TLS 1.2 med SAS-nycklar (signatur för delad åtkomst).
  • Virtual Network integrering med plats-till-plats-VPN – Enligt beskrivningen i Resurser i en Azure Virtual Network, men Virtual Network kan anslutas till ditt lokala nätverk via ett VPN för plats-till-plats. I den här nätverkstopologin kan din app ansluta till lokala resurser som andra resurser i Virtual Network.
  • App Service-miljö med plats-till-plats-VPN – Enligt beskrivningen i Resurser i en Azure Virtual Network, men Virtual Network kan anslutas till ditt lokala nätverk via ett VPN för plats-till-plats. I den här nätverkstopologin kan din app ansluta till lokala resurser som andra resurser i Virtual Network.

Programhemligheter

Lagra inte programhemligheter, till exempel databasautentiseringsuppgifter, API-token och privata nycklar i din kod eller konfigurationsfiler. Den vanliga metoden är att komma åt dem som miljövariabler med hjälp av standardmönstret på det språk du väljer. I App Service är sättet att definiera miljövariabler att använda appinställningar (och, särskilt för .NET-program, anslutningssträngar). Appinställningar och anslutningssträngar lagras krypterade i Azure och de dekrypteras först innan de matas in i appens processminne när appen startas. Krypteringsnycklarna roteras regelbundet.

Du kan också integrera din App Service med Azure Key Vault för avancerad hemlighetshantering. Genom att komma åt Key Vault med en hanterad identitet kan din App Service få säker åtkomst till de hemligheter du behöver.

Nätverksisolering

Förutom prisnivån Isolerad kör alla nivåer dina appar på den delade nätverksinfrastrukturen i App Service. Till exempel delas de offentliga IP-adresserna och lastbalanserarna i klientsidan med andra klienter. Den isolerade nivån ger dig fullständig nätverksisolering genom att köra dina appar i en dedikerad App Service miljö. En App Service miljö körs i din egen instans av Azure Virtual Network. Du kan göra följande:

  • Hantera dina appar via en dedikerad offentlig slutpunkt med dedikerade klientadresser.
  • Hantera interna program med hjälp av en intern lastbalanserare (ILB), som endast tillåter åtkomst inifrån azure-Virtual Network. Den totala ILB:en har en IP-adress från ditt privata undernät, vilket ger total isolering av dina appar från Internet.
  • Använd en ILB bakom en brandvägg för webbaserade program (WAF). WAF ger skydd på företagsnivå för dina offentliga program, till exempel DDoS-skydd, URI-filtrering och SQL ktionsskydd.

Mer information finns i Introduktion till Azure App Service miljöer.