Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ASP.NET Core позволяет разработчикам настраивать параметры безопасности и управлять ими. В следующем списке приведены ссылки на статьи о работе с безопасностью в ASP.NET Core:
- Аутентификация
- Авторизация
- Защита данных
- Применение HTTPS
- Безопасное хранение секретов приложений во время разработки
- Предотвращение XSRF/CSRF
- Общий доступ к ресурсам независимо от источника (CORS)
- Атаки межсайтового скриптинга (XSS)
Эти функции обеспечения безопасности позволяют создавать надежные и защищенные приложения 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 содержат функции, которые помогают защитить приложения и предотвратить нарушения безопасности. Далее приводится список ссылок на документацию с описанием методов, позволяющих устранять наиболее распространенные уязвимости в веб-приложениях:
- Атаки межсайтового выполнения сценариев (XSS)
- SQL-запросы > атаки SQL-инъекций
- Атаки с межсайтовой подделкой запроса (XSRF/CSRF)
- Атаки с открытой переадресацией
Существует еще целый ряд уязвимостей, о которых следует знать. Дополнительные сведения см. в других статьях раздела Безопасность и Identity.
Безопасные потоки проверки подлинности
Рекомендуется использовать самый безопасный вариант проверки подлинности. Для служб Azure наиболее безопасным способом аутентификации являются управляемые удостоверения.
Избегайте использования предоставления учетных данных владельца ресурса (ROPG):
- Он предоставляет клиенту пароль пользователя.
- Это значительный риск безопасности.
- Используйте его только в том случае, если другие потоки проверки подлинности недоступны.
Управляемые удостоверения — это безопасный способ проверки подлинности в службах без необходимости хранить учетные данные в коде, переменных среды или файлах конфигурации. Управляемые удостоверения доступны для служб Azure и могут использоваться с Azure SQL, Хранилищем Azure и другими службами Azure:
- Управляемые удостоверения в Microsoft Entra для Azure SQL
- Управляемые удостоверения для Службы приложений Azure и Функций Azure
- Безопасные потоки проверки подлинности
Когда приложение развертывается на тестовом сервере, можно использовать переменную среды для задания строки подключения к тестовому серверу базы данных. Дополнительные сведения см. в статье Конфигурация. Переменные среды обычно хранятся в простом незашифрованном тексте. Если компьютер или процесс скомпрометирован, переменные среды могут быть доступны ненадежным сторонам. Мы не рекомендуем использовать переменные среды для хранения строки подключения для рабочей среды, так как это не является самым безопасным подходом.
Рекомендации по данным конфигурации:
- Никогда не храните пароли или другие конфиденциальные данные в коде поставщика конфигурации или в файлах конфигурации обычного текста. Хранить секреты во время разработки можно с помощью диспетчера секретов.
- Не используйте секреты рабочей среды в средах разработки и тестирования.
- Указывайте секреты вне проекта, чтобы их нельзя было случайно зафиксировать в репозитории с исходным кодом.
Дополнительные сведения см. в разделе:
- Рекомендации по использованию управляемых удостоверений
- Подключение приложения к ресурсам без обработки учетных данных в коде
- Службы Azure, которые могут использовать управляемые удостоверения для доступа к другим службам
- Рекомендации по обеспечению безопасности IETF OAuth 2.0 (раздел 2.4). Предоставление учетных данных владельца ресурса)
Дополнительные сведения о других поставщиках облачных служб см. в статье:
- AWS (Amazon Web Services): AWS служба управления ключами (KMS)
- Обзор сервиса управления ключами Google Cloud
Шаблоны корпоративных веб-приложений
Рекомендации по созданию надежного, безопасного, производительного, тестового и масштабируемого приложения ASP.NET Core см. в шаблонах веб-приложений Enterprise. Полный пример веб-приложения с высоким качеством рабочей среды, реализующий шаблоны, доступен.
Связанный контент
ASP.NET Core