Partilhar via


ASP.NET Principais tópicos de segurança

ASP.NET Core permite que os desenvolvedores configurem e gerenciem a segurança. A lista a seguir fornece links para tópicos de segurança:

Esses recursos de segurança permitem que você crie aplicativos ASP.NET Core robustos e seguros.

Para obter Blazor cobertura de segurança, que adiciona ou substitui as diretrizes neste nó, consulte Blazor de autenticação e autorização do Core e os outros artigos no nó Blazor do Identity.

ASP.NET Principais recursos de segurança

O ASP.NET Core fornece muitas ferramentas e bibliotecas para proteger aplicativos ASP.NET Core, como provedores de identidade integrados e serviços de identidade de terceiros, como Facebook, Twitter e LinkedIn. ASP.NET Core fornece várias abordagens para armazenar segredos de aplicativos.

Autenticação vs. Autorização

Autenticação é um processo em que um utilizador fornece credenciais que são comparadas às armazenadas em um sistema operativo, base de dados, aplicação ou recurso. Se corresponderem, os utilizadores são autenticados com êxito e podem executar ações para as quais estão autorizados, durante um processo de autorização. A autorização refere-se ao processo que determina o que um usuário pode fazer.

Outra maneira de pensar em autenticação é considerá-la como uma maneira de inserir um espaço, como um servidor, banco de dados, aplicativo ou recurso, enquanto a autorização é quais ações o usuário pode executar para quais objetos dentro desse espaço (servidor, banco de dados ou aplicativo).

Vulnerabilidades comuns no software

ASP.NET Core e EF contêm recursos que ajudam você a proteger seus aplicativos e evitar violações de segurança. A lista de links a seguir leva você à documentação detalhando técnicas para evitar as vulnerabilidades de segurança mais comuns em aplicativos Web:

Há mais vulnerabilidades que você deve estar ciente. Para obter mais informações, consulte os outros artigos na seção Segurança e Identity do sumário.

Fluxos de autenticação seguros

Recomendamos o uso da opção de autenticação mais segura. Para os serviços do Azure, a autenticação mais segura é identidades gerenciadas.

Evite a concessão de credenciais de senha do proprietário do recurso porque:

  • Expõe a senha do usuário para o cliente.
  • É um risco de segurança significativo.
  • Só deve ser usado quando outros fluxos de autenticação não são possíveis.

As identidades gerenciadas são uma maneira segura de autenticar serviços sem a necessidade de armazenar credenciais em código, variáveis de ambiente ou arquivos de configuração. As identidades gerenciadas estão disponíveis para os serviços do Azure e podem ser usadas com o Azure SQL, o Armazenamento do Azure e outros serviços do Azure:

Quando o aplicativo é implantado em um servidor de teste, uma variável de ambiente pode ser usada para definir a cadeia de conexão para um servidor de banco de dados de teste. Para obter mais informações, consulte Configuration. As variáveis de ambiente geralmente são armazenadas em texto simples e não criptografado. Se a máquina ou o processo estiver comprometido, as variáveis de ambiente podem ser acessadas por partes não confiáveis. Recomendamos não usar variáveis de ambiente para armazenar uma cadeia de conexão de produção, pois não é a abordagem mais segura.

Diretrizes de dados de configuração:

  • Nunca armazene senhas ou outros dados confidenciais no código do provedor de configuração ou em arquivos de configuração de texto simples. A ferramenta Secret Manager pode ser usada para armazenar segredos em desenvolvimento.
  • Não use segredos de produção em ambientes de desenvolvimento ou teste.
  • Especifique segredos fora do projeto para que eles não possam ser acidentalmente comprometidos em um repositório de código-fonte.

Para mais informações, consulte:

Para obter informações sobre outros fornecedores de serviços de computação em nuvem, consulte:

Padrões de aplicativos Web corporativos

Para obter orientação sobre como criar um aplicativo ASP.NET Core confiável, seguro, com desempenho, testável e escalável, consulte Padrões de aplicativos Web corporativos. Está disponível um aplicativo Web de exemplo completo com qualidade de produção que implementa os padrões.

Recursos adicionais