Proteger implementações PaaS

Este artigo fornece informações que o ajudam:

  • Compreenda as vantagens de segurança de hospedar aplicações na nuvem
  • Avaliar as vantagens de segurança da plataforma como um serviço (PaaS) versus outros modelos de serviços em nuvem
  • Mude o seu foco de segurança de uma abordagem de segurança centrada na rede para uma abordagem de segurança centrada na identidade
  • Implementar recomendações gerais de segurança PaaS

O desenvolvimento de aplicações seguras no Azure é um guia geral para as questões e controlos de segurança que deve considerar em cada fase do ciclo de vida de desenvolvimento do software ao desenvolver aplicações para a nuvem.

Vantagens de segurança na nuvem

É importante compreender a divisão de responsabilidade entre si e a Microsoft. No local, és dono de toda a pilha, mas à medida que avanças para a nuvem, algumas responsabilidades transferem-se para a Microsoft.

vantagens de segurança em estar na nuvem. Num ambiente no local, as organizações provavelmente têm responsabilidades insatisfeitas e recursos limitados disponíveis para investir em segurança, o que cria um ambiente onde os atacantes são capazes de explorar vulnerabilidades em todas as camadas.

As organizações são capazes de melhorar os seus tempos de deteção e resposta de ameaças usando as capacidades de segurança baseadas na nuvem de um fornecedor e a inteligência na nuvem. Ao transferir responsabilidades para o fornecedor 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 do negócio.

Vantagens de segurança de um serviço de nuvem PaaS modelo

Vamos ver as vantagens de segurança de um destacamento Azure PaaS contra as instalações.

Vantagens de segurança do PaaS

A partir da parte inferior da pilha, a infraestrutura física, a Microsoft atenua os riscos e responsabilidades comuns. Como a nuvem da Microsoft é continuamente monitorizada pela Microsoft, é difícil de atacar. Não faz sentido um intruso perseguir a nuvem da Microsoft como alvo. A menos que o agressor tenha muito dinheiro e recursos, é provável que o agressor passe para outro alvo.

No meio da pilha, não há diferença entre uma implantação paaS e no local. Na camada de aplicação e na camada de gestão de conta e acesso, você tem riscos semelhantes. Na secção de próximos passos deste artigo, vamos guiá-lo para as melhores práticas para eliminar ou minimizar estes riscos.

No topo da pilha, governação de dados e gestão de direitos, assume-se um risco que pode ser atenuado pela gestão chave. (A gestão das chaves está abrangida por boas práticas.) Embora a gestão chave seja uma responsabilidade adicional, você tem áreas numa implementação paaS que você já não tem que gerir para que você possa transferir recursos para a gestão chave.

A plataforma Azure também fornece uma forte proteção DDoS utilizando várias tecnologias baseadas em rede. No entanto, todos os tipos de métodos de proteção DDoS baseados em rede têm os seus limites numa base por ligação e por datacenter. Para ajudar a evitar o impacto de grandes ataques DDoS, pode aproveitar a capacidade de nuvem central da Azure de permitir que você se dimensione rapidamente e automaticamente para se defender contra ataques DDoS. Vamos entrar em mais detalhes sobre como pode fazê-lo nos artigos de práticas recomendados.

Modernizar o Defender para a mentalidade de Cloud

Com as implementações do PaaS vem uma mudança na sua abordagem geral à segurança. Passas de precisar de controlar tudo para partilhar responsabilidades com a Microsoft.

Outra diferença significativa entre o PaaS e os tradicionais destacamentos no local, é uma nova visão do que define o perímetro de segurança primário. Historicamente, o principal perímetro de segurança no local era a sua rede e a maioria dos desenhos de segurança no local usam a rede como o seu principal pivô de segurança. Para os destacamentos do PaaS, é melhor servido considerando a identidade como o perímetro de segurança principal.

Adotar uma política de identidade como o perímetro de segurança primário

Uma das cinco características essenciais da computação em nuvem é o acesso amplo à rede, o que torna o pensamento centrado na rede menos relevante. O objetivo de grande parte da computação em nuvem é permitir que os utilizadores acedam a recursos independentemente da localização. Para a maioria dos utilizadores, a sua localização vai estar algures na Internet.

