Материалы по безопасности в ASP.NET Core

ASP.NET Core позволяет разработчикам настраивать параметры безопасности и управлять ими. В следующем списке приведены ссылки на статьи о работе с безопасностью в ASP.NET Core:

Эти функции обеспечения безопасности позволяют создавать надежные и защищенные приложения ASP.NET Core.

Сведения о Blazor безопасности, которые дополняют или заменяют рекомендации, приведенные в этом разделе, см. в статье ASP.NET Core Blazor authentication and authorization и других статьях в разделе Безопасность и Identity элемента Blazor.

Функции безопасности в ASP.NET Core

ASP.NET Core предоставляет множество средств и библиотек для обеспечения безопасности приложений ASP.NET Core, таких как встроенные поставщики идентификации и службы идентификации сторонних поставщиков, такие как Facebook, Twitter и LinkedIn. ASP.NET Core предоставляет несколько подходов к хранению секретов приложений.

Проверка подлинности и авторизация

Проверка подлинности — это процесс, когда пользователь предоставляет учетные данные, которые сравниваются с учетными данными, хранящимися в операционной системе, базе данных, приложении или ресурсе. При совпадении двух наборов учетных данных пользователь успешно проходит проверку подлинности. Затем они могут выполнять действия, для которых они авторизованы. Процесс авторизации определяет действия, которые пользователь может выполнять.

Другой способ думать о проверке подлинности заключается в том, чтобы рассматривать его как способ ввода пространства, где пространство является сервером, базой данных, приложением или ресурсом. Авторизация определяет действия , которые пользователь может выполнять с объектами внутри этого пространства (сервер, база данных или приложение).

Распространенные уязвимости в программном обеспечении

ASP.NET Core и Entity Framework содержат функции, которые помогают защитить приложения и предотвратить нарушения безопасности. Далее приводится список ссылок на документацию с описанием методов, позволяющих устранять наиболее распространенные уязвимости в веб-приложениях:

Существует еще целый ряд уязвимостей, о которых следует знать. Дополнительные сведения см. в других статьях раздела Безопасность и Identity.

Безопасные потоки проверки подлинности

Рекомендуется использовать самый безопасный вариант проверки подлинности. Для служб Azure наиболее безопасным способом аутентификации являются управляемые удостоверения.

Избегайте использования предоставления учетных данных владельца ресурса (ROPG):

  • Он предоставляет клиенту пароль пользователя.
  • Это значительный риск безопасности.
  • Используйте его только в том случае, если другие потоки проверки подлинности недоступны.

Управляемые удостоверения — это безопасный способ проверки подлинности в службах без необходимости хранить учетные данные в коде, переменных среды или файлах конфигурации. Управляемые удостоверения доступны для служб Azure и могут использоваться с Azure SQL, Хранилищем Azure и другими службами Azure:

Когда приложение развертывается на тестовом сервере, можно использовать переменную среды для задания строки подключения к тестовому серверу базы данных. Дополнительные сведения см. в статье Конфигурация. Переменные среды обычно хранятся в простом незашифрованном тексте. Если компьютер или процесс скомпрометирован, переменные среды могут быть доступны ненадежным сторонам. Мы не рекомендуем использовать переменные среды для хранения строки подключения для рабочей среды, так как это не является самым безопасным подходом.

Рекомендации по данным конфигурации:

  • Никогда не храните пароли или другие конфиденциальные данные в коде поставщика конфигурации или в файлах конфигурации обычного текста. Хранить секреты во время разработки можно с помощью диспетчера секретов.
  • Не используйте секреты рабочей среды в средах разработки и тестирования.
  • Указывайте секреты вне проекта, чтобы их нельзя было случайно зафиксировать в репозитории с исходным кодом.

Дополнительные сведения см. в разделе:

Дополнительные сведения о других поставщиках облачных служб см. в статье:

Шаблоны корпоративных веб-приложений

Рекомендации по созданию надежного, безопасного, производительного, тестового и масштабируемого приложения ASP.NET Core см. в шаблонах веб-приложений Enterprise. Полный пример веб-приложения с высоким качеством рабочей среды, реализующий шаблоны, доступен.