Aumentar a segurança da aplicação usando princípios Confiança Zero

Não se pode assumir um perímetro de rede seguro em torno das aplicações que são desenvolvidas. Quase todas as aplicações desenvolvidas, por design, serão acedidas fora do perímetro da rede. As aplicações não podem ser garantidas para serem seguras quando são desenvolvidas ou permanecerão assim depois de serem implementadas. É da responsabilidade do desenvolvedor de aplicações não só maximizar a segurança da aplicação, mas também minimizar os danos que a aplicação pode causar se estiver comprometida.

Além disso, a responsabilidade inclui o apoio às necessidades em evolução dos clientes e utilizadores, que esperam que a aplicação satisfaça Confiança Zero requisitos de segurança. Aprenda os princípios do modelo Confiança Zero e adote as práticas. Ao aprender e adotar os princípios, podem ser desenvolvidas aplicações mais seguras e que minimizam os danos que podem causar se houver uma quebra na segurança.

O modelo Confiança Zero prescreve uma cultura de verificação explícita em vez de confiança implícita. O modelo está ancorado em três princípios orientadores fundamentais:

  • Verifique explicitamente
  • Use o acesso menos privilegiado
  • Assuma a violação

Confiança Zero melhores práticas

Siga estas boas práticas para construir aplicações prontas Confiança Zero com o plataforma de identidades da Microsoft e as suas ferramentas.

Verifique explicitamente

A plataforma de identidades da Microsoft oferece mecanismos de autenticação para verificar a identidade da pessoa ou serviço que acede a um recurso. Aplique as melhores práticas descritas abaixo para verificar explicitamente quaisquer entidades que necessitem de aceder a dados ou recursos.

Melhores práticas Benefícios para a segurança da aplicação
Utilize as Bibliotecas de Autenticação Microsoft (MSAL). MSAL é um conjunto de bibliotecas de autenticação Microsoft para desenvolvedores. Com o MSAL, os utilizadores e aplicações podem ser autenticados, e os tokens podem ser adquiridos para aceder a recursos corporativos usando apenas algumas linhas de código. A MSAL utiliza protocolos modernos (OpenID Connect e OAuth 2.0) que eliminam a necessidade de aplicações para manusear diretamente as credenciais de um utilizador. Este manuseamento de credenciais melhora consideravelmente a segurança tanto para os utilizadores como para as aplicações, uma vez que o fornecedor de identidade passa a ser o perímetro de segurança. Além disso, estes protocolos evoluem continuamente para abordar novos paradigmas, oportunidades e desafios na segurança da identidade.
Adotar extensões de segurança reforçadas como Avaliação contínua de acesso (CAE) e contexto de autenticação de acesso condicional quando apropriado. Em Azure AD, algumas das extensões mais utilizadas incluem Acesso Condicional (CA), contexto de autenticação de acesso condicional e CAE. As aplicações que utilizem funcionalidades de segurança melhoradas como o contexto de autenticação cae e o contexto de autenticação de acesso condicional devem ser codificadas para lidar com os desafios das reclamações. Os protocolos abertos permitem que os desafios de reclamações e pedidos de reclamações sejam usados para invocar capacidades extra do cliente. As capacidades podem ser continuar a interação com Azure AD, como quando houve uma anomalia ou se as condições de autenticação do utilizador mudam. Estas extensões podem ser codificadas numa aplicação sem perturbar os fluxos de código primário para a autenticação.
Utilize o fluxo de autenticação correto por tipo de aplicação. Para aplicações web, tente sempre utilizar fluxos confidenciais de clientes. Para aplicações móveis, tente utilizar corretores ou o navegador do sistema para autenticação. Os fluxos para aplicações web que podem conter um segredo (clientes confidenciais) são considerados mais seguros do que os clientes públicos (por exemplo: aplicações de desktop e consola). Quando o navegador web do sistema é utilizado para autenticar uma aplicação móvel, uma experiência secure Single Sign-On (SSO) permite o uso de políticas de proteção de aplicações.

Use o acesso menos privilegiado

Um desenvolvedor usa o plataforma de identidades da Microsoft para conceder permissões (âmbitos) e verificar se um chamador foi autorizado corretamente antes de permitir o acesso. Impor o acesso menos privilegiado nas aplicações, permitindo permissões de grãos finos que permitam conceder a menor quantidade de acesso necessário. Considere as seguintes práticas para garantir a adesão ao princípio do menor privilégio:

  • Avalie as permissões que são solicitadas para garantir que os menos privilegiados estão definidos para fazer o trabalho. Não crie permissões de "catch-all" com acesso a toda a superfície da API.
  • Ao conceber APIs, forneça permissões granulares para permitir o acesso menos privilegiado. Comece por dividir a funcionalidade e o acesso aos dados em secções que podem ser controladas através da utilização de âmbitos e funções de App. Não adicione APIs às permissões existentes de uma forma que mude a semântica da permissão.
  • Ofereça permissões só de leitura . Write acesso, inclui privilégios para criar, atualizar e apagar operações. Um cliente nunca deve exigir o acesso de escrita apenas para ler dados.
  • Ofereça permissões delegadas e de inscrição . Saltar permissões de aplicações pode criar requisitos difíceis para os clientes alcançarem cenários comuns como automação, microserviços e muito mais.
  • Considere permissões de acesso "standard" e "completas" se trabalhar com dados sensíveis. Restringir as propriedades sensíveis para que não possam ser acedidas usando uma permissão de acesso "padrão", por exemplo Resource.Read. E, em seguida, implementar uma permissão de acesso "completa", por exemplo Resource.ReadFull , que devolve todas as propriedades disponíveis, incluindo informações confidenciais.

Assuma a violação

O portal de registo de aplicações plataforma de identidades da Microsoft é o principal ponto de entrada para aplicações que pretendem utilizar a plataforma para a sua autenticação e necessidades associadas. Ao registar e configurar aplicações, siga as práticas descritas abaixo para minimizar os danos que podem causar se houver uma falha de segurança. Para mais informações, consulte Azure AD aplicação de segurança de segurança de registo.

Considere as seguintes ações que impeçam violações da segurança:

  • Defina corretamente os URIs de redirecionamento para a aplicação. Não utilize o mesmo registo de inscrição para várias aplicações.
  • Verifique os URIs de redirecionamento utilizados no registo de pedidos de propriedade e para evitar aquisições de domínios. Não crie a aplicação como multi-inquilino a menos que seja para ser. |
  • Certifique-se de que os principais proprietários de candidaturas e serviços são sempre definidos e mantidos para as candidaturas registadas no arrendatário.

Passos seguintes