A AWS fornece diversos serviços que ajudam a proteger os dados, contas e cargas de trabalho contra acesso não autorizado. Na nuvem, alguns princípios precisam ser levados em consideração para fortalecer a segurança no ambiente.
São eles:
- Implementação de uma base sólida de identidade.
O princípio do privilégio mínimo precisa ser implementado para que o usuário tenha acesso apenas aos recursos que são necessários para execução das suas tarefas. O acesso aos dados só deve ser concedido às pessoas que realmente precisam dele. Comece negando acesso a tudo e conceda acesso conforme necessário. Imponha a separação de tarefas com autorização apropriada para cada interação com os recursos da AWS.
- Habilitar rastreabilidade
Monitorar, alertar e fazer auditoria de ações e alterações em seu ambiente em tempo real. Integrar logs e métricas aos sistemas para responder e executar ações automaticamente.
- Aplicar segurança em todas as camadas
Não concentre na proteção de uma única camada externa, aplique uma abordagem de defesa em profundidade com outros controles de segurança.
- Automatizar as melhores práticas de segurança
Mecanismos automatizados de segurança baseados em software melhoram sua capacidade de ajustar a escala com segurança de modo mais rápido e econômico. Implemente controles que são definidos e gerenciados como código em versões controladas por modelos.
- Proteger dados em trânsito e em repouso
Classifique os dados em níveis de sensibilidade e, quando apropriado, use mecanismos como criptografia e controle de acesso.
- Preparar-se para eventos de segurança.
Prepare-se para um incidente mantendo um processo de gerenciamento de incidentes alinhado aos requisitos da sua organização. Execute simulações de resposta a incidentes e use ferramentas com automação para aumentar a velocidade de detecção, investigação e recuperação.
Para obter uma eficiência maior ao projetar um ambiente na AWS é muito importante conhecer o modelo de responsabilidade compartilhada da AWS, que pode ser visto na imagem abaixo.
Os clientes são responsáveis pela segurança NA nuvem e a AWS é responsável pela segurança DA nuvem.
A AWS tem a responsabilidade de proteger toda a infraestrutura global que executa todos os serviços oferecidos por ela na nuvem. Essa infraestrutura abrange o hardware, o software, as redes e as instalações que executam os serviços.
O cliente tem a responsabilidade de proteger seus dados, sistemas operacionais, redes, plataformas e outros recursos criados na AWS. O cliente AWS também é responsável por proteger a confidencialidade, a integridade e a disponibilidade dos seus dados e por cumprir requisitos específicos de negócios e/ou conformidade.
Conformidade na AWS
A AWS se comunica com os clientes sobre o ambiente de segurança e controle por meio de:
- Obtenção de declarações de terceiros independentes e certificações do setor.
- Publicação de informações sobre práticas de segurança e controle da AWS em whitepapers e no conteúdo do site.
- Disponibilização de certificados, relatórios e outros tipos de documentação diretamente para os clientes conforme os termos do Non-Disclosure Agreement (NDA – Acordo de confidencialidade), conforme necessário.
- Fornecimento de recursos e capacitadores de segurança, inclusive playbook de conformidade e mapeando documentos para programas de conformidade.
A AWS é certificada em relação à própria infraestrutura, portanto, precisamos certificar as aplicações e as arquiteturas que criamos.
O AWS Artifact é um portal de autoatendimento gratuito para acesso aos relatórios de segurança e conformidade da AWS e a contratos online. Entre os relatórios disponíveis, estão relatórios de Service Organization Control (SOC - Controle da organização de serviços) e relatórios do Payment Card Industry (PCI - Setor de cartões de pagamento).
Proteção na borda
Mitigação de DDoS
Para implementar uma estratégia de defesa a ataques de DDoS, é possível utilizar uma combinação de serviços da AWS. Esses serviços são projetados para ter resposta automática a ataques de DDoS e ajudam a minimizar o tempo de atuação e reduzir impactos. Os pontos de presença da AWS já fornecem uma camada adicional de infraestrutura de rede que aumenta sua capacidade de absorver ataques de DDoS e isolar falhas, enquanto minimiza o impacto na disponibilidade.
Diferente das zonas de disponibilidade, os pontos de presença são datacenters físicos localizados em cidades estratégicas. À medida que o acesso a determinados dados aumenta com o tempo, esses dados são copiados para um ponto de presença próximo à base de clientes para melhor performance e latência. As ameaças podem ser enfrentadas nos pontos de presença, longe de suas aplicações Web, dos recursos da AWS e dos dados originais.
Serviços da AWS para proteção fora da região
Os serviços da AWS citados abaixo funcionam perfeitamente em conjunto para criar um perímetro de segurança flexível e em camadas contra vários tipos de ataques de DDoS. Todos esses serviços residem na borda da AWS e fornecem um perímetro de segurança escalável, confiável e de alta performance.
AWS WAF
É um Web Application Firewall (WAF – Firewall de aplicações Web) que ajuda a proteger as aplicações Web contra vulnerabilidades comuns da Web capazes de afetar a disponibilidade da aplicação, comprometer a segurança ou consumir recursos excessivos. O AWS WAF permite controlar qual tráfego permitir ou bloquear definindo regras de segurança da Web personalizáveis.
AWS Shield
O AWS Shield é um serviço gerenciado de proteção contra DDoS que protege as aplicações Web executadas na AWS. O AWS Shield oferece detecção sempre ativa e mitigações automáticas que minimizam o tempo de inatividade e a latência das aplicações. AWS Shield Standard protege contra os ataques de DDoS mais comuns, que ocorrem com frequência nas camadas de rede e transporte e visam sites ou aplicativos web.
Amazon Route 53
O Amazon Route 53 é um serviço DNS altamente disponível e escalável que pode ser usado para direcionar o tráfego para sua aplicação Web. Ele inclui muitos recursos avançados, como fluxo de tráfego, roteamento baseado em latência, round robin ponderado, Geo DNS, verificações de integridade e monitoramento. Podemos utilizar esses recursos para melhorar a performance da aplicação Web e evitar interrupções no site. O Route 53 é hospedado em vários pontos de presença da AWS, criando uma área de superfície global capaz de absorver grandes quantidades de tráfego de DDoS.
Amazon CloudFront
O Amazon CloudFront é um serviço de Content Delivery Network (CDN – Rede de entrega de conteúdo) que pode ser usado para entregar dados, incluindo todo o site, aos usuários finais. O CloudFront só aceita conexões HTTPS e HTTP saudáveis para evitar muitos ataques comuns de DDoS. Esses recursos podem melhorar muito a capacidade de continuar oferecendo tráfego a usuários finais durante grandes ataques de DDoS.
Ao utilizar o AWS Shield Standard com o Amazon CloudFront e o Amazon Route 53, teremos uma proteção abrangente de disponibilidade contra os ataques conhecidos de infraestrutura.
Pontos de entrada na AWS
IAM - Identity and Access Management
O IAM é um mecanismo centralizado para criar e gerenciar usuários individuais e suas permissões. Gerenciar as credencias de acesso de forma eficiente é a base da proteção dos recursos na nuvem, todas as interações que realizamos na AWS são autenticadas. Quando criamos uma conta na AWS, temos acesso ao usuário root e esse usuário tem acesso a todos os serviços e recursos da AWS na conta criada, é altamente recomendável não utilizar o usuário root nas tarefas diárias, nem mesmo nas administrativas. Armazene as credenciais do usuário root com segurança e use-as para executar somente algumas tarefas de gerenciamento de contas e de serviços que exigem login como usuário root.
Um grupo do IAM é uma coleção de usuários. Os grupos permitem especificar permissões e atribuir as permissões para os usuários que fazem parte grupo. Por exemplo, podemos criar um grupo chamado "Desenvolvedores", conceder a esse grupo os tipos de permissões de que os desenvolvedores normalmente precisam e adicionar os usuários do time de desenvolvimento no grupo. Isso é considerado uma forma de controle de acesso baseado em função (RBAC - role-based access control). Atribuir permissões aos usuários utilizando grupos é uma boa prática, não é recomendado anexar funções diretamente ao usuário.
Tipos de credenciais da AWS:
- Usuário e Senha - Uma política de senhas é um conjunto de regras que estabelece o tipo de senha que um usuário do IAM pode definir. Defina uma política de senhas para todos os seus usuários do IAM a fim de impor o uso de senhas fortes e alterações regulares das senhas.
- Multi-Factor Authentication - A Multi-Factor Authentication (MFA) é uma camada adicional de segurança para acessar os serviços da AWS. Com esse método adicional de autenticação, que consiste em gerar um código de uso único que é utilizado no momento da autenticação junto com usuário e senha. A CLI da AWS também oferece suporte à MFA.
- Chaves de acesso do usuário - Os usuários precisam de suas próprias chaves de acesso para fazer chamadas programáticas para a AWS usando a CLI da AWS ou os SDKs, ou para fazer chamadas HTTPS diretas usando as APIs para serviços da AWS individuais. As chaves de acesso são usadas para assinar digitalmente chamadas de API feitas para serviços da AWS. Cada credencial de chave de acesso é composta por um ID de chave de acesso e uma chave secreta. Cada usuário pode ter duas chaves de acesso ativas, o que é útil quando precisamos alternar as chaves de acesso do usuário ou revogar permissões.
- Pares de chaves do Amazon ec2 - Para habilitar conexões SSH ou RDP com uma instância do Amazon Elastic Cloud Compute (EC2), a AWS usa uma infraestrutura de chave pública para assinar a solicitação de login. As chaves pública e privada são conhecidas como par de chaves. Para fazer login em sua instância, crie um par de chaves ou use um existente e forneça a chave privada ao se conectar à instância. Os pares de chaves do EC2 não permitem a rastreabilidade (como saber quem está usando as chaves), portanto, eles não são recomendados para uso rotineiro. Caso seja necessário acesso diário à instância, a AWS recomenda que as instâncias do EC2 façam parte de um domínio de diretório (Active Directory ou LDAP) para permitir acesso federado e permitir a rastreabilidade monitorando qual usuário está fazendo login em qual instância.
AWS Secrets Manager
O AWS Secrets Manager foi projetado para gerenciar segredos usados para acessar recursos em serviços da AWS, on-premise e de terceiros. Os segredos podem ser credenciais de banco de dados, senhas, chaves de API de terceiros e até mesmo texto casual. O Secrets Manager permite substituir credenciais codificadas por uma chamada da API ao Secrets Manager para recuperar o segredo por programação.
AWS Single Sign-On
O AWS Single Sign-On (SSO) é um serviço de SSO na nuvem que permite o gerenciamento centralizado do acesso via SSO a várias contas e aplicações empresariais da AWS. Ele permite que os usuários façam login no portal de usuário com credenciais da empresa e acessem todas as contas e aplicações alocadas em um mesmo lugar. O AWS SSO inclui integrações com SAML. O AWS SSO pode ser integrado ao Microsoft Active Directory, o que significa que os colaboradores podem fazer login no portal do usuário do AWS SSO usando suas credenciais corporativas do Active Directory.
AWS STS
O AWS Security Token Service (STS) é um Web service que permite solicitar credenciais temporárias e de privilégio limitado para usuários do IAM que estejam assumindo uma função diferente ou para usuários que estão sendo federados. Um cenário em que alguém, ou algo, precisa de acesso à sua conta para executar uma tarefa específica que não é feita diariamente seria um ótimo candidato para credenciais temporárias.
AWS Directory Service
O AWS Directory Service para Microsoft Active Directory, também conhecido como AWS Managed Microsoft AD, permite que cargas de trabalho do seu domínio e recursos da AWS usem o Active Directory gerenciado na Nuvem AWS. O AWS Managed Microsoft AD é criado com base em um Microsoft Active Directory real e não exige a sincronização ou replicação de dados do Active Directory atual para a nuvem.
AWS Organizations
O AWS Organizations permite gerenciar e aplicar políticas de forma centralizada para várias contas da AWS. O serviço permite agrupar contas em unidades organizacionais e usar políticas de controle de serviço para controlar os serviços da AWS de maneira centralizada em várias contas da AWS. Com o Organizations, podemos também automatizar a criação de novas contas por meio de APIs e simplificar o faturamento. Com o Organizations é possível configurar um único método de pagamento para todas as contas da organização por meio do faturamento consolidado.
Amazon Cognito
O Amazon Cognito permite adicionar controles de cadastro, login e acesso de usuários aos aplicativos Web e para dispositivos móveis. Podemos definir funções e mapear usuários a funções diferentes para que o aplicativo possa acessar apenas os recursos autorizados para cada usuário. O login do usuário pode ser feito por um provedor de identidade de terceiros ou diretamente por meio do Amazon Cognito.
Um grupo de usuários do Amazon Cognito é um diretório de usuários que gerencia a sobrecarga de lidar com os tokens retornados de provedores de login públicos, como Facebook, Google e Amazon, bem como provedores de identidade corporativa por meio do SAML 2.0. Depois de um login bem-sucedido do grupo de usuários, seu aplicativo Web ou dispositivos móveis receberá tokens do grupo de usuários do Amazon Cognito. Esses tokens podem ser usados para recuperar credenciais da AWS por meio de grupos de identidades do Amazon Cognito. Essas credenciais permitem que o aplicativo acesse outros serviços da AWS e não precisa incorporar credenciais da AWS de longo prazo no aplicativo.
Controles de detecção
Captura e coleta de logs
Controles de detecção são parte essencial das estruturas de governança e podem ser usados para identificar uma possível ameaça ou incidente de segurança. O AWS CloudTrail registra as chamadas de API realizadas na sua conta e ajuda a acompanhar todas as mudanças feitas nos seus recursos da AWS e pode ser utilizado em casos de auditoria.
Manter cada log do CloudTrail em sua forma imutável faz parte da comprovação da sua conformidade. Uma das sugestão é ter cada arquivo de log copiado para uma conta diferente. Por exemplo, se a conta A estiver monitorando todas as ações usando o CloudTrail, todos os logs serão copiados para a conta B. Nenhum usuário da conta A tem acesso a B e vice-versa.
Monitoramento e notificações
O Amazon CloudWatch é um serviço de monitoramento e observação da AWS. Com o CloudWatch é possível rotear eventos e informações que refletem alterações potencialmente indesejadas para um fluxo de trabalho adequado. O CloudWatch pode ser usado para monitorar recursos e logs, enviar notificações e acionar ações automatizadas para correção.
Auditoria na AWS
O Console de Gerenciamento da AWS, juntamente com a CLI da AWS, pode produzir excelentes resultados para auditores em várias autoridades regulatórias, normativas e do setor. Os serviços chave de auditoria incluem Amazon S3, Elastic Load Balancing, Amazon CloudWatch, AWS CloudTrail e Amazon VPC.
Quando o assunto é monitoramento e registro em log, a AWS fornece uma variedade de ferramentas e serviços. Os serviços da AWS citados abaixo pode ser usado em conjunto para fornecer um controle de segurança ideal.
AWS Config
O AWS Config é um serviço contínuo de monitoramento e mapeamento que ajuda a detectar configurações de não conformidade quase em tempo real. Podemos visualizar as configurações atuais e históricas de um recurso e usar essas informações para solucionar problemas de interrupções e conduzir análises de ataques de segurança. Com as regras do AWS Config, podemos executar verificações contínuas de avaliação em seus recursos para confirmar se estão em conformidade com as políticas de segurança, melhores práticas do setor e normas de conformidade. Um exemplo de regra do AWS Config é criar uma regra para garantir que a criptografia seja ativada para todos os volumes do EBS da conta.
Amazon GuardDuty
O Amazon GuardDuty é um serviço inteligente de detecção de ameaças que oferece uma forma de monitorar e proteger continuamente contas e serviços da AWS. O GuardDuty identifica suspeitas de invasão por meio de feeds integrados de inteligência de ameaças e usa machine learning para detectar anomalias nas atividades das contas e dos serviços. Ele monitora atividades como chamadas de API incomuns ou implantações não autorizadas que indicam que as contas de um cliente podem ter sido comprometidas, bem como ameaças diretas, como instâncias comprometidas ou táticas de reconhecimento por invasores.
AWS Trusted Advisor
O AWS Trusted Advisor é um serviço que usa as melhores práticas e inspeciona seu ambiente da AWS fazendo recomendações para economizar dinheiro, melhorar a performance do sistema ou corrigir falhas de segurança.
Amazon VPC Flow Logs
O Amazon VPC Flow Logs captura todas as informações sobre o tráfego de entrada e saída das interfaces de rede de uma VPC e apoia em várias tarefas como, por exemplo, entender por que um tráfego específico não está chegando a uma instância. Podemos utilizar também como ferramenta de segurança para monitorar o tráfego que está chegando à instância.
AWS Security Hub
O AWS Security Hub oferece um painel de visualização único para alertas de segurança de alta prioridade e de status de conformidade nas contas. É um único local que agrega, organiza e prioriza alertas de segurança, ou descobertas, de vários serviços, como o Amazon GuardDuty, o Amazon Inspector e o Amazon Macie.
Proteção de infraestrutura
Proteção por isolamento
A proteção de infraestrutura garante que os sistemas e recursos sejam protegidos contra acesso não intencional e não autorizado, além de outras possíveis vulnerabilidades. A Amazon Virtual Private Cloud (Amazon VPC) permite isolar recursos da AWS na nuvem. Uma VPC permite executar recursos em uma rede virtual que foi definida e que se assemelha a uma rede tradicional que operaria em nosso próprio datacenter.
Segurança de aplicações e sistemas operacionais
AWS Systems Manager
O AWS Systems Manager inclui recursos que ajudam a automatizar tarefas de gerenciamento, como coleta de inventário de sistemas, aplicação de patches de sistemas operacionais, manutenção e configuração de sistemas operacionais e aplicações em grande escala.
Recursos do AWS Systems Manager: Automação, inventário, gerenciador de patches, Repositório de parâmetros, run command e gerenciador de sessões
AWS Firewall Manager
O AWS Firewall Manager é um serviço de gerenciamento de segurança que permite a configuração e o gerenciamento centralizados de regras do firewall entre todas as contas e aplicações no AWS Organizations.
Com o AWS Firewall Manager, podemos disponibilizar facilmente regras do AWS WAF para Application Load Balancers, API Gateway e distribuições do Amazon CloudFront. Além disso, podemos criar proteções do AWS Shield para Application Load Balancers, ELB Classic Load Balancers, endereços Elastic IP e distribuições do CloudFront. É possível configurar novos grupos de segurança do Amazon Virtual Private Cloud (VPC) e auditar quaisquer grupos de segurança de VPC existentes para o Amazon EC2, do Application Load Balancer (ALB) e do ENI. Com o AWS Firewall Manager, é possível implantar de forma centralizada o AWS Network Firewalls em contas e em VPCs em sua organização.
AWS Direct Connect
O AWS Direct Connect é um serviço que facilita o estabelecimento de uma conexão de rede dedicada de suas instalações até a AWS. Com o AWS Direct Connect, podemos estabelecer conectividade privada entre a AWS e o nosso datacenter ou escritório podendo reduzir custos de rede e aumentar o throughput da largura de banda.
AWS CloudFormation
O AWS CloudFormation automatiza e simplifica a tarefa de criar e implantar recursos utilizando infraestrutura como código. Com o CloudFormation, podemos garantir que todos os controles de segurança e conformidade sejam implantados junto com o novo ambiente.
Amazon Inspector
O Amazon Inspector é um serviço automatizado de avaliação de segurança que ajuda a aprimorar a segurança e a conformidade das aplicações implantadas na AWS. Ele avalia as aplicações automaticamente para detectar vulnerabilidades ou desvios das melhores práticas. Depois de realizar uma avaliação, o Amazon Inspector produz uma lista detalhada de descobertas de segurança priorizadas de acordo com o nível de criticidade.
Proteção de dados
Proteção em repouso
A proteção de dados em repouso tem a ver com a criptografia de dados enquanto usa um dos serviços de armazenamento da AWS, incluindo serviços de banco de dados. No Amazon S3, por exemplo, há dois tipos de opções de criptografia disponíveis:
- Criptografia no lado do cliente - O cliente criptografa os dados antes de enviá-los para a AWS
- Criptografia no lado do servidor - A AWS criptografa os dados em seu nome depois que eles são recebidos pelo serviço
Proteção em trânsito
Todos os dados transmitidos de um sistema para outro são considerados dados em trânsito. A AWS recomenda as seguintes soluções e melhores práticas para ajudá-lo a fornecer o nível adequado de proteção para seus dados em trânsito, incluindo a confidencialidade e a integridade dos dados da sua aplicação.
- Os serviços da AWS fornecem endpoints HTTPS usando TLS para comunicação, fornecendo criptografia de ponta a ponta ao se comunicar com as APIs da AWS.
- Use a AWS para gerar, implantar e gerenciar certificados públicos e privados usados para criptografia TLS em cargas de trabalho baseadas na Web.
- Use IPsec com conectividade VPN na AWS para facilitar a criptografia de tráfego. Cada um dos serviços da AWS listados abaixo pode ser usado para fornecer proteção para seus dados.
AWS CloudHSM
O AWS CloudHSM oferece Hardware Security Modules (HSM – Módulos de segurança de hardware) na Nuvem AWS. Um HSM é um dispositivo computacional que processa operações de criptografia e oferece armazenamento seguro para chaves criptográficas. O CloudHSM permite gerar, armazenar, importar, exportar e gerenciar chaves criptográficas, incluindo chaves simétricas e pares de chaves assimétricas.
Amazon S3 Glacier
O Amazon S3 Glacier é um serviço de armazenamento otimizado para dados com baixa frequência de uso, também chamados de cold data. Esse serviço fornece um armazenamento resiliente e extremamente econômico com recursos de segurança para arquivamento e backup de dados.
AWS Certificate Manager
O AWS Certificate Manager (ACM) processa a complexidade de criar e gerenciar certificados públicos SSL/TLS para sites e aplicações Web. O ACM também pode ser usado para emitir certificados X.509 SSL/TLS que identificam internamente os usuários, computadores, aplicações, serviços, servidores e outros dispositivos.
Amazon Macie
O Amazon Macie usa machine learning para descobrir, classificar e proteger automaticamente os dados confidenciais na AWS. O Amazon Macie reconhece dados confidenciais, como Personally Identifiable Information (PII – Informações de identificação pessoal) ou propriedade intelectual. Ele fornece painéis e alertas que dão visibilidade sobre como esses dados estão sendo acessados ou movidos.
AWS KMS
O AWS Key Management Service (AWS KMS) é um serviço gerenciado que permite criar e controlar as chaves usadas na criptografia de dados. É um serviço ideal para quem deseja um serviço gerenciado para criar e controlar chaves de criptografia, mas não quer ou não precisa operar seu próprio Hardware Security Module (HSM – Módulo de segurança de hardware), considerando o uso do AWS KMS. Podemos utilizar os recursos de criptografia e gerenciamento de chaves diretamente nas aplicações ou por meio de serviços da AWS integrados ao AWS KMS.
Referências: