Recomendações para proteger recursos

Aplica-se a esta recomendação de lista de verificação do Azure Well-Architected Framework Security:

SE:08 Proteja todos os componentes da carga de trabalho ao reduzir a área de superfície estranha e ao apertar as configurações para aumentar o custo do atacante.

Este guia descreve as recomendações de proteção de recursos ao desenvolver controlos localizados numa carga de trabalho e mantê-los para suportar ataques repetidos.

A proteção da segurança é um exercício intencional de auto-preservação. O objetivo é reduzir uma superfície de ataque e aumentar os custos dos atacantes noutras áreas, o que limita as oportunidades para os atores maliciosos explorarem vulnerabilidades. Para proteger a carga de trabalho, implemente as melhores práticas e configurações de segurança.

A proteção de segurança é um processo contínuo que requer monitorização e adaptação contínuas a ameaças e vulnerabilidades em evolução.

Definições

Termo Definição
Proteção A prática de reduzir uma área de superfície de ataque, removendo recursos desnecessários ou ajustando configurações.
Estação de trabalho de acesso privilegiado (PAW) Uma máquina dedicada e segura que utiliza para realizar tarefas confidenciais, o que reduz o risco de compromisso.
Estação de trabalho administrativa segura (SAW) Uma PAW especializada que é utilizada por contas de impacto crítico.
Área do Surface Uma pegada lógica de uma carga de trabalho que contém vulnerabilidades.

Principais estratégias de design

A proteção de segurança é um exercício altamente localizado que reforça os controlos ao nível do componente, sejam recursos ou processos. Quando reforça a segurança de cada componente, melhora a garantia de segurança agregada da carga de trabalho.

A proteção de segurança não considera a funcionalidade da carga de trabalho e não deteta ameaças nem efetua a análise automatizada. A proteção de segurança centra-se na otimização da configuração com uma mentalidade assumida-violação e defesa em profundidade. O objetivo é dificultar o controlo de um sistema por parte de um atacante. A proteção não deve alterar a utilidade pretendida de uma carga de trabalho ou das respetivas operações.

O primeiro passo do processo de proteção é recolher um inventário abrangente de todos os recursos de hardware, software e dados. Mantenha os registos de inventário atualizados ao adicionar novos recursos e remover recursos desativados. Para todos os recursos no seu inventário, considere as seguintes melhores práticas:

  • Reduza a pegada. Remova a área de superfície estranha ou reduza o âmbito. Elimine alvos fáceis ou vetores de ataque baratos e bem estabelecidos, como explorações de software não recortados e ataques de força bruta. Antes da implementação de produção, deve limpar identidades, criar componentes e outros recursos não obrigatórios da árvore de origem.

  • Ajuste as configurações. Avalie e aperte a área restante da superfície. Quando os recursos são protegidos, os métodos experimentados e testados que os atacantes utilizam já não são bem-sucedidos. Força os atacantes a adquirir e utilizar métodos de ataque avançados ou não testados, o que aumenta os seus custos.

  • Manter defesas. Mantenha as medidas de proteção através da deteção contínua de ameaças para ajudar a garantir que os esforços de proteção são fiáveis ao longo do tempo.

Considere também os seguintes fatores.

Origem fidedigna. Parte do exercício de proteção envolve a cadeia de fornecimento de software. Esta documentação de orientação pressupõe que todos os componentes são obtidos a partir de origens fidedignas. A sua organização tem de aprovar software obtido por fornecedores de terceiros. Esta aprovação aplica-se a origens do sistema operativo, imagens e outras ferramentas de terceiros. Sem recursos fidedignos, a proteção pode ser uma fuga infinita de garantias de segurança em fontes não fidedignas.

Para obter recomendações sobre segurança para a cadeia de fornecimento, veja Recomendações para proteger um ciclo de vida de desenvolvimento.