O número seguinte mostra como o perímetro de segurança evoluiu de um perímetro de rede para um perímetro de identidade. A segurança torna-se menos sobre a defesa da sua rede e mais sobre a defesa dos seus dados, bem como a gestão da segurança das suas apps e utilizadores. A principal diferença é que quer aproximar a segurança do que é importante para a sua empresa.

Identidade como novo perímetro de segurança

Inicialmente, os serviços Azure PaaS (por exemplo, funções web e SQL do Azure) forneceram pouca ou nenhuma defesa tradicional do 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, BLOB ou SQL do Azure).

As práticas de segurança modernas assumem que o adversário invadiu o perímetro da rede. Portanto, as práticas modernas de defesa mudaram para a identidade. As organizações devem estabelecer um perímetro de segurança baseado na identidade com forte autenticação e higiene de autorização (boas práticas).

Há décadas que os princípios e padrões do perímetro da rede estão disponíveis. Em contrapartida, a indústria tem relativamente menos experiência com a utilização da identidade como perímetro de segurança primário. Com isto dito, acumulámos experiência suficiente para fornecer algumas recomendações gerais que são comprovadas no terreno e que se aplicam a quase todos os serviços paaS.

Seguem-se as melhores práticas para a gestão do perímetro de identidade.

Boas práticas: Fixe as suas chaves e credenciais para garantir a sua implantação paaS.
Detalhe: Perder chaves e credenciais é um problema comum. Pode utilizar uma solução centralizada onde as chaves e segredos podem ser armazenados em módulos de segurança de hardware (HSMs). O Azure Key Vault protege as suas chaves e segredos encriptando chaves de autenticação, chaves de conta de armazenamento, chaves de encriptação de dados, ficheiros .pfx e palavras-passe usando chaves protegidas por HSMs.

Boas práticas: Não coloque credenciais e outros segredos no código fonte ou no GitHub.
Detalhe: A única coisa pior do que perder as chaves e credenciais é ter uma parte não autorizada a ter acesso a elas. Os atacantes podem aproveitar as tecnologias bot para encontrar chaves e segredos armazenados em repositórios de código, como o GitHub. Não coloque chaves e segredos nestes repositórios de código público.

Boas práticas: Proteja as suas interfaces de gestão VM nos serviços híbridos PaaS e IaaS utilizando uma interface de gestão que lhe permite gerir remotamente estes VMs diretamente.
Detalhe: Podem ser utilizados protocolos de gestão remota como SSH, RDP e PowerShell . Em geral, recomendamos que não permita o acesso remoto direto aos VMs a partir da internet.

Se possível, utilize abordagens alternativas como a utilização de redes privadas virtuais numa rede virtual Azure. Se não estiverem disponíveis abordagens alternativas, certifique-se de que utiliza frases-passe complexas e autenticação de dois fatores (como Azure AD Autenticação Multi-Factor).

Boas práticas: Utilize plataformas de autenticação e autorização fortes.
Detalhe: Utilize identidades federadas em Azure AD em vez de lojas de utilizadores personalizadas. Quando utiliza identidades federadas, aproveita-se de uma abordagem baseada na plataforma e delega a gestão de identidades autorizadas aos seus parceiros. Uma abordagem de identidade federada é especialmente importante quando os funcionários são despedidos e que a informação precisa de ser refletida através de múltiplos sistemas de identidade e autorização.

Utilize 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 subtilezas e dos mais recentes desenvolvimentos na autenticação e autorização. O código comercial (por exemplo, da Microsoft) é frequentemente amplamente revisto em segurança.

Utilize a autenticação de dois fatores. A autenticação de dois fatores é a norma atual para a autenticação e autorização, pois evita as deficiências de segurança inerentes ao nome de utilizador e tipos de senha de autenticação. O acesso às interfaces de gestão Azure (portal/remote PowerShell) e aos serviços virados para o cliente deve ser concebido e configurado para utilizar Azure AD Autenticação Multi-Factor.

Utilize protocolos de autenticação padrão, tais como OAuth2 e Kerberos. Estes protocolos foram amplamente revistos pelos pares e são provavelmente implementados como parte das bibliotecas da sua plataforma para autenticação e autorização.

Use modelação de ameaças durante o design da aplicação

