
Una herramienta de auditoría de seguridad de línea de comandos para Amazon Web Services
Una herramienta de auditoría de seguridad de línea de comandos para Amazon Web Services
Cloud Security Audit es una herramienta de línea de comandos que escanea vulnerabilidades en tu cuenta de AWS. De manera sencilla podrás identificar partes inseguras de tu infraestructura y preparar tu cuenta de AWS para una auditoría de seguridad.
Actualmente Cloud Security Audit no es compatible con ningún gestor de paquetes, pero el trabajo está en progreso.
Primero, descarga Cloud Security Audit en tu espacio de trabajo de GO:
$GOPATH $ go get github.com/Appliscale/cloud-security-audit
$GOPATH $ cd cloud-security-audit
Luego compila e instala la configuración para la aplicación dentro del directorio cloud-security-audit ejecutando:
cloud-security-audit $ make all
Si usas MFA, debes indicarle a Cloud Security Audit que te autentique antes de intentar conectarte usando la opción --mfa.
Ejemplo:
$ cloud-security-audit --service s3 --mfa --mfa-duration 3600
Para realizar una auditoría en todas las instancias EC2, escribe:
$ cloud-security-audit --service ec2
Puedes limitar la auditoría a una región usando la opción -r o --region. Cloud Security Audit también es compatible con perfiles de AWS: para especificar un perfil usa la opción -p o --profile.
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
| 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 |
+---------------+---------------------+--------------------------------+-----------------------------------+----------+
AVAILABILITY ZONE contiene información sobre dónde está ubicada la instancia.EC2 contiene el ID de la instancia.Volumes contiene los IDs de los volúmenes (discos virtuales) adjuntos a la EC2 dada. Significado de los sufijos:
[NONE] - Volumen no cifrado.[DKMS] - Volumen cifrado usando la clave KMS predeterminada de AWS. Más información sobre KMS aquí.Security Groups contiene los IDs de los grupos de seguridad que tienen permisos demasiado abiertos, p. ej., el bloque CIDR es igual a 0.0.0.0/0 (abierto a todo el mundo).EC2 TAGS contiene las etiquetas de una instancia EC2 dada para ayudarte a identificar el propósito de esta instancia.Puedes encontrar más información sobre el cifrado en la siguiente documentación:
Para realizar una auditoría en todos los buckets de S3, escribe:
$ cloud-security-audit --service s3
Cloud Security Audit es compatible con perfiles de AWS: para especificar un perfil usa la opción -p o --profile.
+------------------------------+---------+---------+-------------+------------+
| 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 |
+--------------------------- --+---------+---------+-------------+------------+
BUCKET NAME contiene los nombres de los buckets de S3.DEFAULT SSE te informa qué tipo de cifrado del lado del servidor se utilizó por defecto en tu bucket de S3:NONE - Cifrado SSE predeterminado no habilitado.DKMS - Cifrado SSE predeterminado habilitado, se usó clave KMS de AWS para cifrar datos.AES256 - Cifrado SSE predeterminado habilitado, AES256.LOGGING ENABLED contiene información si el registro de acceso al servidor estaba habilitado para un bucket de S3 dado. Esto proporciona registros detallados de las solicitudes realizadas a un bucket de S3. Más información sobre el registro de acceso al servidor aquí.ACL IS PUBLIC proporciona información si la ACL (Lista de Control de Acceso) contiene permisos que hacen público el bucket (permiten lectura/escritura para cualquiera). Más información sobre ACLs aquí.POLICY IS PUBLIC contiene información si la política del bucket permite alguna acción (lectura/escritura) para un usuario anónimo. Más sobre políticas de bucket aquí.
Las letras R, W y D describen qué tipo de acción está disponible para todos.Puedes encontrar más información sobre cómo asegurar tus buckets de S3 en las siguientes documentaciones: