Uma ferramenta de auditoria de segurança de linha de comando para o Amazon Web Services.
Sobre o
Cloud Security Audit é uma ferramenta de linha de comando que procura vulnerabilidades em sua conta da AWS. De maneira fácil, você poderá identificar partes não seguras de sua infraestrutura e preparar sua conta da AWS para auditoria de segurança.
Sobre o
Cloud Security Audit é uma ferramenta de linha de comando que procura vulnerabilidades em sua conta da AWS. De maneira fácil, você poderá identificar partes não seguras de sua infraestrutura e preparar sua conta da AWS para auditoria de segurança.
Instalação
Atualmente, o Cloud Security Audit não suporta nenhum gerenciador de pacotes, mas o trabalho está em andamento.
Construindo a partir de fontes
Primeiro de tudo você precisa baixar o Cloud Security Audit para o seu espaço de trabalho GO:
$GOPATH $ go get github.com/Appliscale/cloud-security-audit
$GOPATH $ cd cloud-security-audit
cloud-security-audit $ make all
Sessão de Inicialização de Uso
Se você estiver usando o MFA, precisará informar ao Cloud Security Audit para autenticá-lo antes de tentar se conectar usando o sinalizador
--mfa
. Exemplo:$ cloud-security-audit --service s3 --mfa --mfa-duration 3600
EC2 Scan
Como usar
Para executar a auditoria em todas as instâncias do EC2, digite:
$ cloud-security-audit --service ec2
Você pode restringir a auditoria a uma região usando o sinalizador -r
ou --region
. O Cloud Security Audit também oferece suporte aos perfis da AWS - para especificar o perfil, use o sinalizador -p
ou --profile
. Exemplo de saída
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
| AVAILABILITY | EC2 | VOLUMES | SECURITY | |
| | | | | EC2 TAGS |
| ZONE | | (NONE) - NOT ENCRYPTED | GROUPS | |
| | | | | |
| | | (DKMS) - ENCRYPTED WITH | (INCOMING CIDR = 0.0.0.0/0) | |
| | | DEFAULT KMSKEY | | |
| | | | ID : PROTOCOL : PORT | |
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
| eu-central-1a | i-0fa345j6756nb3v23 | vol-0a81288qjd188424d[DKMS] | sg-aaaaaaaa : tcp : 22 | App:some |
| | | vol-0c2834re8dfsd8sdf[NONE] | sg-aaaaaaaa : tcp : 22 | Key:Val |
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
Como ler isso
- Primeira coluna
AVAILABILITY ZONE
contém informações onde a instância é colocada - A segunda coluna
EC2
contém o ID da instância. - A terceira coluna
Volumes
contém IDs de volumes anexados (discos virtuais) a determinados EC2. Sufixos significado:[NONE]
- Volume não criptografado.[DKMS]
- Volume criptografado usando a chave KMS padrão do AWS. Mais sobre o KMS você pode encontrar aqui
- Quarta coluna
Security Groups
contém IDs de grupos de segurança que possuem permissões muito abertas. Por exemplo, o bloco CIDR é igual a0.0.0.0/0
(aberto para todo o mundo). - A quinta coluna
EC2 TAGS
contém tags de uma determinada instância do EC2 para ajudá-lo a identificar a finalidade dessa instância.
Documentos
Você pode encontrar mais informações sobre criptografia na seguinte documentação:
S3 Scan
Como usar
Para executar a auditoria em todos os buckets do S3, digite:
$ cloud-security-audit --service s3
O Cloud Security Audit suporta perfis da AWS - para especificar o perfil, use o sinalizador -p
ou --profile
. Exemplo de saída
+------------------------------+---------+---------+-------------+------------+
| BUCKET NAME | DEFAULT | LOGGING | ACL | POLICY |
| | | | | |
| | SSE | ENABLED | IS PUBLIC | IS PUBLIC |
| | | | | |
| | | | R - READ | R - READ |
| | | | | |
| | | | W - WRITE | W - WRITE |
| | | | | |
| | | | D - DELETE | D - DELETE |
+------------------------------+---------+---------+-------------+------------+
| bucket1 | NONE | true | false | false |
+------------------------------+---------+---------+-------------+------------+
| bucket2 | DKMS | false | false | true [R] |
+------------------------------+---------+---------+-------------+------------+
| bucket3 | AES256 | false | true [RWD] | false |
+--------------------------- --+---------+---------+-------------+------------+
Como ler isso
- A primeira coluna
BUCKET NAME
contém nomes dos buckets s3. - A segunda coluna
DEFAULT SSE
fornece informações sobre qual tipo padrão de criptografia do lado do servidor foi usada no seu intervalo do S3:
NONE
- SSE padrão não ativado.DKMS
- SSE padrão ativado, chave AWS KMS usada para criptografar dados.AES256
- SSE padrão ativado, AES256 .
- A terceira coluna
LOGGING ENABLED
contém informações se o log de acesso do servidor foi ativado para um determinado bucket do S3. Isso fornece registros detalhados para as solicitações feitas em um bucket S3. Mais informações sobre o log de acesso ao servidor podem ser encontradas aqui - A quarta coluna
ACL IS PUBLIC
fornece informações se a ACL (Lista de Controle de Acesso) contiver permissões, o que tornará o bloco público (permitir leitura / gravação para qualquer pessoa). Mais informações sobre as ACLs aqui - A quinta coluna
POLICY IS PUBLIC
contém informações se a política do bucket permitir qualquer ação (leitura / gravação) para um usuário anônimo. Mais sobre as políticas de balde aqui R, W e letras D descrever que tipo de ação está disponível para todos.
Documentos
Você pode encontrar mais informações sobre como proteger seus S3s nas seguintes documentações:
- https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
- https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html
- https://docs.aws.amazon.com/AmazonS3/latest/user-guide/server-access-logging.html
Licença
Apache License 2.0
Mantenedores