O Ciclo de Vida para o Desenvolvimento da Segurança da Microsoft especifica que as equipas devem participar num processo chamado modelação de ameaças durante a fase de conceção. Para facilitar este processo, a Microsoft criou o SDL Threat Modeling Tool. Modelar o design da aplicação e enumerar ameaças de STRIDE em todos os limites de confiança pode apanhar erros de design desde cedo.

A tabela que se segue lista as ameaças stride e dá alguns exemplos de mitigação que usam funcionalidades Azure. Estas atenuações não vão funcionar em todas as situações.

Ameaça Propriedade de segurança Potenciais mitigações da plataforma Azure
Spoofing Autenticação Requer ligações HTTPS.
Adulteração Integridade Validar certificados TLS/SSL.
Rejeição Não rejeição Ativar a monitorização e diagnósticos do Azure.
Divulgação de informações Confidencialidade Criptografe dados sensíveis em repouso utilizando certificados de serviço.
Denial-of-service Disponibilidade Monitorize as métricas de desempenho para potenciais condições de negação de serviço. Implementar filtros de ligação.
Elevação de privilégios Autorização Usa Privileged Identity Management.

Desenvolva-se em Serviço de Aplicações do Azure

Serviço de Aplicações do Azure é uma oferta paaS que permite criar aplicações web e móveis para qualquer plataforma ou dispositivo e conectar-se a dados em qualquer lugar, na nuvem ou no local. Serviço de Aplicações inclui as capacidades web e móveis que foram previamente entregues separadamente como Azure Websites e Azure Mobile Services. Também inclui novas capacidades para automatizar processos de negócio e o alojar APIs da nuvem. Como um único serviço integrado, Serviço de Aplicações traz um rico conjunto de capacidades para cenários web, móveis e de integração.

Seguem-se as melhores práticas para a utilização de Serviço de Aplicações.

Melhores práticas: Autenticar através do Azure Ative Directory.
Detalhe: Serviço de Aplicações fornece um serviço OAuth 2.0 para o seu fornecedor de identidade. O OAuth 2.0 foca-se na simplicidade do desenvolvedor de clientes, ao mesmo tempo que fornece fluxos de autorização específicos para aplicações web, aplicações de desktop e telemóveis. Azure AD usa o OAuth 2.0 para permitir o acesso a aplicações móveis e web.

Boas práticas: Restringir o acesso com base na necessidade de conhecer e menos privilégios princípios de segurança.
Detalhe: Restringir o acesso é imperativo para as organizações que querem impor políticas de segurança para o acesso aos dados. Pode utilizar o Azure RBAC para atribuir permissões a utilizadores, grupos e aplicações num determinado âmbito. Para saber mais sobre a concessão de acesso aos utilizadores às aplicações, consulte Começar com a gestão de acessos.

Melhor prática: Proteja as suas chaves.
Detalhe: A azure Key Vault ajuda a salvaguardar chaves criptográficas e segredos que aplicações e serviços em nuvem usam. Com Key Vault, pode encriptar chaves e segredos (tais como chaves de autenticação, chaves de conta de armazenamento, chaves de encriptação de dados, . Ficheiros PFX e palavras-passe) utilizando chaves protegidas por módulos de segurança de hardware (HSMs). Para maior segurança, pode importar ou gerar chaves nos HSMs. Veja Key Vault Azure para saber mais. Também pode utilizar Key Vault para gerir os seus certificados TLS com renovação automática.

Boas práticas: Restringir os endereços IP de origem de entrada.
Detalhe: Ambiente do Serviço de Aplicações tem uma funcionalidade de integração de rede virtual que o ajuda a restringir os endereços IP de origem recebida através de grupos de segurança de rede. As redes virtuais permitem-lhe colocar recursos Azure numa rede não internet, que controla o acesso. Para saber mais, consulte Integrar a sua aplicação com uma rede virtual Azure.

Melhores práticas: Monitorize o estado de segurança dos seus ambientes Serviço de Aplicações.
Detalhe: Utilize o Microsoft Defender para cloud para monitorizar os seus ambientes Serviço de Aplicações. Quando o Defender for Cloud identifica potenciais vulnerabilidades de segurança, cria recomendações que o guiem através do processo de configuração dos controlos necessários.

Cloud Services do Azure

