Dela via


ASP.NET Kärnsäkerhetsavsnitt

ASP.NET Core gör det möjligt för utvecklare att konfigurera och hantera säkerhet. Följande lista innehåller länkar till säkerhetsämnen:

Med de här säkerhetsfunktionerna kan du skapa robusta och säkra ASP.NET Core-appar.

För säkerhetstäckning i Blazor, som kompletterar eller ersätter vägledningen i denna nod, se ASP.NET Core Blazor-autentisering och -auktorisering samt de andra artiklarna i Blazor:s säkerhet och Identity nod.

ASP.NET Core-säkerhetsfunktioner

ASP.NET Core innehåller många verktyg och bibliotek för att skydda ASP.NET Core-appar, till exempel inbyggda identitetsprovidrar och identitetstjänster från tredje part som Facebook, Twitter och LinkedIn. ASP.NET Core har flera metoder för att lagra apphemligheter.

Autentisering jämfört med auktorisering

autentisering är en process där en användare tillhandahåller autentiseringsuppgifter som sedan jämförs med de som lagras i ett operativsystem, en databas, en app eller en resurs. Om de matchar kan användarna autentiseras och sedan utföra åtgärder som de är auktoriserade för under en auktorisering process. Auktoriseringen refererar till den process som avgör vad en användare får göra.

Ett annat sätt att tänka på autentisering är att betrakta det som ett sätt att ange ett utrymme, till exempel en server, databas, app eller resurs, medan auktorisering är vilka åtgärder som användaren kan utföra till vilka objekt i det utrymmet (server, databas eller app).

Vanliga sårbarheter i programvara

ASP.NET Core och EF innehåller funktioner som hjälper dig att skydda dina appar och förhindra säkerhetsöverträdelser. Följande lista med länkar tar dig till dokumentation som beskriver tekniker för att undvika de vanligaste säkerhetsproblemen i webbappar:

Det finns fler säkerhetsrisker som du bör känna till. Mer information finns i de andra artiklarna i avsnittet Säkerhet och Identity i innehållsförteckningen.

Skydda autentiseringsflöden

Vi rekommenderar att du använder det säkraste autentiseringsalternativet. För Azure-tjänster är den säkraste autentiseringen hanterade identiteter.

Undvik att bevilja autentiseringsuppgifter för resursägares lösenord eftersom det:

  • Exponerar användarens lösenord för klienten.
  • Är en betydande säkerhetsrisk.
  • Bör endast användas när andra autentiseringsflöden inte är möjliga.

Hanterade identiteter är ett säkert sätt att autentisera till tjänster utan att behöva lagra autentiseringsuppgifter i kod, miljövariabler eller konfigurationsfiler. Hanterade identiteter är tillgängliga för Azure-tjänster och kan användas med Azure SQL, Azure Storage och andra Azure-tjänster:

När appen distribueras till en testserver kan en miljövariabel användas för att ange anslutningssträngen till en testdatabasserver. Mer information finns i Configuration. Miljövariabler lagras vanligtvis i oformaterad, okrypterad text. Om datorn eller processen komprometteras kan miljövariabler nås av ej betrodda parter. Vi rekommenderar att du inte använder miljövariabler för att lagra en produktionsanslutningssträng eftersom det inte är den säkraste metoden.

Riktlinjer för konfigurationsdata:

  • Lagra aldrig lösenord eller andra känsliga data i konfigurationsproviderns kod eller i konfigurationsfiler för oformaterad text. Verktyget Secret Manager kan användas för att lagra hemligheter under utveckling.
  • Använd inte produktionshemligheter i utvecklings- eller testmiljöer.
  • Ange hemligheter utanför projektet så att de inte av misstag kan checkas in på en källkodslagringsplats.

Mer information finns i:

Information om andra molnleverantörer finns i:

Ytterligare resurser