Témata týkající se zabezpečení ASP.NET Core
ASP.NET Core umožňuje vývojářům konfigurovat a spravovat zabezpečení. V následujícím seznamu najdete odkazy na témata týkající se zabezpečení:
- Authentication
- Autorizace
- Ochrana dat
- Vynucování HTTPS
- Bezpečné ukládání tajných kódů aplikace při vývoji
- Prevence útoků XSRF a CSRF
- Sdílení prostředků mezi zdroji (CORS)
- Útoky založené na skriptování mezi weby (XSS)
Tyto funkce zabezpečení umožňují vytvářet robustní a zabezpečené aplikace ASP.NET Core.
Informace o Blazor pokrytí zabezpečení, které přidává nebo nahrazuje pokyny v tomto uzlu, najdete v tématu ASP.NET Ověřování a autorizace jádra Blazor a další články v Blazortématu Zabezpečení a Identity uzel.
Funkce zabezpečení ASP.NET Core
ASP.NET Core poskytuje mnoho nástrojů a knihoven pro zabezpečení aplikací ASP.NET Core, jako jsou integrovaní identity poskytovatelé a služby třetích stran identity , jako jsou Facebook, Twitter a LinkedIn. ASP.NET Core nabízí několik způsobů ukládání tajných kódů aplikací.
Ověřování a autorizace
Ověřování je proces, při kterém uživatel zadá přihlašovací údaje, které se porovnají s přihlašovacími údaji uloženými v operačním systému, databázi, aplikaci nebo prostředku. Pokud se shodují, uživatel se úspěšně ověří a pak může provádět akce, ke kterým má oprávnění udělená v rámci procesu autorizace. Autorizace označuje proces, při kterém se určí, k čemu má uživatel oprávnění.
Ověřování si můžete představit také jako způsob, jak vstoupit do prostoru, jako je server, databáze, aplikace nebo prostředek, zatímco autorizace určuje, jaké akce a s jakými objekty může uživatel v daném prostoru (server, databáze nebo aplikace) provádět.
Běžná ohrožení zabezpečení softwaru
ASP.NET Core a EF obsahují funkce, které pomáhají zabezpečit aplikace a zabránit porušení zabezpečení. V následujícím seznamu najdete odkazy na dokumentaci s podrobnými informacemi o způsobech, jak se vyhnout nejběžnějším ohrožením zabezpečení ve webových aplikacích:
- Útoky založené na skriptování mezi weby (XSS)
- Útoky prostřednictvím injektáže SQL
- Útoky založené na padělání požadavků mezi weby (XSRF/CSRF)
- Útoky založené na otevřeném přesměrování
Existují i další ohrožení zabezpečení, o kterých byste měli vědět. Další informace najdete v dalších článcích v části obsahu Zabezpečení a Identity.
Zabezpečené toky ověřování
Doporučujeme použít nejbezpečnější zabezpečenou možnost ověřování. Pro služby Azure je nejbezpečnější ověřování spravované identity.
Vyhněte se udělení přihlašovacích údajů vlastníka prostředku, protože:
- Zpřístupní heslo uživatele klientovi.
- Jedná se o významné bezpečnostní riziko.
- Mělo by se použít jenom v případě, že jiné toky ověřování nejsou možné.
Spravované identity představují bezpečný způsob ověřování ve službách bez nutnosti ukládat přihlašovací údaje v kódu, proměnných prostředí nebo konfiguračních souborech. Spravované identity jsou k dispozici pro služby Azure a je možné je používat s Azure SQL, Azure Storage a dalšími službami Azure:
- Spravované identity v Microsoft Entra pro Azure SQL
- Spravované identity pro App Service a Azure Functions
- Zabezpečené toky ověřování
Když je aplikace nasazená na testovací server, můžete proměnnou prostředí použít k nastavení připojovací řetězec na testovací databázový server. Další informace najdete v tématu Konfigurace. Proměnné prostředí jsou obecně uložené ve formátu prostého a nešifrovaného textu. Pokud dojde k ohrožení zabezpečení počítače nebo procesu, můžou k proměnným prostředí přistupovat nedůvěryhodné strany. Doporučujeme použít proměnné prostředí k uložení produkčního připojovací řetězec, protože to není nejbezpečnější přístup.
Pokyny pro konfigurační data:
- Nikdy neukládejte hesla ani jiné citlivé údaje v kódu zprostředkovatele konfigurace nebo v textových konfiguračních souborech. K ukládání tajných kódů při vývoji můžete používat nástroj Secret Manager.
- Nepoužívejte produkční tajné kódy ve vývojových nebo testovacích prostředích.
- Tajné kódy zadávejte mimo projekt, aby nemohly být omylem potvrzeny do úložiště zdrojového kódu.
Pokyny pro konfigurační data:
- Nikdy neukládejte hesla ani jiné citlivé údaje v kódu zprostředkovatele konfigurace nebo v textových konfiguračních souborech. K ukládání tajných kódů při vývoji můžete používat nástroj Secret Manager.
- Nepoužívejte produkční tajné kódy ve vývojových nebo testovacích prostředích.
- Tajné kódy zadávejte mimo projekt, aby nemohly být omylem potvrzeny do úložiště zdrojového kódu.
Další informace naleznete v tématu:
- Doporučení osvědčených postupů spravovaných identity
- Připojení z aplikace k prostředkům bez zpracování přihlašovacích údajů v kódu
- Služby Azure, které mohou pro přístup k jiným službám používat spravované identity
- Osvědčený postup zabezpečení IETF OAuth 2.0
Informace o dalších poskytovatelích cloudu najdete tady: