Uw Azure App Service-implementatie beveiligen

Azure App Service biedt een PaaS-omgeving (Platform-as-a-Service) waarmee u web-apps, back-ends van mobiele apps, RESTful-API's en functie-apps kunt bouwen, implementeren en schalen. Bij het implementeren van deze service is het belangrijk om de aanbevolen beveiligingsprocedures te volgen om uw toepassingen, gegevens en infrastructuur te beveiligen.

Dit artikel bevat richtlijnen voor het beveiligen van uw Azure App Service-implementatie.

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 aanbevelingen voor beveiliging in dit artikel worden zero Trust-principes geïmplementeerd: 'Expliciet verifiëren', 'Minimale toegang tot bevoegdheden gebruiken' en 'Inbreuk aannemen'. Zie het Zero Trust Guidance Center voor uitgebreide richtlijnen voor Zero Trust.

Servicespecifieke beveiliging

Azure App Service heeft unieke beveiligingsoverwegingen waar je rekening mee moet houden om de algehele veiligheid van je webapplicaties te waarborgen.

  • Basisverificatie uitschakelen: schakel basisverificatie van gebruikersnaam en wachtwoord uit voor FTP- en SCM-eindpunten ten gunste van verificatie op basis van Microsoft Entra ID, die OAuth 2.0-verificatie op basis van tokens biedt met verbeterde beveiliging. Voor meer informatie, zie Basisauthenticatie uitschakelen in Azure App Service-implementaties.

  • Beveiligde FTP-/FTPS-implementaties: FTP-toegang uitschakelen of ftpS-modus afdwingen wanneer u FTP gebruikt voor implementaties om te voorkomen dat referenties en inhoud in duidelijke tekst worden verzonden. Voor meer informatie, raadpleeg Implementeer uw app in Azure App Service met FTP/S.

  • Volledige netwerkisolatie bereiken: gebruik de App Service-omgeving om uw apps uit te voeren in een toegewezen App Service-omgeving in uw eigen Azure Virtual Network-exemplaar. Deze opstelling biedt volledige netwerkisolatie van gedeelde infrastructuur met speciale publieke eindpunten, interne load balancer (ILB)-opties voor alleen interne toegang, en de mogelijkheid om een ILB achter een webapplicatiefirewall te gebruiken voor bescherming op ondernemingsniveau. Voor meer informatie, zie Introductie tot Azure App Service Environments.

  • Implementeer DDoS-bescherming: Zet Azure Front Door uit met een Web Application Firewall (WAF) voor je App Service-app om DDoS-aanvallen op netwerk- en applicatielaag te absorberen en te filteren voordat ze je app bereiken. Voor meer informatie, zie Azure Front Door en DDoS protection.

Netwerkbeveiliging

App Service ondersteunt veel netwerkbeveiligingsfuncties om uw toepassingen te vergrendelen en onbevoegde toegang te voorkomen.

  • Privé-eindpunten configureren: elimineren blootstelling aan openbaar internet door verkeer naar uw App Service via uw virtuele netwerk te routeren met behulp van Azure Private Link, zodat clients in uw privénetwerken veilig zijn verbonden. Voor meer informatie, zie Use private endpoints for Azure App Service.

  • Integratie van virtuele netwerken implementeren: beveilig uw uitgaande verkeer door uw app toegang te geven tot resources in of via een virtueel Azure-netwerk terwijl isolatie van het openbare internet behouden blijft. Zie Een app integreren met een virtueel Azure-netwerk voor meer informatie.

  • IP-toegangsbeperkingen configureren: beperk de toegang tot uw app door een acceptatielijst met IP-adressen en subnetten te definiëren die toegang hebben tot uw toepassing, waardoor al het andere verkeer wordt geblokkeerd. U kunt afzonderlijke IP-adressen of bereiken definiëren die zijn gedefinieerd door subnetmaskers en dynamische IP-beperkingen configureren via web.config bestanden in Windows-apps. Zie Azure-app Service-toegangsbeperkingen instellen voor meer informatie.

  • Beperkingen voor service-eindpunten instellen: binnenkomende toegang tot uw app vergrendelen vanuit specifieke subnetten in uw virtuele netwerken met behulp van service-eindpunten, die samenwerken met IP-toegangsbeperkingen om filteren op netwerkniveau te bieden. Zie Azure-app Service-toegangsbeperkingen voor meer informatie.

  • Web Application Firewall gebruiken: verbeter de beveiliging tegen veelvoorkomende beveiligingsproblemen en aanvallen op internet door Azure Front Door of Application Gateway te implementeren met Web Application Firewall-mogelijkheden voor uw App Service. Voor meer informatie, zie Azure Web Application Firewall op Azure Application Gateway.

Identiteits- en toegangsbeheer

Het correct beheren van identiteiten en toegangsbeheer is essentieel voor het beveiligen van uw Azure App Service-implementaties tegen onbevoegd gebruik en mogelijke diefstal van referenties.

  • Beheerde identiteiten inschakelen voor uitgaande aanvragen: veilig verifiëren bij Azure-services vanuit uw app zonder referenties op te slaan in uw code of configuratie met behulp van beheerde identiteiten, waardoor u geen service-principals en verbindingsreeksen hoeft te beheren. Beheerde identiteiten bieden een automatisch beheerde identiteit in Microsoft Entra-id die uw app kan gebruiken bij het verzenden van uitgaande aanvragen naar andere Azure-services, zoals Azure SQL Database, Azure Key Vault en Azure Storage. App Service ondersteunt zowel door het systeem toegewezen als door de gebruiker toegewezen beheerde identiteiten. Zie Beheerde identiteiten gebruiken voor App Service en Azure Functions voor meer informatie.

  • Verificatie en autorisatie configureren: Implementeer App Service-verificatie/-autorisatie om uw toepassing te beveiligen met Microsoft Entra ID of andere id-providers, waardoor onbevoegde toegang wordt voorkomen zonder aangepaste verificatiecode te schrijven. De ingebouwde authenticatiemodule verwerkt webverzoeken voordat deze aan je applicatiecode wordt doorgegeven en ondersteunt meerdere providers, waaronder Microsoft Entra ID, Microsoft-accounts, Facebook, Google en X. Voor meer informatie, zie Authenticatie en autorisatie in Azure App Service.

  • Op rollen gebaseerd toegangsbeheer implementeren voor beheerbewerkingen: bepalen wie uw App Service-resources (beheervlak) kan beheren en configureren door de minimaal benodigde Azure RBAC-machtigingen toe te wijzen aan gebruikers en service-principals volgens het principe van minimale bevoegdheden. Dit beheert de beheerderstoegang tot operaties zoals het aanmaken van apps, het aanpassen van configuratie-instellingen en het beheren van deployments, los van applicatie-niveau authenticatie (Easy Auth) of app-naar-resource authenticatie (beheerde identiteiten). Voor meer informatie, zie Azure ingebouwde rollen voor web en mobiel.

  • Implementeer authenticatie namens een ander: Delegeer toegang tot externe resources namens gebruikers met behulp van Microsoft Entra ID als verificatieprovider. Uw App Service-app kan gedelegeerde aanmeldingsservices uitvoeren, zoals Microsoft Graph of externe App Service-API-apps. Raadpleeg Gebruikers van begin tot eind verifiëren en autoriseren in Azure App Service voor meer informatie.

  • Wederzijdse TLS-verificatie inschakelen: clientcertificaten vereisen voor extra beveiliging wanneer uw toepassing clientidentiteit moet verifiëren, met name voor B2B-scenario's of interne toepassingen. Voor meer informatie, zie TLS wederzijdse authenticatie configureren voor Azure App Service.

Gegevensbescherming

