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 recomendações de práticas recomendadas de segurança de PaaS gerais
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.
Há vantagens de segurança em estar na nuvem. Em um ambiente local, as organizações provavelmente têm responsabilidades não atendidas e recursos limitados disponíveis para investir em segurança, o que cria um ambiente em que os invasores 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
Vamos analisar as vantagens de segurança de uma implantação de PaaS do Azure em relação a uma implantação local.
Iniciando na parte inferior da pilha, a infraestrutura física, a Microsoft reduz responsabilidades e riscos comuns. Como o Microsoft Cloud é monitorado continuamente pela Microsoft é difícil de atacar. Não faz sentido para um invasor ter a nuvem da Microsoft como alvo. A menos que o invasor tenha muito dinheiro e recursos, é provável que ele mude para outro alvo.
No meio da pilha, não há nenhuma diferença entre uma implantação de PaaS e local. Na camada de aplicativo e na camada de gerenciamento de acesso e de conta, você tem os riscos semelhantes. Na próxima seção de etapas deste artigo, orientamos você a práticas recomendadas para eliminar ou minimizar esses riscos.
Na parte superior da pilha, governança de dados e gerenciamento de direitos, você assume um risco que pode ser reduzido pelo gerenciamento 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 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
Com as implantações de PaaS vem uma mudança em sua abordagem geral de 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 perímetro de segurança local primário foi sua rede e a maioria dos projetos de segurança local usam a rede como seu pivô de segurança primário. Para implantações de PaaS, você é melhor atendido considerando a identidade como o perímetro de segurança primário.
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, 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 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. Foi entendido que a finalidade do elemento era ser exposta à Internet (função Web) e que a autenticação fornece o novo perímetro (por exemplo, SQL do Azure).
As práticas de segurança modernas pressupõem que o adversário violou o perímetro da rede. Portanto, as práticas de defesa modernas passaram para a 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
A seguir estão as práticas recomendadas para gerenciar o perímetro de identidade.
Prática recomendada: primeiro você deve considerar o uso de identidades gerenciadas para recursos do Azure para acessar com segurança outros serviços sem armazenar credenciais. Detalhe: as identidades gerenciadas fornecem automaticamente uma identidade para aplicativos em execução nos serviços do Azure, permitindo que eles se autentiquem em serviços que dão suporte à ID do Microsoft Entra sem a necessidade de credenciais em arquivos de código ou configuração. Isso reduz o risco de exposição de credenciais e simplifica o gerenciamento de identidades para seus aplicativos.
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 em que as chaves e os segredos podem ser armazenados em HSMs (módulos de segurança de hardware). 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 de código público.
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 desenvolvedores não é especialista em segurança e provavelmente não está ciente 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 verifique se os métodos MFA resistente ao phishing, como Passkeys, FIDO2 ou CBA (Autenticação Baseada em Certificado), são impostos 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 entrar no aplicativo, use OpenID Connect (OIDC) com OAuth 2.0 por meio do Microsoft Entra ID. Esses protocolos foram extensivamente revisados em pares e provavelmente são implementados como parte das bibliotecas da 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 ajudar a facilitar esse processo, a Microsoft criou a Ferramenta de Modelagem contra 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 funcionarão 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 Privileged Identity Management. |
Serviço de Aplicativo 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 no local. 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.
A seguir estão as práticas recomendadas para usar o Serviço de Aplicativo.
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. Além disso, 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. Desabilitar o acesso ftp sempre que possível; se a transferência de arquivo 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 a transferência de arquivo for necessária, habilite apenas o FTPS, que criptografa credenciais e 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. Os ataques de injeção de SQL e os ataques de scripts entre sites são comuns entre essas explorações. A prevenção desses ataques no código do aplicativo pode ser desafiadora e pode exigir manutenção rigorosa, aplicação de patch e monitoramento em muitas camadas da topologia do aplicativo. Um firewall de aplicativo Web centralizado ajuda a simplificar bastante o gerenciamento de segurança e oferece mais garantia ao administrador do aplicativo contra ameaças ou invasõ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 Proteção de IP DDoS 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. Ela também ajuda a aumentar o tempo de atividade notificando sobre questões críticas para que você possa resolvê-las antes que se tornem problemas. Além disso, ela 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
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 de 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. Conforme os artigos sobre práticas recomendadas para outros serviços do Azure forem disponibilizados, os links serão fornecidos na lista a seguir:
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 – para obter diretrizes de segurança abrangentes
- Centro de Resposta de Segurança da Microsoft – em que vulnerabilidades de segurança da Microsoft, incluindo problemas com o Azure, podem ser relatadas ou por email para secure@microsoft.com