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.

Plattforms komponenterna i App Service, inklusive virtuella Azure-datorer, lagring, nätverks anslutningar, webb ramverk, hanterings-och integrations funktioner, är aktivt säkra och skärps. App Service genomgår en kontinuerlig kontroll av efterlevnaden för att se till att:

  • Dina app-resurser skyddas från de andra kundernas Azure-resurser.
  • VM-instanser och runtime-programvaran uppdateras regelbundet för att lösa nyupptäckta sårbarheter.
  • Kommunikation av hemligheter (t. ex. anslutnings strängar) mellan din app och andra Azure-resurser (till exempel SQL Database) ligger kvar i Azure och korsar inte några nätverks gränser. Hemligheter krypteras alltid när de lagras.
  • All kommunikation via App Service anslutnings funktioner, till exempel hybrid anslutning, krypteras.
  • Anslutningar med verktyg för fjärrhantering som Azure PowerShell, Azure CLI, Azure SDK: er, REST API: er är krypterade.
  • 24-timmars hot hantering 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 plattforms säkerhet i Azure finns Azure Säkerhetscenter.

Följande avsnitt visar hur du ytterligare skyddar din App Service mot 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 enanpassad 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 (HTTP)-anslutningar 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 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 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.

För 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 tillhandahå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 över 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

När du autentiserar mot en backend-tjänst App Service två olika mekanismer beroende på dina behov:

  • Tjänstidentitet – Logga in på fjärrresursen med hjälp av själva appens identitet. App Service kan du enkelt skapa en hanterad identitetsom du kan använda för att autentisera med andra tjänster, till exempel Azure SQL Database eller Azure Key Vault. En självstudiekurs från slutet av den här metoden finns i Secure Azure SQL Database connection from App Service using a managed identity.
  • On-behalf-of (OBO) – Gör delegerad åtkomst till fjärrresurser för användarens räkning. Med Azure Active Directory som autentiseringsprovider kan din App Service-app utföra delegerad inloggning till en fjärrtjänst, till exempel Microsoft Graph API eller en API-fjärrapp i App Service. En självstudiekurs från slutet av den här metoden finns i Autentisera och auktorisera användare från Azure App Service.

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 de bästa säkerhetsmetoderna. 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 inom 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 din app finns i en App Service bördu 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 en plats-till-plats-VPN. 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 koden eller konfigurationsfilerna. Den vanliga metoden är att komma åt dem som miljövariabler med hjälp av standardmönstret på val av språk. I App Service är sättet att definiera miljövariabler via appinställningar (och, särskilt för .NET-program, anslutningssträngar). Appinställningar och anslutningssträngar lagras krypterade i Azure och de dekrypteras endast innan de matas in i appens processminne när appen startar. 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 enhanterad 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 i den delade nätverksinfrastrukturen i App Service. Till exempel delas de offentliga IP-adresserna och lastbalanserarna på 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. Det gör att du kan:

  • Hantera dina appar via en dedikerad offentlig slutpunkt med dedikerade klient ändar.
  • Hantera interna program med hjälp av en intern lastbalanserare (ILB), som endast tillåter åtkomst inifrån azure-Virtual Network. ILB 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 erbjuder 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.