Het beschermen van gegevens tijdens overdracht en in rust is van cruciaal belang voor het handhaven van de vertrouwelijkheid en integriteit van uw toepassingen en hun gegevens.

  • HTTPS afdwingen: alle HTTP-verkeer omleiden naar HTTPS door de modus ALLEEN HTTPS in te schakelen, zodat alle communicatie tussen clients en uw app wordt versleuteld. HTTPS-only redirect staat standaard niet aan, dus schakel het expliciet in; let op dat de standaard domeinnaam <app_name>.azurewebsites.net van je app al via HTTPS toegankelijk is. Voor meer informatie, zie Algemene instellingen configureren.

  • TLS-versie configureren: moderne TLS-protocollen gebruiken door de minimale TLS-versie te configureren op 1.2 of hoger en verouderde, onveilige protocollen uit te schakelen om potentiële beveiligingsproblemen te voorkomen. App Service ondersteunt TLS 1.3 (nieuwste versie), TLS 1.2 (standaard minimum) en TLS 1.1/1.0 (alleen voor compatibiliteit met eerdere versies). Configureer de minimale TLS-versie voor zowel uw web-app als de SCM-site. Voor meer informatie, zie Algemene instellingen configureren.

  • TLS/SSL-certificaten beheren: aangepaste domeinen beveiligen met behulp van correct geconfigureerde TLS/SSL-certificaten om vertrouwde verbindingen tot stand te brengen. App Service ondersteunt meerdere certificaattypen: gratis door App Service beheerde certificaten, App Service-certificaten, certificaten van derden en certificaten die zijn geïmporteerd uit Azure Key Vault. Als u een aangepast domein configureert, beveiligt u het met een TLS/SSL-certificaat, zodat browsers beveiligde HTTPS-verbindingen kunnen maken. Zie TLS/SSL-certificaten toevoegen en beheren in Azure App Service voor meer informatie.

  • Geheimen opslaan in Key Vault: beveilig gevoelige configuratiewaarden, zoals databasereferenties, API-tokens en persoonlijke sleutels door ze op te slaan in Azure Key Vault en ze te openen met beheerde identiteiten, in plaats van ze op te slaan in toepassingsinstellingen of code. Uw App Service-app heeft veilig toegang tot Key Vault met behulp van verificatie van beheerde identiteiten. Zie Key Vault-verwijzingen gebruiken voor App Service en Azure Functions voor meer informatie.

  • Vermijd hardcodering van geheimen in applicatieinstellingen: Sla geen geheimen op in code of configuratiebestanden. App Service slaat app-instellingen en verbindingsstrings in rust versleuteld op en ontsleutelt ze net voordat hij ze in het geheugen van je app injecteert, maar voor gevoelige geheimen geef je de voorkeur aan Key Vault-referenties zodat geheimen centraal worden beheerd en nooit in de app-configuratie worden opgeslagen. Gebruik deze waarden als omgevingsvariabelen met behulp van standaardpatronen voor uw programmeertaal. Zie App-instellingen configureren voor meer informatie.

  • Externe verbindingen beveiligen: gebruik altijd versleutelde verbindingen bij het openen van externe resources, zelfs als de back-endresource niet-versleutelde verbindingen toestaat. Voor Azure-resources zoals Azure SQL Database en Azure Storage blijven verbindingen binnen Azure en overschrijden ze geen netwerkgrenzen. Gebruik voor virtuele netwerkbronnen de integratie van virtuele netwerken met punt-naar-site-VPN. Voor on-premises resources gebruikt u hybride verbindingen met TLS 1.2 of integratie van virtuele netwerken met site-naar-site-VPN. Zorg ervoor dat back-endservices in Azure alleen de kleinste set IP-adressen van uw app toestaan. Voor meer informatie, zie Zoek uitgaande IP's.

Logboekregistratie en bewaking

Het implementeren van uitgebreide logboekregistratie en bewaking is essentieel voor het detecteren van mogelijke beveiligingsrisico's en het oplossen van problemen met uw Azure App Service-implementatie.

  • Diagnostische logboekregistratie inschakelen: configureer diagnostische logboeken van Azure App Service om toepassingsfouten, webserverlogboeken, mislukte aanvraagtraceringen en gedetailleerde foutberichten te volgen om beveiligingsproblemen te identificeren en problemen op te lossen. Voor meer informatie, zie Inschakelen diagnostische logging voor apps in Azure App Service.

  • Integreren met Azure Monitor: Stel Azure Monitor in voor het verzamelen en analyseren van logboeken en metrische gegevens van uw App Service, waardoor uitgebreide bewaking en waarschuwingen mogelijk zijn voor beveiligings- en prestatieproblemen. Voor meer informatie, zie Apps monitoren in Azure App Service.

  • Application Insights configureren: Implementeer Application Insights om gedetailleerde inzichten te krijgen in toepassingsprestaties, gebruikspatronen en mogelijke beveiligingsproblemen, met realtime bewakings- en analysemogelijkheden. Zie Prestaties van Azure-app service bewaken voor meer informatie.

  • Beveiligingswaarschuwingen instellen: maak aangepaste waarschuwingen om u op de hoogte te stellen van abnormale gebruikspatronen, mogelijke beveiligingsschendingen of serviceonderbrekingen die van invloed zijn op uw App Service-resources. Zie Waarschuwingen voor metrische gegevens maken, weergeven en beheren met behulp van Azure Monitor voor meer informatie.

  • Statuscontroles inschakelen: configureer statuscontroles om de operationele status van uw toepassing te controleren en herstel indien mogelijk problemen automatisch. Zie App Service-instanties bewaken met Health check voor meer informatie.

Naleving en bestuur

Het vaststellen van de juiste governance en het waarborgen van naleving van relevante standaarden is van cruciaal belang voor de veilige werking van Azure App Service-toepassingen.

  • Azure Policy implementeren: beveiligingsstandaarden voor de hele organisatie afdwingen voor uw App Service-implementaties door Azure Policy-definities te maken en toe te wijzen die nalevingsvereisten controleren en afdwingen. Voor meer informatie, zie Azure Policy Regulatory Compliance controls for Azure App Service.

  • Bekijk beveiligingsaanbevelingen: Beoordeel regelmatig de beveiligingspositie van je App Service door Microsoft Defender voor Cloud te gebruiken om beveiligingskwetsbaarheden en verkeerde configuraties te identificeren en te herstellen. Voor meer informatie, zie Protect your Azure App Service webapps en API's.

  • Voer beveiligingsbeoordelingen uit: Voer regelmatig beveiligingsbeoordelingen en penetratietests uit van uw App Service-applicaties om toegangsbeperkingen, TLS-instellingen en Easy Auth-configuratie te valideren. Volg de spelregels voor penetratietests in de Microsoft-cloud. Voor meer informatie, zie Penetratietesten.

  • Handhaaf naleving van regelgeving: Wijs ingebouwde regelgevingsbeleidsinitiatieven toe (zoals PCI DSS, HIPAA/HITRUST of ISO 27001) die App Service-controles bevatten om je apps te auditen aan de eisen van jouw sector en regio, met name wat betreft gegevensbescherming en privacy. Zie Naleving van regelgeving in Azure Policy voor meer informatie.

  • Implementeer veilige DevOps-praktijken: Zet veilige CI/CD-pijplijnen op voor de implementatie naar App Service: gebruik deploymentslots voor gefaseerde validatie, schakel basisauthenticatie uit op de SCM/FTP-eindpunten ten gunste van beheerde identiteitsgebaseerde implementatie, en voeg codescanning en afhankelijkheidscontroles toe. Voor meer informatie, zie Best practices voor implementatie.

Back-up en herstel

Het implementeren van robuuste mechanismen voor back-up en herstel is essentieel voor het garanderen van bedrijfscontinuïteit en gegevensbeveiliging in uw Azure App Service-implementaties.

  • Automatische back-ups inschakelen: configureer geplande back-ups voor uw App Service-toepassingen om ervoor te zorgen dat u uw toepassingen en gegevens kunt herstellen in geval van onbedoelde verwijdering, beschadiging of andere fouten. Voor meer informatie, zie Back-up en herstel je app in Azure App Service.

  • Back-upretentie configureren: stel de juiste bewaarperioden in voor uw back-ups op basis van uw bedrijfsvereisten en nalevingsbehoeften, zodat kritieke gegevens gedurende de vereiste duur behouden blijven. Voor meer informatie, zie Back-up en herstel je app in Azure App Service.

  • Implementeer multiregio-implementaties: Zet uw kritieke applicaties uit over meerdere regio's om hoge beschikbaarheid en rampenherstelmogelijkheden te bieden in geval van regionale storingen. Voor meer informatie, zie Tutorial: Maak een hoogbeschikbare multiregio-app in App Service.

  • Herstel van back-ups testen: test regelmatig het herstelproces van uw back-up om ervoor te zorgen dat back-ups geldig zijn en indien nodig kunnen worden hersteld, waarbij zowel de functionaliteit van de toepassing als de gegevensintegriteit worden gecontroleerd. Voor meer informatie, zie Herstel een app van een back-up.

  • Documentherstelprocedures: maak en onderhoud uitgebreide documentatie voor herstelprocedures, zodat u snel en effectief kunt reageren tijdens serviceonderbrekingen of noodgevallen. Zie Reliability in Azure App Service voor meer informatie.