Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece informações que ajudam você a:
- Compreender as vantagens de segurança de hospedar aplicativos na nuvem
- Avaliar as vantagens de segurança de PaaS (plataforma como serviço) em comparação com outros modelos de serviço de nuvem
- Alterar o foco de segurança de uma abordagem de segurança de perímetro centrada na rede para uma centrada em identidade
- Implementar as melhores práticas gerais de segurança 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 responsabilidade entre você e a Microsoft. No ambiente local, você é o proprietário de toda a pilha, mas conforme você migra para a nuvem, algumas responsabilidades são transferidas para a Microsoft.
A nuvem oferece vantagens de segurança. Em um ambiente local, as organizações provavelmente têm responsabilidades não cumpridas e recursos limitados para investir em segurança. Essa situação cria um ambiente onde os atacantes podem explorar vulnerabilidades em todas as camadas.
As organizações podem melhorar seus tempos de detecção e resposta de ameaças usando os recursos de segurança baseados em nuvem e inteligência de nuvem de um provedor. Ao deslocar responsabilidades para o provedor de nuvem, as organizações podem obter mais cobertura de segurança, que permite que elas 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
Revise as vantagens de segurança de uma implantação PaaS do Azure em comparação com as on-premises.
Iniciando na parte inferior da pilha, a infraestrutura física, a Microsoft reduz responsabilidades e riscos comuns. Como a Microsoft monitora continuamente a nuvem da Microsoft, é difícil atacá-la. Não faz sentido para um invasor ter a nuvem da Microsoft como alvo. A menos que o atacante tenha muito dinheiro e recursos, é provável que ele vá para outro alvo.
No meio da pilha, uma implantação de PaaS e um ambiente local não diferem. Na camada de aplicação e na camada de gerenciamento de contas e acessos, riscos semelhantes existem. A próxima seção deste artigo guia você para as melhores práticas para eliminar ou minimizar esses riscos.
Na parte superior da pilha, governança de dados e gerenciamento de direitos, você assume um risco que o gerenciamento de chaves pode reduzir. Embora a gestão de chaves seja uma responsabilidade extra, uma implantação PaaS inclui áreas que você não precisa mais gerenciar. Você pode direcionar recursos para o gerenciamento de chaves.
A plataforma do Azure também fornece proteção contra DDoS forte usando várias tecnologias baseadas em rede. No entanto, todos os tipos de métodos de proteção DDoS baseados em rede tem seus limites em uma base por link e por datacenter. Para ajudar a evitar o impacto de grandes ataques DDoS, você pode aproveitar a funcionalidade de nuvem básica do Azure que permite uma expansão rápida e automática para proteção contra DDoS.
Identidade como o perímetro de segurança principal
As implantações de PaaS mudam sua abordagem geral em relação à segurança. Você passa de precisar controlar tudo sozinho com compartilhar a responsabilidade com a Microsoft.
Outra diferença significativa entre o PaaS e as implantações locais tradicionais é um novo conceito sobre o que define o perímetro de segurança principal. Historicamente, o principal perímetro de segurança on-premises era sua rede e a maioria dos projetos de segurança on-premises usa a rede como seu principal pivô de segurança. Para implantações PaaS, considere identidade como o perímetro de segurança principal.
Uma das cinco características essenciais da computação em nuvem é amplo acesso à rede, que torna o pensamento centrado na rede menos relevante. A meta da maior parte da computação em nuvem é permitir que os usuários acessem recursos independentemente da localização. Para a maioria dos usuários, a localização deles é em algum lugar da 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 se torna menos sobre defender a rede e mais sobre como defender seus dados, bem como gerenciar a segurança de seus aplicativos e usuários. A principal diferença é que você deseja aproximar a segurança do que é importante para sua empresa.
Inicialmente, os serviços de PaaS do Azure (por exemplo, Serviço de Aplicativo do Azure e SQL do Azure) forneceram pouca ou nenhuma defesa de perímetro de rede tradicional. O objetivo do elemento era ser exposto à internet (função web), e a autenticação fornece o novo perímetro (por exemplo, SQL do Azure).
Práticas modernas de segurança assumem que o adversário violou o perímetro da rede. Portanto, as práticas modernas de defesa passam a se concentrar 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 o gerenciamento de identidades
Use as seguintes melhores práticas para gerenciar o perímetro de identidade.
Melhor prática: Primeiro, considere usar identidades gerenciadas para recursos do Azure para acessar outros serviços com segurança sem armazenar credenciais. Detalhe: Identidades gerenciadas fornecem automaticamente uma identidade para aplicações rodando em serviços do Azure, o que lhes permite autenticar serviços que suportam Microsoft Entra ID sem exigir credenciais em código ou arquivos de configuração. Essa identidade reduz o risco de exposição de credenciais e simplifica o gerenciamento de identidade para suas aplicações.
Prática recomendada: 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 armazena chaves e segredos 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ática recomendada: 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 públicos de código.
Prática recomendada: use plataformas de autenticação e autorização fortes. Detalhe: Use o ID do Microsoft Entra para autenticação em vez de armazenamentos de usuários personalizados. Ao usar a ID do Microsoft Entra, você aproveita uma abordagem baseada em plataforma e delega o gerenciamento de identidades autorizadas. Uma abordagem do Microsoft Entra ID é especialmente importante quando os funcionários são desligados e essas informações precisam ser integradas a vários sistemas de identidade e autorização.
Use os mecanismos de autenticação e autorização fornecidos pela plataforma em vez de código personalizado. O motivo é 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 provavelmente não estarão cientes das sutilezas e dos desenvolvimentos mais recentes em autenticação e autorização. O código comercial (por exemplo, da Microsoft) é amplamente revisado quanto à segurança, com frequência.
Use autenticação multifator (MFA) e garanta que métodos MFA resistentes a phishing – como chaves de acesso, FIDO2 ou autenticação baseada em certificados (CBA) – sejam aplicados por meio de políticas de Acesso Condicional. No mínimo, exija isso para todos os administradores e, para uma segurança ideal, implemente-os em todo o locatário. O acesso a interfaces de gerenciamento do Azure (portal/PowerShell remoto) e serviços voltados para o cliente deve ser projetado e configurado para usar a autenticação multifator do Microsoft Entra.
Para login no aplicativo, use o OpenID Connect (OIDC) com OAuth 2.0 através do Microsoft Entra ID. Esses protocolos são amplamente revisados por pares e provavelmente implementados como parte das bibliotecas da sua plataforma para autenticação e autorização.
Usar 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 facilitar esse processo, a Microsoft criou a Ferramenta de Modelagem de Ameaças SDL. Modelar o design do aplicativo e enumerar ameaças STRIDE em todos os limites de confiança pode detectar erros de design no início.
A tabela a seguir lista as ameaças STRIDE e fornece algumas mitigações de exemplo que usam recursos do Azure. Essas mitigações não funcionam em todas as situações.
| Ameaça | Propriedade de segurança | Possível migrações para a plataforma Azure |
|---|---|---|
| Falsificação | Autenticação | Exigir conexões HTTPS. |
| Violação | Integridade | Validar certificados TLS/SSL. |
| Repúdio | Não repúdio | Habilite o monitoramento e o diagnóstico do Azure. |
| Divulgação de informações confidenciais | Confidencialidade | Criptografe dados confidenciais em repouso usando certificados de serviço. |
| Negação de serviço | Disponibilidade | Monitorar as métricas de desempenho quanto a possíveis condições de negação de serviço. Implementar filtros de conexão. |
| Elevação de privilégio | Autorização | Use o Privileged Identity Management. |
Serviço de Aplicativo do Azure
O Serviço de Aplicativo do Azure é uma oferta PaaS que ajuda você a criar aplicativos web e móveis para qualquer plataforma ou dispositivo e conectar a dados em qualquer lugar, na nuvem ou localmente. O Serviço de Aplicativo inclui os recursos móveis e da Web que antes eram fornecidos separadamente, como os Sites do Azure e os Serviços Móveis do Azure. Ele também inclui novos recursos para automatizar processos empresariais e hospedagem de APIs de nuvem.
Use as práticas recomendadas a seguir para o App Service.
Prática recomendada: autenticar por meio da ID do Microsoft Entra. Detalhe: o Serviço de Aplicativo fornece um serviço OAuth 2.0 para seu provedor de identidade. O OAuth 2.0 concentra-se na simplicidade do desenvolvedor cliente, fornecendo fluxos de autorização específicos para aplicativos Web, aplicativos da área de trabalho e celulares. A ID do Microsoft Entra usa o OAuth 2.0 para permitir que você autorize o acesso aos aplicativos móveis e Web.
Prática recomendada: restrinja o acesso com base nos princípios de segurança de necessidade de conhecimento e mínimo privilégio. Detalhe: restringir o acesso é imperativo para organizações que desejam impor 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.
Prática recomendada: proteger suas chaves. Detalhe: o Azure Key Vault ajuda a proteger chaves criptográficas e segredos que os aplicativos e serviços de nuvem usam. Com o Key Vault, você pode criptografar chaves e segredos (como chaves de autenticação, chaves de conta de armazenamento, chaves de criptografia de dados, arquivos .PFX e senhas) usando chaves protegidas por HSMs (módulos de segurança de hardware). Para garantia extra, você pode importar ou gerar chaves em HSMs. Consulte do Azure Key Vault para saber mais. Também é possível usar o Key Vault para gerenciar seus certificados TLS com renovação automática.
Prática recomendada: restringir 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 você a restringir 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, fora da Internet, cujo acesso você pode controlar. Para saber mais, confira Integrar seu aplicativo a uma rede virtual do Azure. Você também pode usar o link privado (ponto de extremidade privado) e desabilitar a rede pública para forçar a conexão de rede privada entre o Serviço de Aplicativo e outros serviços.
Prática recomendada: impor o tráfego somente HTTPS e exigir TLS 1.2 ou superior para todas as conexões. Desative o acesso FTP sempre que possível. Se a transferência de arquivos for necessária, use FTPS para garantir transferências seguras e criptografadas. Detalhe: configurar seu Serviço de Aplicativo para aceitar apenas o tráfego HTTPS garante que os dados sejam criptografados em trânsito, protegendo informações confidenciais contra interceptação. Exigir o TLS 1.2 ou superior fornece segurança mais forte contra vulnerabilidades encontradas em versões de protocolo anteriores. Desabilitar o FTP reduz o risco de credenciais ou dados serem transmitidos sem criptografia. Se você precisar de transferência de arquivos, ative apenas o FTPS, que criptografa tanto as credenciais quanto os dados durante o trânsito.
Prática recomendada: monitore o estado de segurança dos ambientes do Serviço de Aplicativo. Detalhe: use o Microsoft Defender para Nuvem para monitorar seus ambientes do Serviço de Aplicativo. Quando o Defender para Nuvem identifica possíveis vulnerabilidades de segurança, ele cria recomendações que guiam você pelo processo de configuração dos controles necessários. O Microsoft Defender para Serviço de Aplicativo fornece proteção contra ameaças para seus recursos do Serviço de Aplicativo.
Para obter mais informações, consulte o Microsoft Defender para Serviço de Aplicativo.
Firewall de Aplicativo Web
Os aplicativos Web cada vez mais são alvos de ataques mal-intencionados que exploram vulnerabilidades conhecidas comuns. Vulnerabilidades comuns incluem ataques de injeção de SQL e ataques de script entre sites. Prevenir tais ataques no código da aplicação pode ser desafiador e pode exigir manutenção rigorosa, patches e monitoramento em várias camadas da topologia da aplicação. Um firewall centralizado de aplicações web simplifica a gestão de segurança e oferece melhor segurança aos administradores de aplicações contra ameaças e 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 WAF (Firewall de Aplicativo Web) do Azure fornece proteção centralizada de seus aplicativos Web contra explorações e vulnerabilidades comuns. O WAF está disponível por meio do Gateway de Aplicativo do Azure e do Azure Front Door.
proteção contra DDoS
O Azure oferece duas camadas principais de proteção contra DDoS: Proteção de IP DDoS e Proteção de Rede DDoS. Essas opções abrangem cenários diferentes e têm recursos e preços distintos.
- Proteção ip DDoS: melhor para proteger endereços IP públicos específicos, ideal para implantações menores ou direcionadas que precisam de mitigação de DDoS essencial no nível de IP.
- Proteção de Rede DDoS: abrange redes virtuais inteiras com mitigação, análise e integração avançadas; adequado para ambientes maiores ou empresariais que precisam 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 recursos avançados.
A Proteção contra DDoS defende na camada de rede (3/4). Para a defesa da camada de aplicativo (7), adicione um WAF. Consulte a proteção contra DDoS do aplicativo.
Monitorar o desempenho do aplicativo
O Azure Monitor coleta, analisa e atua na telemetria de seus ambientes locais e de nuvem. Uma estratégia de monitoramento eficaz ajuda a esclarecer a operação detalhada dos componentes do seu aplicativo. Essa estratégia ajuda você a aumentar seu tempo de atividade notificando sobre problemas críticos para que você possa resolvê-los antes que se tornem problemáticos. Essa estratégia também ajuda a detectar anomalias que possam estar relacionadas à segurança.
Use o Application Insights para monitorar a disponibilidade, o desempenho e o uso do aplicativo, seja ele hospedado na nuvem ou no local. Usando o Application Insights, você pode identificar e diagnosticar erros no aplicativo sem esperar que um usuário os relate. Com as informações coletadas, será possível fazer as escolhas informadas sobre a manutenção e as melhorias do seu aplicativo.
O Application Insights tem ferramentas abrangentes para interagir com os dados que coleta. O Application Insights armazena seus dados em um repositório comum. Ele pode aproveitar recursos compartilhados, como alertas, painéis e análise detalhada com a linguagem de consulta Kusto.
Executar teste de penetração de segurança
A validação de defesas de segurança é tão importante quanto testar qualquer outra funcionalidade. Torne o teste de penetração uma parte padrão do processo de build e implantação. Agende testes de segurança e verificações de vulnerabilidade regulares em aplicativos implantados e monitore em busca de ataques e de portas e pontos de extremidade abertos.
Próximas etapas
Este artigo foca nas vantagens de segurança de uma implantação PaaS no Azure e nas melhores práticas de segurança para aplicações em nuvem. Em seguida, aprenda as práticas recomendadas para proteger suas soluções PaaS web e móveis usando serviços específicos do Azure. Comece com Serviço de Aplicativo do Azure, Banco de Dados SQL do Azure, Azure Synapse Analytics e Armazenamento do Azure. À medida que artigos sobre práticas recomendadas para outros serviços do Azure estiverem disponíveis, esta lista fornecerá links:
- Serviço de Aplicativo do Azure
- Banco de Dados SQL do Azure e Análise do Azure Synapse
- 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 as melhores práticas 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 mais informações gerais sobre a segurança do Azure e os serviços da Microsoft relacionados:
- Documentação de segurança do Azure - Orientação de segurança abrangente.
- Microsoft Security Response Center - Reporte vulnerabilidades de segurança da Microsoft, incluindo problemas com o Azure, por e-mail para secure@microsoft.com.