Projeto para proteger a disponibilidade
Evite ou minimize o tempo de inatividade e a degradação do sistema e da carga de trabalho no caso de um incidente de segurança usando controles de segurança robustos. Você deve manter a integridade dos dados durante o incidente e após a recuperação do sistema. |
---|
É necessário equilibrar as opções de arquitetura de disponibilidade com as opções de arquitetura de segurança. O sistema deve ter garantias de disponibilidade para assegurar que os usuários tenham acesso aos dados e que os dados possam ser acessados. Do ponto de vista da segurança, os usuários devem operar dentro do escopo de acesso permitido e os dados devem ser confiáveis. Os controles de segurança devem bloquear os malfeitores, mas não devem impedir que usuários legítimos acessem o sistema e os dados.
Cenário de exemplo
A Contoso Concierge executa um sistema de software de gerenciamento de hotéis usado em mais de 50 marcas de hotéis nos Estados Unidos. Ele é responsável por reservas, check-in de hóspedes e acompanhamento dos serviços de hóspedes e da equipe de manutenção. É um sistema baseado em nuvem que funciona em duas regiões nos Estados Unidos. Ele é hospedado principalmente em conjunto de dimensionamento de máquinas virtuais. Os clientes nos hotéis são baseados em navegadores.
Aumente a confiabilidade por meio de uma segurança robusta
Usar controles de segurança e padrões de projeto para evitar que ataques e falhas de código causem exaustão de recursos e bloqueiem o acesso.
A adoção dessa abordagem ajuda a garantir que o sistema não experimente tempo de inatividade causado por ações mal-intencionadas, como ataques de negação de serviço distribuído (DDoS).
Desafio da Contoso
- A equipe de carga de trabalho e os stakeholders da carga de trabalho consideram a confiabilidade desse sistema de extrema importância, pois muitos hóspedes do hotel dependem dele para viagens de negócios e lazer. O sistema deve estar funcionando para que os hotéis possam executar seus negócios.
- A equipe investiu recursos consideráveis em testes de requisitos funcionais e não funcionais para garantir que a confiabilidade permaneça alta, incluindo o uso de práticas de implantação seguras para liberar atualizações de aplicativos de forma confiável.
- Embora tenham se concentrado muito na confiabilidade, a equipe tem estado menos atenta à segurança. Recentemente, foi lançada uma atualização que continha uma falha de código que foi explorada por um invasor para derrubar todo o sistema de muitos hotéis. O ataque sobrecarregou os servidores de aplicativos em uma região por mais de quatro horas em uma noite, causando problemas para os clientes e hóspedes do hotel.
- O invasor usou os servidores de aplicativos da Contoso para fazer solicitações de proxy a uma conta de armazenamento regional para receber informações de extrato pré-geradas. Um fólio malicioso excessivamente grande foi gerado, o que fez com que os servidores de aplicativos esgotassem os recursos no servidor de aplicativos enquanto ele estava sendo carregado na memória, e as novas tentativas do cliente espalharam o problema por todos os servidores de aplicativos.
Aplicando a abordagem e os resultados
- A equipe analisou um padrão de projeto para remover os servidores de aplicativos do fluxo de solicitação de fólio, optando por uma abordagem Chave Limitada. Embora isso não tivesse evitado o problema, teria isolado o impacto.
- Eles também adicionaram mais validação de entrada no sistema para higienizar a entrada, o que ajudará a evitar tentativas mal-intencionadas como essa no futuro.
- Agora, com a higienização das entradas e um projeto reforçado, um tipo de risco foi mitigado.
Limitar proativamente os vetores de ataque
Implementar medidas preventivas para vetores de ataque que exploram vulnerabilidades em códigos de aplicativos, protocolos de rede, sistemas de identidade, proteção contra malware e outras áreas.
Implemente examinadores de código, aplique os patches de segurança mais recentes, atualize o software e proteja seu sistema com um antimalware eficaz de forma contínua. Isso ajuda a reduzir a superfície de ataque para garantir a continuidade dos negócios.
Desafio da Contoso
- As VMs usadas para hospedar o sistema são imagens do Azure Marketplace com o sistema operacional Ubuntu mais recente. Os processos de inicialização de uma VM definem alguns certificados, ajustam algumas configurações de SSH e instalam o código do aplicativo, mas nenhuma ferramenta antimalware é empregada.
- Embora o Gateway de Aplicativo do Azure esteja a frente da solução, ele é usado apenas como um gateway de Internet; a função de firewall do aplicativo da Web (WAF) não está habilitada no momento.
- Essas duas opções de configuração deixam o ambiente de computação desprotegido contra vulnerabilidades no código ou por meio da instalação não intencional de malware.
Aplicando a abordagem e os resultados
- Após consultar a equipe de segurança da Contoso, as máquinas virtuais agora estão inscritas em uma solução antivírus gerenciada pela empresa.
- A equipe também decide habilitar e ajustar a função WAF para ajudar a proteger o código do aplicativo, eliminando solicitações de risco conhecidas, como tentativas de injeção de SQL, no nível do gateway.
- O aplicativo e a plataforma de aplicativos agora têm uma defesa adicional em profundidade para ajudar a proteger contra explorações que possam afetar a disponibilidade do sistema.
Proteger sua estratégia de recuperação
Aplicar pelo menos o mesmo nível de rigor de segurança em seus recursos e processos de recuperação que você aplica no ambiente primário, incluindo controles de segurança e frequência de backup.
Você deve ter um estado de sistema seguro preservado disponível na recuperação de desastres. Se isso acontecer, você poderá fazer failover para um sistema ou local secundário seguro e restaurar os backups que não introduzirão ameaças.
Um processo bem projetado pode evitar que um incidente de segurança atrapalhe o processo de recuperação. Dados de backup corrompidos ou dados criptografados que não podem ser decifrados podem retardar a recuperação.
Desafio da Contoso
- Embora o sistema funcione como ativo-ativo em todas as regiões, a equipe tem um plano de recuperação de desastres para ajudar a restaurar a continuidade dos negócios nos piores cenários.
- Parte desse plano inclui o envio de backups para uma terceira região nos EUA.
- Infelizmente, os backups foram parar em um sistema que não era monitorado com frequência e tinha controles de segurança relativamente frouxos. Durante uma simulação, eles perceberam que todos os backups haviam sido infectados com malware. Se houvesse um desastre real naquele momento, eles não teriam conseguido se recuperar com êxito.
Aplicando a abordagem e os resultados
- A equipe investiu tempo e esforço para proteger o local do backup, acrescentando controles adicionais de rede e identidade para proteger os dados. Os backups agora também são armazenados em um armazenamento imutável para evitar adulterações.
- Após revisar seus controles de segurança, a equipe descobre que, durante o processo de recuperação, o aplicativo é executado sem um WAF por um determinado período. Eles alteram a ordem das operações para fechar essa lacuna.
- Agora a equipe está confiante de que os backups e o processo de recuperação do sistema não são mais um vetor de ataque fácil de explorar.