Aumentar a segurança do aplicativo usando princípios de Confiança Zero
Não é possível pressupor um perímetro de rede segura em torno dos aplicativos desenvolvidos. Quase todo aplicativo desenvolvido, por design, será acessado fora do perímetro da rede. Não é possível garantir que os aplicativos sejam seguros quando são desenvolvidos ou que permanecerão assim depois de serem implantados. É responsabilidade do desenvolvedor de aplicativos maximizar a segurança do aplicativo e minimizar os danos que o aplicativo pode causar se ele for comprometido.
Além disso, a responsabilidade inclui o suporte às necessidades em constante evolução dos clientes e dos usuários, que esperam que o aplicativo atenda aos requisitos de segurança da Confiança Zero. Conheça os princípios do modelo de Confiança Zero e adote as práticas. Ao aprender e adotar os princípios, os aplicativos podem ser desenvolvidos para serem mais seguros e que minimizam os danos que podem causar se houver uma interrupção na segurança.
O modelo de Confiança Zero determina uma cultura de verificação explícita em vez de confiança implícita. O modelo é ancorado em três princípios orientadores principais:
- Verificação explícita
- Usar o acesso de privilégio mínimo
- Pressupor a violação
Melhores práticas da Confiança Zero
Siga estas melhores práticas para a criação de aplicativos prontos para Confiança Zero com a plataforma de identidade da Microsoft e as respectivas ferramentas.
Verificação explícita
A plataforma de identidade da Microsoft oferece mecanismos de autenticação para verificar a identidade da pessoa ou serviço que está acessando um recurso. Aplique as melhores práticas descritas abaixo para verificar explicitamente se há entidades que precisam acessar dados ou recursos.
Melhor prática | Benefícios para a segurança do aplicativo |
---|---|
Usar a MSAL (Biblioteca de Autenticação da Microsoft). | A MSAL é um conjunto de Bibliotecas de Autenticação da Microsoft para desenvolvedores. Com a MSAL, os usuários e os aplicativos podem ser autenticados, e os tokens podem ser adquiridos para acessar recursos corporativos com apenas algumas linhas de código. A MSAL usa protocolos modernos (OpenID Connect e OAuth 2.0) que dispensam os aplicativos de lidarem diretamente com as credenciais de um usuário. Esse tratamento de credenciais aprimora muito a segurança para usuários e aplicativos, à medida que o provedor de identidade se torna o perímetro de segurança. Além disso, esses protocolos evoluem continuamente para lidar com novos paradigmas, oportunidades e desafios na segurança de identidade. |
Adote extensões de segurança aprimoradas, como aCAE (Avaliação Contínua de Acesso) e o contexto de autenticação de Acesso Condicional, quando apropriado. | No a ID do Microsoft Entra, algumas das extensões mais usadas incluem o Acesso Condicional, Contexto de autenticação do Acesso Condicional e a CAE. Os aplicativos que usam recursos de segurança aprimorados como a CAE e o contexto de autenticação de acesso condicional precisam estar preparados para lidar com desafios de declarações. Os protocolos abertos permitem que você use os desafios de declarações e solicitações de declarações para invocar funcionalidades adicionais do cliente. As funcionalidades podem ser a de continuar a interação com a ID do Microsoft Entra, como quando houver uma anomalia ou se as condições de autenticação do usuário mudarem. Essas extensões podem ser embutidas no código de um aplicativo sem perturbar os fluxos de código primários para autenticação. |
Use o fluxo de autenticação correto por tipo de aplicativo. Para aplicativos Web, sempre tente usar fluxos de cliente confidenciais. Para aplicativos móveis, experimente usar agentes ou o navegador do sistema para autenticação. | Os fluxos para aplicativos Web que podem conter um segredo (clientes confidenciais) são considerados mais seguros do que os clientes públicos (por exemplo, aplicativos de Desktop e de Console). Quando o navegador da Web do sistema é usado para autenticar um aplicativo móvel, uma experiência segura de SSO (logon único) permite o uso de políticas de proteção de aplicativo. |
Usar o acesso de privilégio mínimo
Um desenvolvedor usa a plataforma de identidade da Microsoft para conceder permissões (escopos) e verificar se um chamador recebeu a permissão apropriada antes de permitir o acesso. Imponha o acesso menos privilegiado nos aplicativos habilitando permissões refinadas que possibilitam que você permita o mínimo de acesso necessário. Considere as seguintes práticas para garantir a adesão ao princípio do privilégio mínimo:
- Avalie as permissões solicitadas para garantir que o menos privilegiado esteja definido para fazer o trabalho. Não crie permissões "catch-all" com acesso a toda a superfície da API.
- Ao criar APIs, fornecer permissões granulares para permitir o acesso com o mínimo possível de privilégios. Comece dividindo a funcionalidade e o acesso a dados em seções que possam ser controladas por meio de escopos e funções de aplicativo. Não adicione APIs às permissões existentes de maneira que altere a semântica da permissão.
- Oferecer permissões somente leitura. Acesso de
Write
, inclui privilégios para operações de criação, atualização e exclusão. Um cliente nunca deve exigir o acesso de gravação somente para ler dados. - Oferecer permissões delegadas e de aplicativo. Se você ignorar as permissões do aplicativo, isso poderá resultar na criação de requisitos rígidos para que os clientes realizem cenários comuns, como automação, microsserviços, entre outros.
- Considerar as permissões de acesso "padrão" e "completa" se estiver trabalhando com dados confidenciais. Restrinja as propriedades confidenciais para que elas não sejam acessadas usando uma permissão de acesso "padrão", por exemplo,
Resource.Read
. Em seguida, implemente uma permissão de acesso "completa", por exemplo,Resource.ReadFull
, que retorna todas as propriedades disponíveis, incluindo informações confidenciais.
Pressupor a violação
O portal de registro de aplicativo da plataforma de identidade da Microsoft é o ponto de entrada principal para os aplicativos que pretendem usar a plataforma para necessidades de autenticação e associadas. Ao registrar e configurar aplicativos, siga as práticas descritas abaixo para minimizar os danos que eles poderão causar no caso de uma violação de segurança. Para obter mais informações, consulte Práticas recomendadas de segurança do registro de aplicativo do Microsoft Entra.
Considere as seguintes ações para evitar violações na segurança:
- Defina corretamente os URIs de redirecionamento para o aplicativo. Não use o mesmo registro de aplicativo para vários aplicativos.
- Verifique os URIs de redirecionamento usados no registro do aplicativo quanto à propriedade e a fim de evitar apropriações de domínio. Não crie o aplicativo como um multilocatário, a menos que pretenda usá-lo dessa forma. |
- Verifique se os proprietários de aplicativos e de entidades de serviço são sempre definidos e mantidos para os aplicativos registrados no locatário.
Confira também
- Centro de Diretrizes de Confiança Zero
- Melhores práticas e recomendações da plataforma de identidade da Microsoft.