Jornada para AWS Certified Security Specialty (SCS-C01)
Tags: cloud, aws, devops, security
Published: 2022-12-14 20:47:48


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ugg96tfes5h1h0lcqiw.png)


O exame AWS Certified Security - Specialty é destinado a pessoas que executam uma função de segurança e pelo menos dois anos de experiência prática na proteção de workloads da AWS.

---

##**Guia do Exame**
Todos as informações sobre a prova estão [aqui](https://aws.amazon.com/pt/certification/certified-security-specialty/).

---

##**Domínios que serão cobrados na prova**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tbhtar74hbrmkb0shtv0.png)

---
##**Preparação para prova**
Para começar a minha preparação, que levou um pouco menos de 2 mês. Fiz os treinamentos e simulados descritos abaixo, os links que estão em "Dicas sobre a prova", vale uma leitura com muita atenção. 

---

##**Informações gerais sobre a prova**
Para informações gerais da prova [clique aqui](https://dev.to/rodrigofrs13/informacoes-gerais-sobre-as-provas-da-aws-4hkj), informações por exemplo:
Idiomas oferecidos 


---
##**Dicas sobre a prova**
- [Blog do Jayendra Patil - AWS Certified Security - Speciality (SCS-C01) Exam Learning Path](https://jayendrapatil.com/aws-certified-security-speciality-scs-c01-exam-learning-path/)

- [Tutorial Dojo - AWS Certified Security – Specialty Exam Guide Study Path SCS-c01](https://tutorialsdojo.com/aws-certified-security-specialty-exam-guide-study-path-scs-c01-scs-c02/)

---
##**Treinamentos**
**Zeal Vora - Melhor treinamento**
https://www.udemy.com/course/aws-certified-security-specialty/


**Acloudguru**
https://learn.acloud.guru/course/aws-certified-security-specialty/overview

**Oficiais da AWS**
[AWS Power Hour: Specialty Certification](https://pages.awscloud.com/GLOBAL_TRAINCERT_T2-Twitch-AWS-Power-Hour-Specialty-Certification.html?trk=2a12ccdd-a47b-4935-962b-a3452a845867&sc_channel=em)

[Security Specialty Certification Ramp Up Guide](https://training.resources.awscloud.com/get-certified-security-specialty/learning-plan-2)

[Free digital training: Security](https://training.resources.awscloud.com/get-certified-security-specialty/free-digital-training-security)

[Join the Get AWS Certified: Specialty Challenge](https://training.resources.awscloud.com/get-certified-security-specialty/join-the-get-aws-certified-specialty-challenge)

[Exam Readiness: AWS Certified Security - Specialty](https://explore.skillbuilder.aws/learn/course/97/play/496/exam-readiness-aws-certified-security-specialty)

---
##**Simulados**
**Whizlabs - Melhor simulado**
https://www.whizlabs.com/aws-certified-security-specialty/

**Acloudguru**
https://learn.acloud.guru/course/aws-certified-security-specialty/overview

**Dojo**
https://portal.tutorialsdojo.com/courses/aws-certified-security-specialty-practice-exams/



---
##**Pontos importantes**
---
##**Incident Response**
**Problemas na EC2, inspecionar pacotes na rede para investigação**
- Use Traffic Mirroring em uma EC2

---
##**AWS WAF**
- Web Application Firewall - Camada 7
- Protege contra SQL Injection attacks, Cross-site Scripting(XSS) e DDoS
- Bloqueia IP específico 
- Permitir apenas o tráfego de IP específico
- Não inspeciona os pacotes
- Deploy no ALB, API GW, AWS AppSync e CloudFront

---
##**Amazon Inspector**
- Analisa vulnerabilidades baseadas em Baselines
- Avalia automaticamente os aplicativos quanto à exposição, vulnerabilidades e desvios das práticas recomendadas
- Agente AWS na EC2
- Free trial for 15 days
- Severity Level (_High/Medium/Low/Informational_)
- Scanner em ECR imagens

**Baselines analisados**
- CVE - Commom Vulnerabilities & Exposures
- CIS Benchmarks
- Security Best Praticies
- Network Reachability

---
##**Amazon Macie**
- Detecta automaticamente uma lista grande e crescente de tipos de dados confidenciais, incluindo informações pessoalmente identificáveis (PII).
- Pode analisar logs CloudTrail
- Pode criar um job para analise pontual ou agendada
- Analisa dados no S3

**PII data**
- Personally Identifiable Information
- Home address, e-mail, Driver Licence
- Números de cartão de crédito

**Classificação dos dados**

- Por tipo de conteúdo
- Por Tema
- Por extensão arquivos
- Por Expressão Regular

---
##**AWS Config**
- Auditoria e Compliance
- Controla e grava todas as alterações de configuração nos recursos
- Pode salvar os dados no S3 e analisar pelo Athena
- Utiliza SNS
- Provê a lista detalhada(_abrangente_) de recursos da conta AWS
- Pode-se configurar uma Lambda para ser invocada por uma AWS Config Custom Rule, passando o ARN da função Lambda.

**Casos de uso**
- Auditoria no IAM Policy antes ou depois de um evento ou incidente
- Detectar se o CloudTrail foi desabilitado
- Verificar se todas as EC2 estão rodando com AMI aprovada
- Detectar regras 0.0.0.0/0 ou portas SSH, RDP e etc
- Detectar se tem Internet Gateway adicionado a VPC não autorizada
- Detectar EBS criptografado
- `create-api-key` - Monitora chamadas feitas pelo usuário root
- `approved-amis-by-id` - Verifica se as EC2 estão com AMI´s aprovadas

**Roles que não existem**
- Unauthorized AWS API Requests

**Especificar triggers para as regras AWS Config**
- **Configuration changes** - A cada alteração na configuração
- **Frequência(_Periodic_)** - 1h, 3h, 6h, 12h e 24 horas.

---
##**Amazon GuardDuty**
- Detecção de ameaças que monitora continuamente atividades maliciosas e comportamentos
- Monitora Port Scans
- Detecção Malware
- SSH brute force attacks 
- Criptomoedas - `CryptoCurrency:Ec2/BitcoinTool.B`
- Fontes de dados -AWS CloudTrail, VPC Flow Logs e DNS Logs
- Pode utilizar lista de Ip´s confiáveis para evitar alarmes falsos
- Não bloqueia IP dentro da VPC


**Usuários na Conta Mestre tem permissão de:**
- Podem gerar descobertas de amostra em sua própria conta. 
- NÃO PODEM gerar resultados de amostra nas contas dos membros.
- Podem arquivar descobertas em suas próprias contas e em todas as contas de membros.
- Podem fazer upload e gerenciar listas de IP confiáveis ​​e listas de ameaças em sua própria conta.

**Usuários na Conta Membro tem permissão de:**
- Podem gerar descobertas de amostra em sua própria conta de membro. 
- Não podem gerar resultados de amostra na conta mestra ou em outras contas-membro.
- Não podem arquivar descobertas em sua própria conta ou na conta principal ou em outras contas de membro.
- Não podem carregar e gerenciar listas de IP confiáveis ​​e listas de ameaças.

---
##**AWS Detective**
- Simplifica o processo de investigação das descobertas de segurança e identificação da causa raiz .
- Serviço persistente orientado a Machine Learning
- É pago por GB
- É Regional
- Cria relacionamento entre as ações (_Telemetria_)
- Desvio de comportamento - tem que esperar 45 dias após a configuração inicial

**Coleta de dados**

- CloudTrail
- GuardDuty
- VPC Flow Logs
- EKS Logs(_Opcional_)

**Integrado**

- Amazon GuardDuty
- Amazon Macie
- AWS Security Hub

**Casos de uso comuns**

- Descobertas de segurança da triagem
- Investigação de incidentes
- Caçando ameaças de segurança ocultas

---
##**AWS Shield**
- Proteção conta DDoS
- Tem dois níveis, **Standard **e **Advanced**

**Shield Standard**
- É habilitado por padrão
- Usa machine learning
- Protege contra Ataque DDoS
- Layer-3 / Layer-4
- Está sob a responsabilidade da AWS no Shared Responsability Model

**Fornece proteção para:**
- ELB´s
- Cloudfront
- Route 53

**Shield Advanced**
- Acesso ao time AWS DDoS Response Team (DRT) - 24*7
- $3000/mês por organization - se vc for vitima de um ataque vc não paga - Retorna em forma de créditos
- Requer suporte Bussines or Enterprise
- Visibilidade Real-time
- Histórico de todos os incidentes nos últimos 13 meses.

**Fornece proteção estendida para:**
- Amazon Elastic Compute Cloud
- Elastic Load Balancing (ELB)
- Amazon CloudFront
- Amazon Route 53
- AWS Global Accelerator

---
##**AWS Network Firewall**
- Sistema de prevenção de intrusões (IPS)
- Não protege contra DDoS
- Não é capaz de permitir que EC2 em uma sub-rede privada se conectem à Internet enquanto impede conexões externas.

---
##**AWS Firewall Manager**
- Pré requisito -> AWS Organizations e AWS Config
- Alto custo
- Simplifica as tarefas de administração e manutenção de Security Groups,AWS WAF, AWS Shield Advanced e Amazon VPC em várias contas e recursos.

**Serviços suportados**
- AWS WAF
- Security Groups
- AWS Network Firewall
- Route53 DNS Firewall
- AWS Shield Advanced
- Palo Alto Cloud Next-generation Firewalls

---
##**Amazon Detective vs Amazon GuardDuty vs AWS Security Hub**
- **Amazon GuardDuty** 
É um serviço de detecção de ameaças que monitora continuamente atividades maliciosas e comportamentos não autorizados para proteger suas contas e cargas de trabalho da AWS. 
- **Security Hub**
Um único local que agrega, organiza e prioriza seus alertas ou descobertas de segurança de vários serviços da AWS, como Amazon GuardDuty, Amazon Inspector e Amazon Macie, bem como de soluções de parceiros da AWS. 
- **Amazon Detective**
Simplifica o processo de investigação das descobertas de segurança e identificação da causa raiz .



---
##**AWS Artifact**
- ISO 9001:2015 Certification
- HIPPA
- **PCI - Payment Card Industry** (PCI - Setor de cartões de pagamento)
- **SOC - Service Organization Control** (SOC - Controle de organização de serviço)


---
##**AWS VPC**
- Use Traffic Mirroring para inspecionar o conteúdo pacotes na rede 
- NAT Gateways não suportam IPv6
- Pode criar um Internet Gateway somente de saída

**Usar DNS Server**
- Criar um novo DHCP options e substituir o existente

Colocar os 2 atributos como `False`

- **enableDnsHostnames**- Isso indica se as instâncias com endereços IP públicos obtêm nomes de host DNS públicos correspondentes. 
- **enableDnsSupport**- Isso indica se a resolução DNS é suportada


**Inspecionar os dados do pacote.**
1 - Use um software proxy hospedado em uma instância do EC2.
2 - Use um agente baseado em host em uma instância do EC2. Observe que você só pode executar a análise de dados de pacote com soluções de terceiros.

**Security Group vs NACL**
<u>NACL</u>
- NACL - Pode negar acesso pelo IP
- NACL PADRÃO é tudo LIBERADO- Entrada e Saída
- NACL PERSONALIZADA é tudo BLOQUEADO - Entrada e Saída
- Para cobrir os diferentes tipos de clientes que podem iniciar o tráfego para instâncias públicas em sua VPC, você pode abrir as portas efêmeras 1024-65535.

<u>Security Group</u>
- Segurança a nível da Instância ou ENI
- Por padrão é todo bloqueado de entrada (_Inbound_) e tudo liberado na saída (_Outbound_)
- Pode ser atachado em múltiplas instâncias
- Baseado em Região/VPC
- Stateful - Não verifica o tráfego de retorno pois reconhece que é o mesmo pacote
- Referência IP ou Security Group

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ofq1ekorn2uu20s7vmpu.png)



---
##**AWS KMS**
- Acesso privado no AWS KMS através de AWS VPC Interface Endpoint
- FIPS 140–2
- CMK (_Customer Master Key_) - SSE-KMS 
- Serviço Regional
- Suporta Sign API
- aws kms encrypt CLI - Arquivos menores de 4k

 
**AWS KMS - Grant**
- Fornece controle de acesso programático 
- Condition - `"kms:GrantIsForAWSResource": true`
- Não se limita a serviços AWS específicos 

**AWS KMS - Key Material**
- Ao importar o Key Material, você pode especificar uma data de expiração.
- Pode excluir sob demanda

**Rotação de Keys**
- O ARN ou Alias não muda
- Usuários não precisam agendar a atualização, o AWS KMS faz automático

<u>Amazon Managed Key</u>
- Não pode Habilitar ou Desabilitar o Key Rotation
- Rotação de 1 ano (_365 dias_)
- AWS/S3, AWS/KMS

<u>Customer Master Key</u>
- Rotação de 1 ano (_365 dias_)
- Pode ser Habilitar ou Desabilitar
- Vem desabilitado por padrão

**Controle de acesso baseado em recursos(resource-based access control)**
- Key policies
- Grants

**A rotação automática de Keys não é suportada nos seguintes tipos de KMS Keys, mas você pode girar essas Keys manualmente.**

1. KMS Keys assimétricas
2. KMS Keys em armazenamentos de custom key
3. KMS Keys com key material importado

**KMS Policy**
- É a principal forma de controlar o acesso à KMS Key. 
- Os elementos Effect e Principal não se referem à conta de usuário root da AWS
- Cada KMS Key deve ter exatamente uma Key policies
- As instruções determinam quem tem permissão para usar a KMS Key e como eles podem usá-la
- Também pode usar IAM Policies e Grants para controlar o acesso à KMS Keys, mas cada KMS Key deve ter uma Key policies.

**Envelope Encryption(Criptografia de Envelope)**

- É um processo em que você criptografa dados de texto **sem formatação** com uma chave de dados e, em seguida, criptografa a chave de dados com uma chave mestra de texto **sem formatação** de nível superior.

**AWS KMS - ViaService**
- A Condition `kms:ViaService` limita o uso de uma KMS Key para solicitações provenientes **de serviços da AWS especificados**.
- Serviços AWS específicos: EC2, RDS

**KMS em Redshift cluster**
1 - As Master Keys criptografam as Cluster Keys
2 - A Cluster Keys criptografada criptografa a Database Key
3 - A Database Key criptografada criptografa as Data Encryption Keys

---
##**AWS CloudHSM**
- Pode gerenciar suas próprias chaves de criptografia 
- FIPS 140–2 Level 3 e EAL-4
- PKCS#11, Java Cryptography Extensions (JCE) e bibliotecas Microsoft CryptoNG (CNG)
- As APIs do CloudHSM que acompanham o SDK da AWS não têm a capacidade de executar operações criptográficas.
- A AWS deve gerenciar apenas o dispositivo do módulo de segurança de hardware, mas não tem acesso às suas chaves.
- Melhora o desempenho do aplicativo devido à proximidade com as cargas de trabalho da AWS. O armazenamento deve ser acessível usando apenas VPCs.
- Armazenamento de chave seguro altamente disponível em hardware inviolável disponível em várias zonas de disponibilidade (AZs).
- Pode publicar logs de auditoria no CloudWatch Logs.

---
##**Amazon SES**
- O endpoint SMTP do Amazon SES requer que todas as conexões sejam criptografadas usando Transport Layer Security (TLS).
- O Amazon SES oferece suporte a dois mecanismos para estabelecer uma conexão criptografada por TLS: STARTTLS e TLS Wrapper
- Para configurar uma conexão STARTTLS, o cliente SMTP se conecta ao endpoint SMTP do Amazon SES na porta 25, 587 ou 2587. 
- Endpoint: email-smtp.us-east-1.amazonaws.com terminal usando a porta 587

---
##**AWS EC2**
- Comando para listar as EC2 com determinadas Key - `aws ec2 describe-instances --filters "Name=key-name,Values=NameOfKeyPair"`
- Evitar acesso não autorizado ao Metadata - Impedir acesso ao Metadata por diversos tipos.
- Pode importar public key pela console da AWS utilizando - `Import key pair`
- `Erro Unprotected Private Key File`, verifique as permissões do arquivo da private-key, - chmod 400 file
- **Perdeu a private key** -> Gera uma nova key pair, Anexe o root volume em outra EC2, atualize o arquivo `autorized_keys` com a nova public key.
- Não é possível utilizar "Promiscuous mode" na EC2

---
##**AWS S3**
- Habilitar versionamento **NÃO** melhora a segurança do Bucket.
- Se perder a KMS Key que criptografou o o objetivo você perde acesso ao objeto. 
- Amazon S3-Managed Keys (SSE-S3) usa a criptografia AES-256
- `s3:x-amz-region` - Não é uma Condition valida, use `S3:LocationConstraint:region`
- SSE - É possível ter diferentes Keys para diferentes versões de um mesmo objeto.
- Bucket Policy com Deny explicito sobrepõe IAM Policy

**Principais diferenças SSE Keys**
<u>SSE-KMS</u>
- Gerenciada pela AWS
- Rotação automática de chaves
- Fornecem uma trilha de auditoria que mostre quando foi usada e por quem
<u>SSE-S3</u>
- Rotação automática de chaves
<u>SSE-C</u>
- Gerenciada pelo cliente
- Rotação automática de chaves
- Se você perder a chave de criptografia, perderá todos os objetos criptografados por essa chave.

**Server-Side Encryption**
Você solicita que o Amazon S3 criptografe seu objeto antes de salvá-lo em discos em seus datacenters e descriptografe-o ao baixar os objetos

<u>Use Server-Side Encryption:</u>
- Amazon S3-Managed Keys (SSE-S3)
- AWS KMS-Managed Keys (SSE-KMS)
- Customer-Provided Keys (SSE-C)

**Client-Side Encryption**
Você pode criptografar dados do lado do cliente e fazer upload dos dados criptografados para o Amazon S3. Nesse caso, você gerencia o processo de criptografia, as chaves de criptografia e as ferramentas relacionadas.

1. Use a client-Side Encryption com AWS KMS–Managed Customer Master Key (CMK)
2. Use a client-Side Encryption usando uma Client-Side Master Key

**Problema de acesso a objetos após upload entre contas**
- No comando `aws s3api put-object`, inserir `--acl "bucket-owner-full-control` para conceder permissões aos objetos

**AWS S3 c/ AWS KMS**
Deve ter permissão ao fazer upload ou download de um objeto no S3 criptografado com uma chave AWS KMS

- kms:Decrypt
- kms:Encrypt
- kms:ReEncrypt*
- kms:GenerateDataKey*
- kms:DescribeKey

**AWS S3 c/ MFA**
A AIM Policy precisa ter a Condition abaixo:
`"Bool": {"aws:MultiFactorAuthPresent": true}`

---
##**AWS Secrets Manager**
- Armazene as credenciais como segredos
- Habilitando a rotação o segredo é rotacionado imediatamente
- Designe uma Role de execução de tarefas com as IAM Policies corretas que podem ler e recuperar segredos do Secrets Manager.
- Chame a `GetSecretValueAPI `dentro do aplicativo para extrair as credenciais do AWS Secrets Manager.

---
##**Amazon Cognito**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eecl44ujqoec6tamc6jw.png)



**User Pool**
- São usados ​​para Autenticação.
- Oferece suporte a "grupos", que permitem criar e gerenciar grupos, adicionar usuários a grupos e remover usuários de grupos
- Informações para configurar IdP:_App client Id / App client Secret / List of Scopes_
- COGNITO_USER_POOLS Autorizer - para integrar com API Gateway
- Não tem CAPTCHA, para isso use Auth Chanllenge Lambda Trigger
- Os usuários podem fazer login em aplicações Web ou móveis por meio do Amazon Cognito.
- Os usuários também podem fazer login por meio de provedores de identidade social, como o Google, o Facebook, a Amazon ou a Apple, e por meio de provedores de identidade SAML.


**Identity Pool**
- São utilizados para Autorização.
- **Fornecem credenciais temporárias da AWS para usuários que são convidados _(não autenticados_) e para usuários que foram autenticados e receberam um token.**
- É um repositório de dados de identidade de usuários específicos para sua conta.
- Permitem que você conceda aos seus usuários acesso a outros serviços da AWS. Você pode usar Identity Pools e User Pool separadamente ou juntos.

**Informações para configurar IdP (_Social Identity Provider_)**
- App Client Id
- App Client Secret
- List of Scopes

---
##**AWS ELB**
**ALB**
- Suporta somente HTTP/HTTPS

**Classic Load Balancer**
- Não suporta Server Name Indication (SNI).
- Suporta Protocolos legados
- Pode adicionar 2 certificados a um Listener quando utilizado c/ SNI

---
##**Amazon DynamoDB**
- O DynamoDB Encryption Client oferece suporte à criptografia do lado do cliente , em que você criptografa os dados da tabela antes de enviá-los ao DynamoDB.
- Acesso privado através VPC Gateway Endpoint
- Para criptografar tabelas -> `--sse-specification Enabled=true`




---
##**AWS Certificate Manager**
- O ACM permite importar certificados de terceiros direto na console
- Para usar um ACM com Amazon CloudFront, você deve solicitar ou importar o certificado na **região US East (N. Virginia)**. 
- Os certificados ACM nesta região associados a uma distribuição do CloudFront são distribuídos para todos os locais geográficos configurados para essa distribuição.

**AWS Certificate Manager Private Certificate Authority (ACM PCA)**
- É uma CA versátil e altamente disponível que ajuda as organizações a proteger aplicações e dispositivos usando certificados privados.
- A ACM Private CA possibilita a emissão de certificados de entidade final de sua CA raiz

---
##**Amazon CloudWatch**
- Pode usar para monitorar erros em chamadas de API, com o CloudWatch Alarmes para gerar um alarme com notificação via Amazon SNS

**CloudWatch Logs**

- caminho do awslogs

<u>Analise de alguns problemas</u>
- Verificar o awslogs para confirmar se o agent está rodando
- Verificar a IAM Policy da Role anexada na instância 

**CloudWatch Agent**
- A EC2 precisa ter a policy: _CloudWatchAgentServerPolicy_
- Nome da métrica: _CWAgent_
- Nome do agente: _amazon-cloudwatch-agent_

**CloudWatch Events**
- Cron Jobs
- Schedule
- Event Pattern
- Trigger
- Pode usar o CloudWatch Event para disparar eventos quando um recurso da VPC é alterado

**CloudWatch Metrics**
- Timestamps
- Dashboards
- Não tem métricas de RAM e Disk para EC2 por Default (Somente com CloudWatch Agent)
- Default 5 minutes // Detailed Monitoring - 1 min
- Custom Metrics
- Os dados das métricas são mantidos por **15 meses**
- Para gravar as métricas: `cloudwatch:putMetricData`
`

**CloudWatch Alarms**
- Actions
- Auto Scaling
- EC2
- SNS
- Utilizado como trigger
- **Alarm State** -- OK, INSUFFICIENT_DATA e ALARM


---
##**Lambda**

---
##**Lambda@Edge**
- Melhora o desempenho e reduz a latência
- Cabeçalhos de segurança X-Content-Type-Options, X-Frame-Options, e X-XSS-Protection HTTP
- Pode usar signed URLs ou signed cookies.
- Pode ser usado para compactar os arquivos à medida que são enviados aos usuários.

---
##**Amazon CloudFront**
- Pode usar TTL para habilitar o cache de conteúdo dinâmico
- 216 Point Of Presense (Edge Location)
- Serviço Global
- Para deletar, primeiro tem que DESATIVAR e somente depois pode ser DELETADO
- **Ajuda conta ataques de DDoS Protection
- Escolhe o Price Class - 3 opções
- Integrado com Shield e AWS WAF
- Pode ser S3, EC2, ELB, Route53
- Usa Edge Location para distribuir conteúdo
- Dados, vídeos aplicações e API
- Arquivos estáticos
- NÃO usa UNICAST
- Server Name Indication - Custom SSL depende da extensão SNI do protocolo TLS, que permite que vários domínios sejam servidos no mesmo endereço IP
- **X-Cache** - Indica se o arquivo está no cache do CDN ou na origem
- Para usar um ACM com Amazon CloudFront, você deve solicitar ou importar o certificado na **região US East (N. Virginia)**. 
- Os certificados ACM nesta região associados a uma distribuição do CloudFront são distribuídos para todos os locais geográficos configurados para essa distribuição.

**Origin Access identity**
- Restrinja o acesso ao conteúdo nos buckets do S3 para impedir que os usuários usem a URL direta do arquivo.
- "Principal": {"CanonicalUser":"_Canonical User ID:_"}
- "Principal": {"AWS":"arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity _Origin Access ID_" }


**Permitir que vários domínios atendam ao tráfego SSL no mesmo endereço IP**

1. Crie uma distribuição na web do CloudFront e gere um certificado SSL no AWS Certificate Manager
2. Associe o certificado à distribuição do CloudFront e habilite o Server Name Indication (SNI).

---
##**IAM Credential Report**
- **Não traz** - Quando a IAM Role foi usada pela ultima vez e ARN do SAML
- É armazenado por até 4 horas
- Não é usado para revisar as permissões concedidas a um usuário.
- Status, Data de Criação, Quando as senhas foram usadas ou alteradas, Usuários, Passwords, Access Keys, MFA
- Não fornece o histórico de atividades da credencial

---
##**AWS STS**
- Para assumir uma Role, um aplicativo chama a  `AssumeRole` da API do AWS STS e passa o ARN da Role a ser usada.
- Máximo da sessão de 1h até 12 horas

---
##**AWS S3 Glacier Vault Lock**
- Configure WORM (Write Once Read Many)
- Tem até 24 horas para validar a Policy
- Lock Policies são imutáveis
- `abort-vault-lock` - Interrompe o processo de bloqueio do cofre
- `initiate-vault-lock` - Inicia o processo de bloqueio do cofre

---
##**AWS Systems Manager**
**Parameter Store**
- Se você armazenar as credenciais usando parâmetros padrão no  Parameter Store do Systems Manager, não haverá cobrança adicional
- AWS Secrets Manager é mais caro para armazenar credenciais. 
- `kms:Decrypt` - Lambda/EC2 precisa dessa permissão para descriptografar a senha armazenada no Parameter Store - Secure String
- Secure String Parameter - Armazenamento de string para conexão com Bancos de Dados

**RUN Command**
- Compatíveis com Windows, Linux e MacOS
- **Inspeciona processos em execução na EC2**
- Output - S3 ou CloudWatch Logs
- **Recupera senha do Administrador de Windows - AWSSupport-Run2RescueForWindowsTool**

<u>Alguns Documentos</u>
- AWS-RunAnsiblePlaybook
- AWS-ConfigureDocker
- AWS-InstallMissingWindowsUpdates
- AWS-RunShellScript
- AWSSupport-Run2RescueForWindowsTool

**Possíveis problemas para executar o Systems Manager na EC2**
- Se a IAM Role anexada a EC2 está correta
- Se o agent está em execução
- Se a EC2 está Health
- Analisar logs de erro em `/var/log/amazon/ssm/errors.logs`



---
##**AWS EBS**
- Pode habilitar a criptografia durante a boot
- Não pode alterar uma CMK associada a um snapshot ou EBS
- Mas você pode associar uma nova CMK durante uma operação de cópia do snapshot
- Os volumes não criptografados existentes não podem ser criptografados diretamente, mas podem ser migrados
- A AWS apaga todos os dados do EBS antes de disponibilizar para reuso. 



---
##*VPC Endpoints***
- Configura a subnet para roteamento p/ vpce
- Configura route-table no VPC Endpoint
- Melhora a segurança
- Suporta somente IPV4
- **Habilitar DNS Resolution na VPC**
- Por padrão veem **Full Access**

**Interface Endpoint**
- É uma interface de rede elástica com um endereço IP privado do intervalo de endereço IP da sub-rede.
- Provê acesso privado da VPC a serviços AWS
- Utiliza subnet c/ IP privado
- **É cobrado**
- Utiliza Security Group

**Gateway Endpoint**
- Permite interceptar o tráfego e roteá-lo para um serviço que você configurou usando os Gateway Load Balancers, por exemplo, para inspeção de segurança.
- Um gateway que é um destino para uma rota específica em sua tabela de rotas, usado para o tráfego destinado a um serviço compatível da AWS que é DynamoDB ou S3.
- Provê acesso privado da VPC a serviços AWS
- Na mesma região
- Utiliza route-tables
- **Não tem cobrança**
- Usa listas de prefixos (coleção de blocos CIDR) como um destino de rota em uma route-table VPC.

**Serviços suportados**
- S3
- DynamoDB

**Gateway Load Balancer Endpoints**
É uma interface de rede elástica com um endereço IP privado do intervalo de endereços IP da sub-rede.

---
##**Tipos de AssumeRole**
**AssumeRole** 
– Credenciais de temporárias para acessar recursos da AWS aos quais você normalmente não tem acesso. 
- As credenciais temporárias consistem em Access Key, Secret Access, and Security Token.
- Usado na sua conta ou para acesso entre contas. 
- Pode utilzar autenticação multifator (MFA) ao chamar AssumeRole 

**AssumeRoleWithSAML** 
- Credenciais de segurança temporárias para usuários que foram autenticados por meio de uma resposta de autenticação SAML. 
- Isso permite que você vincule seu armazenamento ou diretório de identidade corporativa ao acesso baseado em função da AWS sem credenciais ou configurações específicas do usuário.

**AssumeRoleWithWebIdentity** 
- Credenciais de segurança temporárias para usuários que foram autenticados em um aplicativo móvel ou da Web com um provedor de identidade da Web. 
- Provedores de exemplo incluem Amazon Cognito, Login with Amazon, Facebook, Google ou qualquer provedor de identidade compatível com OpenID Connect.

---
##**AWS IAM**

**Possíveis problemas de acesso**

- O usuário está usando um ID externo incorreto.
- A política de permissão anexada na função IAM do usuário não tem a `sts:AssumeRole`
- O ARN da função IAM usado pelo usuário está incorreto

---
##**AWS CloudTrail**
- Auditoria de API (_Logs API call details_)
- Salva log´s em Bucket S3 ou Cloudwatch Logs
- No Bucket é configurado a retenção
- É habilitado por default (_por 7 dias_)
- Notificações por SNS
- Pode agregar Regiões e Contas
- Logs a cada 5 minutos (_pode chegar a 15 minutos_)
- Use SSE-S3 ou SSE-KMS p/ criptografar logs no Bucket
- SSE-KMS Encryption é habilitado por padrão, mas pode ser desativado
- Por padrão, os arquivos de log do CloudTrail são criptografados usando SSE-S3 e colocados no seu bucket do S3
- Nem todos os eventos são logados 
- **Eventos de até 90 dias, após esse tempo pode jogar para S3 e ser consultado pelo AWS Athena**
- Na conta root, pode-se habilitar em todas as contas da organização no AWS Organizations
- CloudWatch Logs é opcional, vem desabilitado por padrão
- Opção de escolher entre a atividade da API (_Read e/ou Write_)
- Não precisa do Trail criado para analisar os logs
- You cannot delete events from event history
- Pode configurar multiplos Trails em Buckets separados
 - Ao configurar uma trilha para registrar eventos de gerenciamento, você pode especificar read-only, write-only ou ambos.

---
##**AWS Security Hub**
- Visualiza os findings (_High,Medium,Critical,Low_)
- Pode habilitar em todas as contas
- Recebe Findings de ferramentas de terceiros
- Verificações automáticas e padrão CIS AWS Foundation e PCI DSS
- Tem que habilitar o AWS Config

<u>Recebe dados do recursos</u>
- AWS IAM Access Analyzer
- Amazon GuardDuty
- Amazon Inspector
- AWS Macie
- AWS Firewall Manager

---
##**AWS IAM Access Advisor**
- Emite relatório de auditoria de IAM Role
- Nível de usuário
- Mostra os serviços que este usuário pode acessar e quando esses serviços foram acessados pela última vez
- Lista atividades de ate 4 horas
- Você pode identificar permissões desnecessárias para que possa revisar suas IAM Policy de acordo

---
##**AWS Kinesis**
- Habilitar Monitoramento detalhadado do CloudWatch para monitorar a Shared-Level
- Policy para ler registros dos Streams - GetRecords, DescribeStream, GetSharedIterator