Delen via


ASP.NET Kernbeveiligingsonderwerpen

ASP.NET Core stelt ontwikkelaars in staat om beveiliging te configureren en te beheren. De volgende lijst bevat koppelingen naar beveiligingsonderwerpen:

Met deze beveiligingsfuncties kunt u robuuste en veilige ASP.NET Core-apps bouwen.

Zie voor Blazor beveiligingsdekking, die de richtlijnen in dit knooppunt aanvult of vervangt, ASP.NET Core Blazor verificatie en autorisatie en de andere artikelen in Blazor's knooppunt Beveiliging en Identity.

ASP.NET Kernbeveiligingsfuncties

ASP.NET Core biedt veel hulpprogramma's en bibliotheken voor het beveiligen van ASP.NET Core-apps, zoals ingebouwde id-providers en identiteitsservices van derden, zoals Facebook, Twitter en LinkedIn. ASP.NET Core biedt verschillende benaderingen voor het opslaan van app-geheimen.

Verificatie versus autorisatie

Authenticatie is een proces waarbij een gebruiker gebruikersgegevens verstrekt die vervolgens worden vergeleken met gegevens die opgeslagen zijn in een besturingssysteem, database, app of resource. Als ze overeenkomen, worden gebruikers geverifieerd en kunnen ze vervolgens acties uitvoeren waarvoor ze zijn geautoriseerd, tijdens een autorisatie. De autorisatie verwijst naar het proces dat bepaalt wat een gebruiker mag doen.

Een andere manier om verificatie te bedenken, is door deze te beschouwen als een manier om een ruimte in te voeren, zoals een server, database, app of resource, terwijl autorisatie is welke acties de gebruiker kan uitvoeren op welke objecten in die ruimte (server, database of app).

Veelvoorkomende beveiligingsproblemen in software

ASP.NET Core en EF functies bevatten waarmee u uw apps kunt beveiligen en beveiligingsschendingen kunt voorkomen. De volgende lijst met koppelingen leidt u naar documentatie over technieken voor gedetailleerde informatie om de meest voorkomende beveiligingsproblemen in web-apps te voorkomen:

Er zijn meer beveiligingsproblemen waar u rekening mee moet houden. Zie de andere artikelen in de sectie Beveiliging en Identity van de inhoudsopgave voor meer informatie.

Verificatiestromen beveiligen

U wordt aangeraden de veiligste verificatieoptie te gebruiken. Voor Azure-services is de veiligste authenticatie beheerde identiteiten.

Vermijd Resource Owner Password Credentials-verlening omdat het:

  • Stelt het wachtwoord van de gebruiker beschikbaar voor de client.
  • Is een aanzienlijk beveiligingsrisico.
  • Mag alleen worden gebruikt wanneer andere verificatiestromen niet mogelijk zijn.

Beheerde identiteiten zijn een veilige manier om te verifiëren bij services zonder referenties op te slaan in code, omgevingsvariabelen of configuratiebestanden. Beheerde identiteiten zijn beschikbaar voor Azure-services en kunnen worden gebruikt met Azure SQL, Azure Storage en andere Azure-services:

Wanneer de app wordt geïmplementeerd op een testserver, kan een omgevingsvariabele worden gebruikt om de verbindingsreeks in te stellen op een testdatabaseserver. Zie Configurationvoor meer informatie. Omgevingsvariabelen worden over het algemeen opgeslagen in niet-versleutelde tekst. Als de machine of het proces is aangetast, kunnen omgevingsvariabelen worden geopend door niet-vertrouwde partijen. We raden u af om omgevingsvariabelen te gebruiken om een productieverbindingsreeks op te slaan, omdat dit niet de veiligste benadering is.

Richtlijnen voor configuratiegegevens:

  • Sla nooit wachtwoorden of andere gevoelige gegevens op in configuratieprovidercode of in configuratiebestanden met tekst zonder opmaak. Het hulpprogramma Secret Manager kan worden gebruikt om geheimen voor ontwikkelingsdoeleinden op te slaan.
  • Gebruik geen productiegeheimen in ontwikkel- of testomgevingen.
  • Geef geheimen buiten het project op, zodat ze niet per ongeluk kunnen worden doorgevoerd in een opslagplaats met broncode.

Zie voor meer informatie:

Zie voor meer informatie over andere cloudproviders:

Patronen voor bedrijfsweb-apps

Zie Enterprise-web-app-patronenvoor hulp bij het maken van een betrouwbare, veilige, uitvoerbare, testbare en schaalbare ASP.NET Core-app. Er is een volledige voorbeeldweb-app van productiekwaliteit beschikbaar waarmee de patronen worden geïmplementeerd.

Aanvullende informatiebronnen