Azure Serviços Cloud é um exemplo de um PaaS. Tal como Serviço de Aplicações do Azure, esta tecnologia é projetada para apoiar aplicações que sejam escaláveis, fiáveis e baratas para operar. Da mesma forma que Serviço de Aplicações está hospedado em máquinas virtuais (VMs), assim como o Azure Serviços Cloud. No entanto, tens mais controlo sobre os VMs. Pode instalar o seu próprio software em VMs que utilizam Serviços Cloud Azure e pode aceder-lhes remotamente.

Instale uma firewall de aplicação web

Cada vez mais, as aplicações Web são alvo de ataques maliciosos que exploram vulnerabilidades conhecidas comuns. Destas vulnerabilidades, são frequentes os ataques de injeção de SQL, scripting entre sites, entre muitas outras. Impedir este tipo de ataques ao código das aplicações constitui um desafio e exige uma manutenção, correção e monitorização rigorosas em muitas camadas da topologia da aplicação. 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 mais rapidamente a uma ameaça de segurança ao corrigir uma vulnerabilidade conhecida numa localização central, em vez de proteger cada uma das aplicações Web individualmente. Os gateways de aplicações existentes podem ser facilmente convertidos num gateway de aplicação com firewall de aplicações Web ativada.

A firewall de aplicações web (WAF) é uma característica de Gateway de Aplicação que fornece proteção centralizada das suas aplicações web contra explorações e vulnerabilidades comuns. A WAF baseia-se nas regras do Open Web Application Security Project (OWASP) que define 3.0 ou 2.2.9.

Monitorize o desempenho das suas aplicações

A monitorização é o ato de recolher e analisar dados para determinar o desempenho, saúde e disponibilidade da sua aplicação. Uma estratégia de monitorização efetiva ajuda-o a compreender o funcionamento em detalhe dos componentes da sua aplicação. Ajuda-o a aumentar o seu tempo de funcionamento notificando-o de problemas críticos para que possa resolvê-los antes que se tornem problemas. Também ajuda a detetar anomalias que podem estar relacionadas com a segurança.

Utilize Aplicação Azure Insights para monitorizar a disponibilidade, desempenho e utilização da sua aplicação, quer esteja hospedado na nuvem ou no local. Ao utilizar o Application Insights, pode identificar e diagnosticar rapidamente erros na sua aplicação sem esperar que um utilizador os reporte. 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. Pode tirar partido da funcionalidade partilhada, como alertas, dashboards 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 como testar qualquer outra funcionalidade. Faça do teste de penetração uma parte padrão do seu processo de construção e implantação. Agende testes de segurança regulares e verificação de vulnerabilidades em aplicações implementadas, e monitorize para portas abertas, pontos finais e ataques.

O teste de fuzz é um método para encontrar falhas de programa (erros de código) fornecendo dados de entrada mal formados para interfaces de programa (pontos de entrada) que analisam e consomem estes dados. A Deteção de Riscos de Segurança da Microsoft é uma ferramenta baseada na nuvem que pode usar para procurar bugs e outras vulnerabilidades de segurança no seu software antes de a implementar para o Azure. A ferramenta foi concebida para capturar vulnerabilidades antes de implementar software para que não tenha de corrigir um bug, lidar com falhas ou responder a um ataque após o lançamento do software.

Passos seguintes

Neste artigo, foquemo-nos nas vantagens de segurança de um Azure PaaS e nas melhores práticas de segurança para aplicações em nuvem. Em seguida, aprenda práticas recomendadas para garantir as suas soluções web e móveis PaaS utilizando serviços Azure específicos. Começaremos com Serviço de Aplicações do Azure, SQL do Azure Database e Azure Synapse Analytics, Azure Storage e Azure Serviços Cloud. À medida que os artigos sobre práticas recomendadas para outros serviços Azure ficarem disponíveis, os links serão fornecidos na seguinte lista:

Consulte o Desenvolvimento de aplicações seguras no Azure para questões de segurança e controlos que deve considerar em cada fase do ciclo de vida de desenvolvimento de software ao desenvolver aplicações para a nuvem.

Consulte as melhores práticas e padrões de segurança da Azure para obter mais boas práticas de segurança quando estiver a desenhar, implementar e gerir as suas soluções em nuvem utilizando o Azure.

Estão disponíveis os seguintes recursos para fornecer informações mais gerais sobre a segurança da Azure e serviços relacionados com a Microsoft: