Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 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 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.
A cloud oferece vantagens de segurança. Num ambiente local, as organizações provavelmente têm responsabilidades não cumpridas e recursos limitados para investir em segurança. Esta situação cria um ambiente onde os atacantes 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
Analise as vantagens de segurança de uma implementação PaaS do Azure em comparação com as on-premises.
Começando pela base da pilha, a infraestrutura física, a Microsoft mitiga riscos e responsabilidades comuns. Como a Microsoft monitoriza continuamente a nuvem da Microsoft, é difícil de 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 se mude para outro alvo.
No meio da pilha, uma implantação PaaS e uma implantação local não diferem. Na camada de aplicação e na camada de gestão de contas e acessos, existem riscos semelhantes. A secção seguinte deste artigo orienta-o para as melhores práticas para eliminar ou minimizar estes riscos.
Na camada superior da pilha, a governação de dados e a gestão de direitos fazem-no incorrer num risco que a gestão de chaves pode mitigar. Embora a gestão de chaves seja uma responsabilidade extra, uma implementação PaaS inclui áreas que já não precisa de gerir. Pode reafetar recursos para a gestão 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
As implementações de PaaS mudam a sua abordagem geral à 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 on-premises era a sua rede e a maioria dos designs de segurança on-premises usa a rede como seu principal pivô de segurança. Para implementações de PaaS, considere a identidade como o principal perímetro de segurança.
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 utilizadores, a sua localização está algures na internet.
A figura seguinte mostra como o perímetro de segurança evoluiu de perímetro de rede para 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, Serviço de Aplicações do Azure e SQL do Azure) forneciam poucas ou nenhumas defesas tradicionais de perímetro de rede. O objetivo do elemento era ser exposto à internet (papel web), e a autenticação fornece o novo perímetro (por exemplo, SQL do Azure).
As práticas modernas de segurança assumem que o adversário violou o perímetro da rede. Por isso, as práticas modernas de defesa passam a centrar-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
Use as seguintes boas práticas para gerir o perímetro de identidade.
Boa prática: Primeiro, considere 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 nos serviços do Azure, o que lhes permite autenticar-se para serviços que suportam o Microsoft Entra ID sem necessidade de credenciais em código ou ficheiros de configuração. Esta identidade reduz o risco de exposição de credenciais e simplifica a gestão de identidade para as suas aplicações.
Práticas recomendadas: proteja suas chaves e credenciais para proteger sua implantação de PaaS. Detalhe: perder chaves e credenciais é um problema comum. 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 as suas chaves e segredos ao encriptar chaves de autenticação, chaves de conta de armazenamento, chaves de encriptação de dados, ficheiros .pfx e palavras-passe, utilizando 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 coloques chaves e segredos nestes repositórios públicos de código.
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 programadores não são especialistas em segurança e dificilmente estarão cientes das subtilezas e dos últimos desenvolvimentos 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 multifatorial (MFA) e assegure que os métodos MFA resistentes ao phishing – como chaves de acesso, FIDO2 ou autenticação baseada em certificados (CBA) – sejam 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 através do Microsoft Entra ID. Estes protocolos são amplamente revistos por pares e provavelmente implementados como parte das bibliotecas da sua 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 facilitar este processo, a Microsoft criou a Ferramenta de Modelação de Ameaças SDL. 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 funcionam 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 Aplicações do Azure é uma oferta PaaS que o ajuda a criar aplicações web e móveis para qualquer plataforma ou dispositivo e a ligar-se a dados em qualquer lugar, na cloud ou on-premises. 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.
Utilize as seguintes melhores práticas para o App Service.
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. Também pode utilizar ligação privada (ponto final privado) e desativar o acesso à rede pública para forçar a ligação através da 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. Desative o acesso FTP sempre que possível. Se for necessária transferência de ficheiros, 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 precisar de transferência de ficheiros, ative apenas o 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 para a Cloud para monitorar seus ambientes do Serviço de Aplicativo. Quando o Defender para a 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. Vulnerabilidades comuns incluem ataques de injeção SQL e ataques de cross-site scripting. Prevenir tais ataques no código da aplicação pode ser desafiante e pode exigir manutenção rigorosa, patches e monitorização em várias camadas da topologia da aplicação. Um firewall centralizado para 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 Firewall de Aplicações Web do Azure (WAF) fornece proteção centralizada de seus aplicativos Web contra exploits e vulnerabilidades comuns. O WAF está disponível através do Gateway de Aplicação do Azure 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 ao custo. 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. Esta estratégia ajuda-o a aumentar o seu tempo de atividade ao notificá-lo de problemas críticos para que possa resolvê-los antes que se tornem problemáticos. Esta estratégia também 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
Este artigo centra-se nas vantagens de segurança de uma implementação Azure PaaS e nas melhores práticas de segurança para aplicações cloud. De seguida, aprenda as práticas recomendadas para proteger as suas soluções web e móveis PaaS utilizando serviços específicos do Azure. Comece com Serviço de Aplicações do Azure, Base de Dados SQL do Azure, Azure Synapse Analytics e Armazenamento do Azure. À medida que artigos sobre práticas recomendadas para outros serviços Azure estiverem disponíveis, esta lista fornecerá links:
- 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 - Orientação de segurança abrangente.
- Centro de Resposta de Segurança da Microsoft - Reporte vulnerabilidades de segurança da Microsoft, incluindo problemas com o Azure, por email para secure@microsoft.com.