Delen via


Beveiliging in Azure App Service

In dit artikel wordt beschreven hoe Azure App Service helpt bij het beveiligen van uw web-app, back-end van mobiele apps, API-app of functie-app. In het artikel wordt ook beschreven hoe u uw app verder kunt beveiligen met behulp van ingebouwde App Service-functies.

Azure App Service beveiligt en versterkt actief de platformcomponenten, waaronder virtuele Azure-machines (VM's), opslag, netwerkverbindingen, webframeworks en beheer- en integratiefuncties. App Service ondergaat doorlopende, strenge nalevingscontroles om ervoor te zorgen dat:

  • Elke app wordt gescheiden van andere Azure-apps en -resources.
  • Regelmatige updates van VM's en runtimesoftware zijn gericht op nieuw gedetecteerde beveiligingsproblemen.
  • Communicatie van geheimen en verbindingsreeksen tussen apps en andere Azure-resources, zoals Azure SQL Database , vindt alleen plaats in Azure, zonder dat er netwerkgrenzen worden overschreden. Opgeslagen geheimen worden altijd versleuteld.
  • Alle communicatie via App Service-connectiviteitsfuncties, zoals hybride verbinding , worden versleuteld.
  • Alle verbindingen via hulpprogramma's voor extern beheer, zoals Azure PowerShell, Azure CLI, Azure SDK's en REST API's, worden versleuteld.
  • Continu bedreigingsbeheer beschermt de infrastructuur en het platform tegen malware, gedistribueerde Denial-of-Service (DDoS) en man-in-the-middle-aanvallen en andere bedreigingen.

Zie het Vertrouwenscentrum van Azure voor meer informatie over infrastructuur- en platformbeveiliging in Azure.

In de volgende secties worden meer manieren beschreven om uw App Service-app te beschermen tegen bedreigingen.

HTTPS en certificaten

U kunt App Service gebruiken om uw apps te beveiligen via HTTPS. Wanneer uw app wordt gemaakt, is de standaarddomeinnaam <app_name>.azurewebsites.net al toegankelijk via HTTPS. Als u een aangepast domein voor uw app configureert, kunt u dit beveiligen met een TLS/SSL-certificaat , zodat clientbrowsers beveiligde HTTPS-verbindingen met uw aangepaste domein kunnen maken.

App Service ondersteunt de volgende typen certificaten:

  • Gratis door App Service beheerd certificaat
  • App Service-certificaat
  • Certificaat van derden
  • Certificaat geïmporteerd uit Azure Key Vault

Zie TLS/SSL-certificaten toevoegen en beheren in Azure App Service voor meer informatie.

Niet-beveiligde protocollen (HTTP, TLS 1.0, FTP)

Standaard dwingt App Service een omleiding van HTTP-aanvragen naar HTTPS af. Onbeveiligde aanvragen worden omgeleid voordat ze uw toepassingscode bereiken. Zie Algemene instellingen configureren om dit gedrag te wijzigen.

Azure App Service ondersteunt de volgende TLS-versies (Transport Layer Security) voor binnenkomende aanvragen voor uw web-app:

  • TLS 1.3: De nieuwste en veiligste versie.
  • TLS 1.2: de standaard minimale TLS-versie voor nieuwe web-apps.
  • TLS 1.1 en TLS 1.0: versies die worden ondersteund voor achterwaartse compatibiliteit, maar worden niet beschouwd als veilig volgens industriestandaarden zoals de PCI DSS (Payment Card Industry Data Security Standard).

U kunt de minimale TLS-versie configureren voor binnenkomende aanvragen voor uw web-app en de bijbehorende SCM-site (Source Control Manager). Standaard is het minimum ingesteld op TLS 1.2. Zie Algemene instellingen configureren om verschillende TLS-versies toe te staan.

App Service ondersteunt zowel FTP als FTPS voor het implementeren van app-bestanden. Nieuwe apps zijn standaard zo ingesteld dat alleen FTPS wordt geaccepteerd. Als u de beveiliging wilt verbeteren, gebruikt u FTPS in plaats van FTP, indien mogelijk. Als u geen FTP/S gebruikt, moet u deze uitschakelen. Zie Uw app implementeren in Azure App Service met behulp van FTP/S voor meer informatie.

Beperkingen voor statische IP-adressen

Uw App Service-app accepteert standaard aanvragen van alle IP-adressen op internet, maar u kunt de toegang tot een subset van IP-adressen beperken. U kunt App Service in Windows gebruiken om een lijst met IP-adressen te definiëren die toegang hebben tot uw app. De lijst met toegestane adressen kan afzonderlijke IP-adressen of een bereik van IP-adressen bevatten die zijn gedefinieerd door een subnetmasker. Zie Azure-app Service-toegangsbeperkingen instellen voor meer informatie.

Voor App Service in Windows kunt u ip-adressen ook dynamisch beperken door het web.config-bestand te configureren. Zie Dynamic IP Security <dynamicIpSecurity> voor meer informatie.

Clientverificatie en autorisatie

App Service biedt ingebouwde verificatie en autorisatie van gebruikers of client-apps. U kunt uw eigen verificatie- en autorisatieoplossing implementeren of App Service toestaan om deze voor u te verwerken.

Wanneer deze functie is ingeschakeld, kunnen ingebouwde verificatie en autorisatie gebruikers en client-apps met weinig of geen toepassingscode aanmelden. De verificatie- en autorisatiemodule verwerkt webaanvragen voordat deze worden doorgegeven aan uw toepassingscode en weigert niet-geautoriseerde aanvragen.

App Service-verificatie en -autorisatie ondersteunen meerdere verificatieproviders, waaronder Microsoft Entra ID, Microsoft-accounts, Facebook, Google en X. Zie Verificatie en autorisatie in Azure-app Service voor meer informatie.

Authenticatie van service-naar-service

Wanneer u zich verifieert bij een back-endservice, biedt App Service twee mechanismen, afhankelijk van uw behoeften:

Connectiviteit met externe resources

Uw app moet mogelijk toegang hebben tot Azure-resources, on-premises resources of resources in een virtueel Azure-netwerk. App Service biedt een beveiligde verbindingsmethode voor elk van deze scenario's. U moet ook de aanbevolen beveiligingsprocedures observeren, zoals altijd versleutelde verbindingen gebruiken, zelfs als de back-endresource niet-versleutelde verbindingen toestaat.

Zorg er ook voor dat uw back-end-Azure-service de kleinste mogelijke set IP-adressen toestaat. Zie Vind uitgaande IP's voor de uitgaande IP-adressen van uw app.

Azure-hulpmiddelen

Wanneer uw app verbinding maakt met Azure-resources zoals Azure SQL Database en Azure Storage, blijft de verbinding in Azure en overschrijdt deze geen netwerkgrenzen. De verbinding maakt gebruik van gedeelde netwerken in Azure, dus zorg ervoor dat deze is versleuteld.

Als uw app wordt gehost in een App Service Environment, moet u verbinding maken met ondersteunde Azure-services met behulp van service-eindpunten voor virtuele netwerken.

Resources in een virtueel Azure-netwerk

Uw app heeft toegang tot resources in een virtueel Azure-netwerk via integratie van een virtueel netwerk met behulp van punt-naar-site-VPN. De app heeft vervolgens toegang tot de resources in het virtuele netwerk met behulp van hun privé-IP-adressen. De punt-naar-site-verbinding gaat nog steeds door de gedeelde netwerken in Azure.

Als u uw resourceconnectiviteit volledig wilt isoleren van de gedeelde netwerken in Azure, maakt u uw app in een App Service-omgeving. Omdat een App Service Environment altijd wordt geïmplementeerd in een toegewezen virtueel netwerk, is de connectiviteit tussen uw app en andere resources in het virtuele netwerk volledig geïsoleerd. Zie Netwerkisolatie voor meer informatie over netwerkbeveiliging in een App Service-omgeving.

Lokale middelen

U kunt op de volgende manieren veilig toegang krijgen tot on-premises resources, zoals databases:

  • Een hybride verbinding brengt een punt-naar-punt-verbinding tot stand met uw externe resource via een TCP-tunnel (Transmission Control Protocol) die gebruikmaakt van TLS 1.2 met shared access Signature-sleutels.

  • Integratie van virtuele netwerken met een site-naar-site-VPN of App Service Environment met een site-naar-site-VPN. Deze methoden verbinden het virtuele netwerk van de app met het on-premises netwerk, zoals beschreven in Resources in een virtueel Azure-netwerk, maar het virtuele netwerk maakt verbinding met het on-premises netwerk via een site-naar-site-VPN. In deze netwerktopologieën kan uw app op dezelfde manier verbinding maken met on-premises resources als met andere resources in het virtuele netwerk.

Geheimen van de applicatie

Sla geen toepassingsgeheimen op, zoals databasereferenties, API-tokens en persoonlijke sleutels in code- of configuratiebestanden. Open ze als omgevingsvariabelen met behulp van het standaardpatroon voor uw codetaal. In App Service definieert u omgevingsvariabelen via app-instellingen en, met name voor .NET-toepassingen, via verbindingsreeksen.

App-instellingen en verbindingsreeksen worden versleuteld opgeslagen in Azure en worden ontsleuteld net voordat ze worden geïnjecteerd in het procesgeheugen van uw app wanneer de app wordt gestart. De versleutelingssleutels worden regelmatig geroteerd.

U kunt uw App Service-app ook integreren met Azure Key Vault voor geavanceerd geheimenbeheer. Uw App Service-app heeft veilig toegang tot de sleutelkluis met behulp van een beheerde identiteit om de geheimen op te halen die u nodig hebt.

Netwerkisolatie

Alle App Service-prijscategorieën voeren uw apps uit op de gedeelde Azure-netwerkinfrastructuur, met uitzondering van de geïsoleerde prijscategorie. De openbare IP-adressen en front-end load balancers worden bijvoorbeeld gedeeld met andere tenants.

De geïsoleerde laag biedt volledige netwerkisolatie door uw apps uit te voeren in een toegewezen App Service-omgeving in uw eigen exemplaar van Azure Virtual Network. Met behulp van netwerkisolatie kunt u het volgende doen:

  • Uw apps bedienen via een toegewezen openbaar eindpunt met toegewezen front-ends.
  • Interne apps bedienen met behulp van een interne load balancer (ILB) die alleen toegang vanuit uw virtuele Azure-netwerk toestaat. De ILB heeft een IP-adres van uw privésubnet, dat een totale isolatie van uw apps vanaf internet biedt.
  • Gebruik een ILB achter een Web Application Firewall (WAF). De WAF biedt URI-filtering op ondernemingsniveau, bescherming tegen DDoS-aanvallen (Gedistribueerde Denial-of-Service) en SQL-injectiepreventie voor uw openbare toepassingen.

DDoS-bescherming

Gebruik voor webworkloads een WAF - en Azure DDoS-beveiliging om te beschermen tegen opkomende DDoS-aanvallen. Een andere optie is om Azure Front Door te implementeren met een WAF voor beveiliging op platformniveau tegen DDoS-aanvallen op netwerkniveau.