Formação. Proteger é uma habilidade especializada. É metódico e requer um elevado nível de competência. Tem de compreender a funcionalidade de um componente e como as alterações afetam o componente. Um membro da equipa tem de ser capaz de discernir as orientações que são de especialistas do setor e da plataforma para distingui-la da orientação de fontes incertas. Eduque os membros da sua equipa na criação de uma cultura com suporte para segurança. Certifique-se de que a sua equipa é proficiente nas melhores práticas de segurança, tem conhecimento de potenciais ameaças e aprende com retrospetivas pós-incidente.

Documentação. Documente e publique requisitos de proteção, decisões e métodos definidos. Para transparência, também documente exceções ou desvios desses requisitos.

A proteção pode ser complicada, mas é um exercício de segurança crucial que tem de documentar. Proteja primeiro os componentes principais e, em seguida, expanda para outras áreas, como processos automatizados e processos humanos, para aumentar as potenciais lacunas. Seja meticuloso com as mudanças. Por exemplo, um passo necessário é desativar as predefinições porque as alterações aos valores predefinidos não podem afetar a estabilidade do sistema. Mesmo que a configuração de substituição seja a mesma que a predefinição, tem de ser definida. As secções seguintes descrevem destinos comuns para proteção. Avalie as principais áreas de conceção da carga de trabalho e siga as principais estratégias para proteger ao nível de um componente.

Rede

Divida a rede em segmentos para isolar recursos críticos e dados confidenciais de recursos menos seguros, o que reduz os movimentos laterais por atacantes. Nesses segmentos, aplique uma abordagem negar por predefinição . Adicione apenas acesso à lista de permissões se for justificado.

Desative portas e protocolos que não sejam utilizados ativamente. Por exemplo, no Serviço de Aplicações do Azure, se não precisar de implementar através de FTP, pode desativá-lo. Em alternativa, se realizar operações de gestão através de uma rede interna, pode desativar o acesso administrativo a partir da Internet.

Remover ou desativar protocolos legados. Os atacantes exploram sistemas que utilizam versões antigas. Utilize um serviço de deteção do Azure para rever os registos e determinar a utilização do protocolo. Pode ser difícil remover protocolos porque pode interromper a funcionalidade do sistema. Teste todas as alterações antes da implementação para mitigar o risco de interrupção operacional.

Trate os endereços IP públicos (PIP) como recursos de alto risco porque são fáceis de aceder e têm um alcance global amplo. Para reduzir a exposição, remova o acesso desnecessário à Internet à carga de trabalho. Utilize endereços IP públicos partilhados que os serviços Microsoft, como o Azure Front Door, fornecem. Estes serviços foram concebidos para serem destinados à Internet e bloqueiam o acesso a protocolos não permitidos. Muitos desses serviços efetuam verificações iniciais em pedidos recebidos no limite da rede. Com um PIP dedicado, é responsável por gerir os respetivos aspetos de segurança, permitir ou bloquear portas e analisar pedidos recebidos para garantir a sua validade.

Para aplicações com acesso à Internet, restrinja o acesso ao adicionar um serviço de camada 7 que pode filtrar tráfego inválido. Explore os serviços nativos que impõem a proteção denial-of-service (DDoS) distribuída, têm firewalls de aplicações Web e fornecem proteção no edge antes de o tráfego chegar ao escalão da aplicação.

A proteção do Sistema de Nomes de Domínio (DNS) é outra prática de segurança de rede. Para garantir que a infraestrutura DNS é segura, recomendamos que utilize resoluções DNS fidedignas. Para validar informações de resoluções DNS e fornecer uma camada adicional de segurança, sempre que possível, utilize um protocolo de segurança DNS para zonas DNS altamente confidenciais. Para evitar ataques como envenenamento por cache DNS, ataques DDoS e ataques de amplificação, explore outros controlos de segurança relacionados com DNS, tais como limitação da taxa de consulta, limitação da taxa de resposta e cookies DNS.

