Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo fornece informações que o ajudam a:
- Entenda as vantagens de segurança de hospedar aplicativos na nuvem
- Avaliar as vantagens de segurança da plataforma como serviço (PaaS) em comparação com outros modelos de serviço em nuvem
- Mude seu foco de segurança de uma abordagem de segurança centrada na rede para uma abordagem de segurança de perímetro centrada na identidade
- Implementar recomendações gerais de práticas recomendadas de segurança de PaaS
Desenvolver aplicativos seguros no Azure é um guia geral para as perguntas e controles de segurança que você deve considerar em cada fase do ciclo de vida de desenvolvimento de software ao desenvolver aplicativos para a nuvem.
Vantagens da segurança na nuvem
É importante entender a divisão de responsabilidades entre você e a Microsoft. No local, você é o proprietário de toda a pilha, mas à medida que se move para a nuvem, algumas responsabilidades são transferidas para a Microsoft.
Há vantagens de segurança em estar na nuvem. Em um ambiente local, as organizações provavelmente têm responsabilidades não cumpridas e recursos limitados disponíveis para investir em segurança, o que cria um ambiente onde os invasores podem explorar vulnerabilidades em todas as camadas.
As organizações podem melhorar seus tempos de deteção e resposta a ameaças usando os recursos de segurança baseados em nuvem e inteligência de nuvem de um provedor. Ao transferir as responsabilidades para o provedor de nuvem, as organizações podem obter mais cobertura de segurança, o que lhes permite realocar recursos de segurança e orçamento para outras prioridades de negócios.
Vantagens de segurança de um modelo de serviço de nuvem PaaS
Vamos examinar as vantagens de segurança de uma implantação de PaaS do Azure em relação ao local.
Começando pela base da pilha, a infraestrutura física, a Microsoft mitiga riscos e responsabilidades comuns. Como a nuvem da Microsoft é continuamente monitorada pela Microsoft, é difícil atacar. Não faz sentido para um invasor perseguir a nuvem da Microsoft como alvo. A menos que o atacante tenha muito dinheiro e recursos, é provável que passe para outro alvo.
No meio da pilha, não há diferença entre uma implementação de PaaS e uma implementação local. Na camada de aplicativo e na camada de gerenciamento de conta e acesso, você tem riscos semelhantes. Na seção Próximas etapas deste artigo, orientamos você sobre as práticas recomendadas para eliminar ou minimizar esses riscos.
No topo da pilha, governança de dados e gestão de direitos, assume-se um risco que pode ser mitigado pela gestão de chaves. Embora o gerenciamento de chaves seja uma responsabilidade adicional, você tem áreas em uma implantação de PaaS que não precisa mais gerenciar para poder transferir recursos para o gerenciamento de chaves.
A plataforma Azure também fornece forte proteção contra DDoS usando várias tecnologias baseadas em rede. No entanto, todos os tipos de métodos de proteção contra DDoS baseados em rede têm seus limites por link e por datacenter. Para ajudar a evitar o impacto de grandes ataques DDoS, você pode aproveitar o recurso de nuvem principal do Azure para permitir que você escale rápida e automaticamente para se defender contra ataques DDoS.
Identidade como perímetro de segurança primário
Com as implantações de PaaS, ocorre uma mudança na sua abordagem geral de segurança. Você deixa de precisar controlar tudo sozinho para compartilhar a responsabilidade com a Microsoft.
Outra diferença significativa entre PaaS e implantações locais tradicionais é uma nova visão do que define o perímetro de segurança principal. Historicamente, o principal perímetro de segurança local era a sua rede e a maioria dos projetos de segurança local usa a rede como seu principal pivô de segurança. Para implantações de PaaS, você é mais bem servido ao considerar a identidade como o perímetro de segurança principal.
Uma das cinco características essenciais da computação em nuvem é o amplo acesso à rede, o que torna o pensamento centrado na rede menos relevante. O objetivo de grande parte da computação em nuvem é permitir que os usuários acessem recursos independentemente da localização. Para a maioria dos usuários, sua localização será em algum lugar na Internet.
A figura a seguir mostra como o perímetro de segurança evoluiu de um perímetro de rede para um perímetro de identidade. A segurança passa a ser menos sobre a defesa da sua rede e mais sobre a defesa dos seus dados, bem como sobre a gestão da segurança das suas aplicações e utilizadores. A principal diferença é que você quer aproximar a segurança do que é importante para a sua empresa.
Inicialmente, os serviços PaaS do Azure (por exemplo, Azure App Service e Azure SQL) forneciam poucas ou nenhumas defesas tradicionais de perímetro de rede. Entendeu-se que o objetivo do elemento era ser exposto à Internet (função Web) e que a autenticação fornece o novo perímetro (por exemplo, Azure SQL).
As práticas de segurança modernas pressupõem que o adversário violou o perímetro da rede. Portanto, as práticas modernas de defesa focaram-se na identidade. As organizações devem estabelecer um perímetro de segurança baseado em identidade com autenticação forte e higiene de autorização.
Práticas recomendadas para gerenciamento de identidades
A seguir estão as práticas recomendadas para gerenciar o perímetro de identidade.
Boa prática: Deves primeiro considerar usar identidades geridas para recursos do Azure para aceder de forma segura a outros serviços sem armazenar credenciais. Detalhe: As identidades geridas fornecem automaticamente uma identidade para aplicações a correr em serviços Azure, permitindo-lhes autenticar-se em serviços que suportam o Microsoft Entra ID sem necessidade de credenciais em código ou ficheiros de configuração. Isto reduz o risco de exposição de credenciais e simplifica a gestão de identidade das suas candidaturas.
Práticas recomendadas: proteja suas chaves e credenciais para proteger sua implantação de PaaS. Detalhe: perder chaves e credenciais é um problema comum. Você pode usar uma solução centralizada onde chaves e segredos podem ser armazenados em módulos de segurança de hardware (HSMs). O Azure Key Vault protege suas chaves e segredos criptografando chaves de autenticação, chaves de conta de armazenamento, chaves de criptografia de dados, arquivos .pfx e senhas usando chaves protegidas por HSMs.
Práticas recomendadas: não coloque credenciais e outros segredos no código-fonte ou no GitHub. Detalhe: A única coisa pior do que perder suas chaves e credenciais é ter uma parte não autorizada tendo acesso a elas. Os invasores podem aproveitar as tecnologias de bot para encontrar chaves e segredos armazenados em repositórios de código, como o GitHub. Não coloque chaves e segredos nesses repositórios de código públicos.
Práticas recomendadas: use plataformas de autenticação e autorização fortes. Detalhe: Utilize o Microsoft Entra ID para autenticação em vez de repositórios de usuário personalizados. Ao usar o Microsoft Entra ID, você aproveita uma abordagem baseada em plataforma e delega o gerenciamento de identidades autorizadas. Uma abordagem Microsoft Entra ID é especialmente importante quando os funcionários são demitidos e essas informações precisam ser refletidas por meio de vários sistemas de identidade e autorização.
Use mecanismos de autenticação e autorização fornecidos pela plataforma em vez de código personalizado. A razão é que o desenvolvimento de código de autenticação personalizado pode ser propenso a erros. A maioria dos seus desenvolvedores não são especialistas em segurança e é improvável que estejam cientes das sutilezas e dos desenvolvimentos mais recentes em autenticação e autorização. O código comercial (por exemplo, da Microsoft) é frequentemente extensivamente revisto em termos de segurança.
Utilize autenticação multifator (MFA) e assegure que métodos MFA resistentes a phishing — como Passkeys, FIDO2 ou Certificate-Based Authentication (CBA) — são aplicados através de políticas de Acesso Condicional. No mínimo, exija-os para todos os administradores e, para garantir uma segurança ótima, implemente-os em todo o tenant. O acesso às interfaces de gerenciamento do Azure (portal/PowerShell remoto) e aos serviços voltados para o cliente deve ser projetado e configurado para usar a autenticação multifator do Microsoft Entra.
Para iniciar sessão na aplicação, utilize o OpenID Connect (OIDC) com OAuth 2.0 via Microsoft Entra ID. Esses protocolos foram extensivamente revisados por pares e provavelmente são implementados como parte de suas bibliotecas de plataforma para autenticação e autorização.
Use a modelagem de ameaças durante o design do aplicativo
O Ciclo de Vida de Desenvolvimento de Segurança da Microsoft especifica que as equipes devem se envolver em um processo chamado modelagem de ameaças durante a fase de design. Para ajudar a facilitar esse processo, a Microsoft criou a SDL Threat Modeling Tool. Modelar o design da aplicação e enumerar as ameaças STRIDE através de todas as fronteiras de confiança pode detetar logo no início os erros de projeto.
A tabela a seguir lista as ameaças STRIDE e fornece alguns exemplos de mitigações que usam recursos do Azure. Essas mitigações não funcionarão em todas as situações.
| Ameaça | Propriedade de segurança | Possíveis mitigações da plataforma Azure |
|---|---|---|
| Falsificação | Autenticação | Requer conexões HTTPS. |
| Adulteração | Integridade | Valide certificados TLS/SSL. |
| Rejeição | Não repúdio | Habilite o monitoramento e o diagnóstico do Azure. |
| Divulgação de informações | Confidencialidade | Criptografe dados confidenciais em repouso usando certificados de serviço. |
| Negação de serviço | Disponibilidade | Monitore as métricas de desempenho para possíveis condições de negação de serviço. Implementar filtros de conexão. |
| Elevação de privilégios | Autorização | Utilize Gestão de Identidade Privilegiada. |
Serviço de Aplicações do Azure
O Serviço de Aplicativo do Azure é uma oferta de PaaS que permite criar aplicativos Web e móveis para qualquer plataforma ou dispositivo e conectar-se a dados em qualquer lugar, na nuvem ou localmente. O Serviço de Aplicativo inclui os recursos Web e móveis que anteriormente eram fornecidos separadamente como Sites do Azure e Serviços Móveis do Azure. Também inclui novas capacidades para automatizar processos de negócio e o alojar APIs da nuvem.
A seguir estão as práticas recomendadas para usar o Serviço de Aplicativo.
Prática recomendada: Autentique-se por meio do Microsoft Entra ID. Detalhe: o Serviço de Aplicativo fornece um serviço OAuth 2.0 para seu provedor de identidade. O OAuth 2.0 se concentra na simplicidade do desenvolvedor cliente enquanto fornece fluxos de autorização específicos para aplicativos Web, aplicativos de desktop e telefones celulares. O Microsoft Entra ID usa o OAuth 2.0 para permitir que você autorize o acesso a aplicativos móveis e da Web.
Melhor prática: Restrinja o acesso com base na necessidade de conhecer e nos princípios de segurança de mínimo privilégio. Detalhe: restringir o acesso é imperativo para organizações que desejam aplicar políticas de segurança para acesso a dados. Você pode usar o RBAC do Azure para atribuir permissões a usuários, grupos e aplicativos em um determinado escopo.
Melhores práticas: proteja as suas chaves. Detalhe: o Azure Key Vault ajuda a proteger chaves criptográficas e segredos que os aplicativos e serviços na nuvem usam. Com o Cofre de Chaves, você pode criptografar chaves e segredos (como chaves de autenticação, chaves de conta de armazenamento, chaves de criptografia de dados, . PFX e senhas) usando chaves protegidas por módulos de segurança de hardware (HSMs). Para maior segurança, pode importar ou gerar chaves nos HSMs. Consulte Azure Key Vault para saber mais. Você também pode usar o Cofre da Chave para gerenciar seus certificados TLS com renovação automática.
Prática recomendada: Restrinja os endereços IP de origem de entrada. Detalhe: o Ambiente do Serviço de Aplicativo tem um recurso de integração de rede virtual que ajuda a restringir os endereços IP de origem de entrada por meio de grupos de segurança de rede. As redes virtuais permitem que você coloque recursos do Azure em uma rede roteável que não seja da Internet à qual você controla o acesso. Para saber mais, consulte Integrar seu aplicativo a uma rede virtual do Azure. Além disso, pode também usar o link privado (endpoint privado) e desativar a rede pública para forçar a ligação de rede privada entre o App Service e outros serviços.
Boa prática: Aplicar tráfego apenas em HTTPS e exigir TLS 1.2 ou superior para todas as ligações. Desativar o acesso FTP sempre que possível; se a transferência de ficheiros for necessária, utilize FTPS para garantir transferências seguras e encriptadas. Detalhe: Configurar o seu Serviço de Aplicações para aceitar apenas tráfego HTTPS garante que os dados são encriptados durante o trânsito, protegendo informações sensíveis contra interceção. Exigir TLS 1.2 ou superior proporciona uma segurança mais forte contra vulnerabilidades encontradas em versões anteriores do protocolo. Desativar o FTP reduz o risco de credenciais ou dados serem transmitidos sem encriptação. Se for necessária transferência de ficheiros, ative apenas FTPS, que encripta tanto as credenciais como os dados durante o trânsito.
Práticas recomendadas: monitore o estado de segurança de seus ambientes do Serviço de Aplicativo. Detalhe: use o Microsoft Defender for Cloud para monitorar seus ambientes do Serviço de Aplicativo. Quando o Defender for Cloud identifica possíveis vulnerabilidades de segurança, ele cria recomendações que o guiam pelo processo de configuração dos controles necessários. O Microsoft Defender for App Service fornece proteção contra ameaças para seus recursos do Serviço de Aplicativo.
Para obter mais informações, consulte Microsoft Defender for App Service.
Firewall de Aplicações Web
Cada vez mais, as aplicações Web são alvo de ataques maliciosos que exploram vulnerabilidades conhecidas comuns. São comuns entre essas explorações os ataques de injeção de SQL e os ataques de cross-site scripting. A prevenção desses ataques no código do aplicativo pode ser um desafio e pode exigir manutenção, aplicação de patches e monitoramento rigorosos em muitas camadas da topologia do aplicativo. Uma firewall de aplicações Web centralizada ajuda a simplificar em muito a gestão da segurança e confere aos administradores de aplicações uma maior garantia de proteção contra as ameaças ou intrusões. Uma solução WAF também pode reagir a uma ameaça de segurança mais rapidamente, corrigindo uma vulnerabilidade conhecida em um local central em vez de proteger cada aplicativo Web individual.
O Azure Web Application Firewall (WAF) fornece proteção centralizada de seus aplicativos Web contra exploits e vulnerabilidades comuns. O WAF está disponível através do Azure Application Gateway e do Azure Front Door.
proteção contra DDoS
O Azure oferece dois principais níveis de proteção DDoS: DDoS IP Protection e DDoS Network Protection. Estas opções abrangem diferentes cenários e têm características e preços distintos.
- Proteção DDoS IP: Ideal para proteger endereços IP públicos específicos, ideal para implementações menores ou direcionadas que necessitam de mitigação essencial de DDoS ao nível IP.
- Proteção de Rede DDoS: Abrange redes virtuais inteiras com mitigação, análises e integração avançadas; adequado para ambientes maiores ou empresariais que necessitam de segurança mais ampla.
Escolha DDoS IP Protection para casos focados e sensíveis a custos; selecione Proteção de Rede DDoS para cobertura abrangente e funcionalidades avançadas.
A proteção DDoS defende na camada de rede (3/4). Para a defesa da camada de aplicação (7), adicione um WAF. Ver proteção DDoS da aplicação.
Monitorar o desempenho do aplicativo
O Azure Monitor recolhe, analisa e atua na telemetria a partir dos seus ambientes na nuvem e no local. Uma estratégia de monitorização efetiva ajuda-o a compreender o funcionamento em detalhe dos componentes da sua aplicação. Ajuda a aumentar o seu tempo de atividade, notificando-o sobre questões críticas para que possa resolvê-las antes que se agravem. Também o ajuda a detetar anomalias que possam estar relacionadas com a segurança.
Use o Application Insights para monitorar a disponibilidade, o desempenho e o uso do seu aplicativo, seja ele hospedado na nuvem ou no local. Usando o Application Insights, você pode identificar e diagnosticar rapidamente erros em seu aplicativo sem esperar que um usuário os relate. Com as informações que recolher, pode fazer escolhas informadas sobre a manutenção e as melhorias da aplicação.
O Application Insights tem um vasto conjunto ferramentas para interagir com os dados que recolhe. O Application Insights armazena os dados num repositório comum. Ele pode tirar proveito de funcionalidades compartilhadas, como alertas, painéis e análises profundas com a linguagem de consulta Kusto.
Realizar testes de penetração de segurança
Validar defesas de segurança é tão importante quanto testar qualquer outra funcionalidade. Torne o teste de penetração uma parte integrante do seu processo de compilação e implantação. Agende testes de segurança regulares e análise de vulnerabilidades em aplicações implementadas e monitore portas abertas, endpoints e ataques.
Próximos passos
Neste artigo, nos concentramos nas vantagens de segurança de uma implantação de PaaS do Azure e nas práticas recomendadas de segurança para aplicativos em nuvem. Em seguida, aprenda as práticas recomendadas para proteger suas soluções Web e móveis PaaS usando serviços específicos do Azure. Começaremos com o Serviço de Aplicativo do Azure, o Banco de Dados SQL do Azure e o Azure Synapse Analytics e o Armazenamento do Azure. À medida que os artigos sobre práticas recomendadas para outros serviços do Azure se tornam disponíveis, os links serão fornecidos na lista a seguir:
- Serviço de Aplicações do Azure
- Banco de Dados SQL do Azure e Azure Synapse Analytics
- Armazenamento do Azure
Consulte Desenvolver aplicativos seguros no Azure para perguntas e controles de segurança que você deve considerar em cada fase do ciclo de vida de desenvolvimento de software ao desenvolver aplicativos para a nuvem.
Consulte Práticas recomendadas e padrões de segurança do Azure para obter mais práticas recomendadas de segurança a serem usadas ao projetar, implantar e gerenciar suas soluções de nuvem usando o Azure.
Os seguintes recursos estão disponíveis para fornecer informações mais gerais sobre a segurança do Azure e os serviços relacionados da Microsoft:
- Documentação de Segurança do Azure - para obter orientações de segurança abrangentes
- Centro de Resposta de Segurança da Microsoft - onde as vulnerabilidades de segurança da Microsoft, incluindo problemas com o Azure, podem ser relatadas ou por e-mail para secure@microsoft.com