Descripción del problema
El acceso no autorizado a entornos de TI internos no cumple con los estándares de seguridad de la empresa. La finalización del acceso a usuarios inactivos tiene como objetivo reducir el riesgo de acceso no controlado a sus recursos y ayudar a establecer y controlar el proceso de gestión de acceso a entornos internos y de producción.
El procedimiento de desactivación del acceso es necesario, por ejemplo, en caso de que los usuarios abandonen la organización o de que los entornos de TI ya no sean necesarios. Los líderes de equipo deben asegurarse de que los usuarios anteriores ya no tengan acceso.
Nuestras recomendaciones permiten que su equipo de ingeniería aumente la seguridad de las cuentas de AWS mediante la identificación de usuarios inactivos y la eliminación de credenciales de usuario de IAM. En nuestro artículo, recomendamos cancelar las cuentas de usuario de IAM que no estén activas durante 90 días o más; sin embargo, puede ajustar un período de tiempo específico según sus requisitos.
Recomendaciones
Paso 1
Enumere todos los usuarios que se crearon hace más de 90 días y cuyo último inicio de sesión en la consola de AWS fue hace más de 90 días o no se utilizó en absoluto.
Comando CLI de AWS:
aws iam list-users --query 'Usuarios[?(FechaDeCreación <= `2021-12-26` && (ÚltimaContraseñaUsada <= `2021-12-26`) || !not_null(ÚltimaContraseñaUsada))].NombreDeUsuario' --texto de salida
Puede encontrar más información aquí:
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-users.html
Paso 2
Para cada usuario de esta lista debemos verificar todas las teclas de acceso.
Comando CLI de AWS:
aws iam list-access-keys --nombre-usuario "$user" --consulta 'AccessKeyMetadata[].AccessKeyId' --texto de salida
Puede encontrar más información aquí:
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-access-keys.html
Paso 3
Para cada tecla de acceso debemos comprobar Fecha de último usoEn caso de que todas las claves de acceso se hayan utilizado por última vez hace más de 90 días, dichos usuarios podrían marcarse como objetivos.
Comando CLI de AWS:
aws iam obtener-clave-de-acceso-última-utilización --id-clave-de-acceso "$access_key" --consulta 'AccessKeyLastUsed.LastUsedDate >= `2021-12-26`' --texto de salida
Puede encontrar más información aquí:
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/get-access-key-last-used.html
Optimización gratuita de los costos de la nube. De por vida
Nota 1
En los comandos usamos fecha 2021-12-26 Su fecha relativa es igual (ahora – 90 días). Debes usar tu propia fecha relativa.
Nota 2
AWS CLI tiene un mecanismo de paginación para grandes cantidades de datos en la salida. Si tiene muchos usuarios en una cuenta, el script proporcionado procesará solo la primera página. Considere usar algo más potente que AWS CLI.
Como resultado, una línea de comando:
para el usuario en $(aws iam list-users --query 'Usuarios[?(FechaDeCreación <= `2021-12-26` && (ÚltimaContraseñaUsada <= `2021-12-26`) || !not_null(ÚltimaContraseñaUsada))].NombreDeUsuario' --texto de salida); hacer para clave_de_acceso en $(aws iam list-access-keys --nombre_usuario "$user" --query 'Metadata_de_Clave_de_Acceso[].Id_de_Clave_de_Acceso' --texto de salida); hacer si [[ "$(aws iam get-access-key-last-used --access-key-id "$access_key" --query 'AccessKeyLastUsed.LastUsedDate >= `2021-12-26`' --output text)" == True ]]; entonces continuar 2; hecho; hecho; echo "$user"; hecho
Como resultado, este comando proporcionará una lista de nombres de usuario.
👆🏻 Almacenar objetos en depósitos públicos de AWS S3 podría amenazar la seguridad de los datos de su empresa.
💡 Descubra las recomendaciones que le ayudarán a gestionar el acceso público a los recursos de AWS S3 de forma adecuada y garantizar que todos los depósitos y objetos necesarios tengan su acceso público bloqueado → https://hystax.com/the-quickest-way-to-get-a-list-of-public-buckets-in-aws-to-enhance-your-security