Identidade

Remover contas não utilizadas ou predefinidas. Desative os métodos de autenticação e autorização não utilizados.

Desative os métodos de autenticação legados porque são vetores de ataque frequente. Os protocolos antigos muitas vezes não têm medidas de contador de ataques, como bloqueios de contas. Externalize os seus requisitos de autenticação para o seu fornecedor de identidade (IdP), como Microsoft Entra ID.

Prefere a federação em vez de criar identidades duplicadas. Se uma identidade for comprometida, é mais fácil revogar o respetivo acesso quando é gerida centralmente.

Compreender as capacidades da plataforma para autenticação e autorização melhoradas. Proteja os controlos de acesso ao tirar partido da autenticação multifator, da autenticação sem palavra-passe, do Acesso Condicional e de outras funcionalidades que Microsoft Entra ID oferece para verificar a identidade. Pode adicionar proteção adicional em torno de eventos de início de sessão e reduzir o âmbito no qual um atacante pode fazer um pedido.

Utilize identidades geridas e identidades de carga de trabalho sem credenciais sempre que possível. As credenciais podem ser divulgadas. Para obter mais informações, veja Recomendações para proteger segredos da aplicação.

Utilize a abordagem com menos privilégios para os seus processos de gestão. Remova atribuições de funções desnecessárias e efetue revisões de acesso regulares Microsoft Entra. Utilize descrições de atribuição de funções para manter um registo em papel de justificações, o que é crucial para as auditorias.

Recursos da cloud

As recomendações de proteção anteriores para rede e identidade aplicam-se a serviços cloud individuais. Para redes, preste especial atenção às firewalls ao nível do serviço e avalie as respetivas regras de entrada.

Descubra e desative funcionalidades ou capacidades não utilizadas , como o acesso ao plano de dados não utilizado e as funcionalidades do produto, que outros componentes podem abranger. Por exemplo, Serviço de Aplicações suporta o Kudu, que fornece implementações de FTP, depuração remota e outras funcionalidades. Se não precisar dessas funcionalidades, desative-as.

Acompanhe sempre o mapa de objetivos do Azure e o plano da carga de trabalho. Aplique atualizações de aplicação de patches e controlo de versões que os serviços do Azure oferecem. Permitir atualizações fornecidas pela plataforma e subscrever canais de atualização automatizados.

Risco: os recursos da cloud têm frequentemente requisitos de concessões ou têm de ser executados em configurações documentadas para serem considerados suportados. Algumas técnicas de proteção, como bloquear agressivamente o tráfego de saída, podem fazer com que um serviço caia fora de uma configuração suportada, mesmo que o serviço funcione normalmente. Compreenda os requisitos de runtime de cada recurso da cloud a partir da sua plataforma para garantir que mantém o suporte para esse recurso.

Aplicações

Avalie as áreas em que a sua aplicação pode inadvertidamente divulgar informações. Por exemplo, suponha que tem uma API que obtém informações de utilizador. Um pedido pode ter um ID de utilizador válido e a sua aplicação devolve um erro 403. Mas com um ID de cliente inválido, o pedido devolve um erro 404. Em seguida, está efetivamente a divulgar informações sobre os seus IDs de utilizador.

Pode haver casos mais subtis. Por exemplo, a latência de resposta com um ID de utilizador válido é superior a um ID de cliente inválido.

