Udostępnij za pośrednictwem


Tematy dotyczące zabezpieczeń platformy ASP.NET Core

Platforma ASP.NET Core umożliwia deweloperom konfigurowanie zabezpieczeń i zarządzanie nimi. Poniższa lista zawiera linki do tematów dotyczących zabezpieczeń:

Te funkcje zabezpieczeń umożliwiają tworzenie niezawodnych i bezpiecznych aplikacji platformy ASP.NET Core.

Aby uzyskać Blazor pokrycie zabezpieczeń, które dodaje lub zastępuje wskazówki w tym węźle, zobacz ASP.NET Core Blazor authentication and authorization (Uwierzytelnianie podstawowe i autoryzacja) oraz inne artykuły w temacie BlazorSecurity and node (Zabezpieczenia i Identity węzeł).

Funkcje zabezpieczeń platformy ASP.NET Core

ASP.NET Core udostępnia wiele narzędzi i bibliotek do zabezpieczania aplikacji ASP.NET Core, takich jak wbudowani identity dostawcy i usługi innych firm identity , takie jak Facebook, Twitter i LinkedIn. Platforma ASP.NET Core udostępnia kilka podejść do przechowywania wpisów tajnych aplikacji.

Uwierzytelnianie i autoryzacja

Uwierzytelnianie to proces, w którym użytkownik podaje poświadczenia porównywane następnie z tymi przechowywanymi w systemie operacyjnym, bazie danych, aplikacji lub zasobie. Jeśli są zgodne, użytkownicy są uwierzytelniani pomyślnie, a następnie mogą wykonywać akcje, dla których są autoryzowani podczas procesu autoryzacji. Autoryzacja oznacza proces, który określa, co użytkownik może robić.

Innym sposobem myślenia o uwierzytelnianiu jest traktowanie go jako sposobu dostawania się do miejsca, takiego jak serwer, baza danych, aplikacja lub zasób, podczas gdy autoryzacja decyduje o tym, które akcje użytkownik może wykonać na których obiektach wewnątrz tego miejsca (serwera, bazy danych lub aplikacji).

Typowe luki w zabezpieczeniach oprogramowania

Platformy ASP.NET Core i EF zawierają funkcje, które ułatwiają zabezpieczanie aplikacji i zapobieganie naruszeniom zabezpieczeń. Poniższa lista linków prowadzi do dokumentacji zawierającej szczegółowe informacje o technikach unikania najczęstszych luk w zabezpieczeniach w aplikacjach internetowych:

Istnieje więcej luk w zabezpieczeniach, o których należy wiedzieć. Aby uzyskać więcej informacji, zobacz inne artykuły w sekcji Zabezpieczenia i rozwiązanie Identity spisu treści.

Bezpieczne przepływy uwierzytelniania

Zalecamy użycie najbezpieczniejszej opcji bezpiecznego uwierzytelniania. W przypadku usług platformy Azure najbezpieczniejsze uwierzytelnianie to tożsamości zarządzane.

Unikaj udzielania poświadczeń hasła właściciela zasobu, ponieważ:

  • Uwidacznia hasło użytkownika klientowi.
  • Jest istotnym zagrożeniem bezpieczeństwa.
  • Należy używać tylko wtedy, gdy inne przepływy uwierzytelniania nie są możliwe.

Tożsamości zarządzane to bezpieczny sposób uwierzytelniania w usługach bez konieczności przechowywania poświadczeń w kodzie, zmiennych środowiskowych lub plikach konfiguracji. Tożsamości zarządzane są dostępne dla usług platformy Azure i mogą być używane z usługami Azure SQL, Azure Storage i innymi usługami platformy Azure:

Po wdrożeniu aplikacji na serwerze testowym można użyć zmiennej środowiskowej, aby ustawić parametry połączenia na testowy serwer bazy danych. Aby uzyskać więcej informacji, zobacz Konfiguracja. Zmienne środowiskowe są zwykle przechowywane w postaci zwykłego, niezaszyfrowanego tekstu. W przypadku naruszenia zabezpieczeń maszyny lub procesu zmienne środowiskowe mogą być dostępne dla niezaufanych stron. Zalecamy używanie zmiennych środowiskowych do przechowywania parametry połączenia produkcyjnych, ponieważ nie jest to najbezpieczniejsze podejście.

Wytyczne dotyczące danych konfiguracji:

  • Nigdy nie przechowuj haseł ani innych poufnych danych w kodzie dostawcy konfiguracji ani w plikach konfiguracji w postaci zwykłego tekstu. Narzędzie Menedżer wpisów tajnych może służyć do przechowywania wpisów tajnych w środowisku tworzenia.
  • Nie używaj wpisów tajnych produkcji w środowiskach tworzenia ani testowania.
  • Określaj wpisy tajne poza projektem, aby nie można było ich przypadkowo zatwierdzić w repozytorium kodu źródłowego.

Wytyczne dotyczące danych konfiguracji:

  • Nigdy nie przechowuj haseł ani innych poufnych danych w kodzie dostawcy konfiguracji ani w plikach konfiguracji w postaci zwykłego tekstu. Narzędzie Menedżer wpisów tajnych może służyć do przechowywania wpisów tajnych w środowisku tworzenia.
  • Nie używaj wpisów tajnych produkcji w środowiskach tworzenia ani testowania.
  • Określaj wpisy tajne poza projektem, aby nie można było ich przypadkowo zatwierdzić w repozytorium kodu źródłowego.

Aby uzyskać więcej informacji, zobacz:

Aby uzyskać informacje na temat innych dostawców usług w chmurze, zobacz:

Dodatkowe zasoby