Considere implementar a proteção de aplicações nas seguintes áreas:

  • Validação e limpeza de entrada: evite ataques de injeção, como injeção de SQL e scripting entre sites (XSS), validando e limpando todas as entradas de utilizador. Automatize a limpeza de entrada com as arquiteturas e bibliotecas de validação de entrada.

  • Gestão de sessões: proteja os identificadores de sessão e os tokens contra ataques de fixação de sessão ou roubo através de técnicas de gestão de sessões seguras. Implemente tempos limite de sessão e imponha a reautenticação para ações confidenciais.

  • Gestão de erros: implemente o processamento de erros personalizado para minimizar a exposição de informações confidenciais aos atacantes. Registe erros de forma segura e monitorize estes registos para atividades suspeitas.

  • Cabeçalhos de segurança HTTP: mitige vulnerabilidades Web comuns ao utilizar cabeçalhos de segurança em respostas HTTP, como a Política de Segurança de Conteúdo (CSP), X-Content-Type-Options e X-Frame-Options.

  • Segurança da API: proteja as APIs com mecanismos de autenticação e autorização adequados. Para melhorar ainda mais a segurança, implemente a limitação de taxa, a validação de pedidos e os controlos de acesso para pontos finais de API.

Siga as práticas de codificação seguras quando desenvolver e manter aplicações. Realize regularmente revisões de código e analise as aplicações quanto a vulnerabilidades. Para obter mais informações, veja Recomendações para proteger um ciclo de vida de desenvolvimento.

Operações de gestão

Também endureça outros recursos sem tempo de execução. Por exemplo, reduza o requisito de espaço das operações de compilação ao fazer um inventário de todos os recursos e ao remover recursos não utilizados do pipeline. Em seguida, solicite tarefas publicadas por origens fidedignas e execute apenas tarefas validadas.

Determine se precisa de agentes de compilação alojados pela Microsoft ou autoalojados. Os agentes de compilação autoalojados precisam de gestão adicional e têm de ser protegidos.

Do ponto de vista da observabilidade, implemente um processo de revisão de registos para potenciais falhas de segurança. Reveja e atualize regularmente as regras de controlo de acesso com base nos registos de acesso. Trabalhe com equipas centrais para analisar a gestão de eventos de informações de segurança (SIEM) e os registos de resposta automatizada de orquestração de segurança (SOAR) para detetar anomalias.

Considere exigir PAWs ou SAWs para operações de gestão privilegiada. As PAWs e as SAWs são dispositivos físicos endurecidos que oferecem vantagens de segurança significativas, mas a sua implementação requer um planeamento e gestão cuidadosos. Para obter mais informações, veja Proteger dispositivos como parte do bloco de acesso privilegiado.

Facilitação do Azure

O Microsoft Defender para a Cloud oferece várias capacidades de proteção:

O Centro de Segurança da Internet (CIS) oferece imagens endurecidas no Azure Marketplace.

Pode utilizar o Construtor de Imagens da VM do Azure para criar um processo repetível para imagens de SO endurecidas. O Common Base Linux-Mariner é uma distribuição do Linux endurecida desenvolvida pela Microsoft que segue as normas de segurança e as certificações da indústria. Pode utilizá-lo com produtos de infraestrutura do Azure para criar implementações de cargas de trabalho.

Exemplo

O procedimento seguinte é um exemplo de como proteger um sistema operativo:

  1. Reduza a quantidade de espaço. Remover componentes desnecessários numa imagem. Instale apenas o que precisa.

  2. Ajustar as configurações. Desativar contas não utilizadas. A configuração predefinida dos sistemas operativos tem contas adicionais que estão ligadas a grupos de segurança. Se não utilizar essas contas, desative-as ou remova-as do sistema. As identidades adicionais são vetores de ameaças que podem ser utilizados para obter acesso ao servidor.

    Desative o acesso desnecessário ao sistema de ficheiros. Encripte o sistema de ficheiros e ajuste os controlos de acesso para identidade e rede.

    Execute apenas o que for necessário. Bloquear aplicações e serviços executados por predefinição. Aprovar apenas aplicações e serviços necessários para a funcionalidade de carga de trabalho.

  3. Manter defesas. Atualize regularmente os componentes do sistema operativo com as atualizações de segurança e patches mais recentes para mitigar vulnerabilidades conhecidas.

Referências CIS

Lista de verificação de segurança

Veja o conjunto completo de recomendações.