Mejores Practicas de Seguridad
para IAM (Identity and Access
Management)
Jesus Bonequi Olvera
Solutions Architect
Agenda
• Seguridad en AWS
• Resumen de IAM
• Mejores practicas de IAM para incrementar la
seguridad de su infraestructura ...
La seguridad es nuestra
prioridad #1
La seguridad es una
responsabilidad compartida
AWS
• Edificios
• Seguridad Física
• Infraestructura Física
• Infraestructura de red
• Infraestructura de
virtualización
•...
¿Cómo es que AWS obtiene su seguridad?
• Acceso físico es grabado en video,
almacenado y revisado
• Existe una autenticaci...
¿Cómo es que AWS obtiene su seguridad?
¿Cómo es que AWS obtiene su seguridad?
Las evidencias comprueban que AWS cumple
• Certificaciones
• Auditorias y &
Certificación
– Independientes por 3os
– Refre...
Certificaciones y Approving Industry Bodies
Seguridad en IAM
AWS Identity and Access Management (IAM)
Le permite a usted controlar quien puede hacer que en
su cuenta de AWS
• Usuarios...
Mejores practicas de IAM
Los 10 mejores practicas (bueno 11)
0. Usuarios
1. Permisos
2. Grupos
3. Condiciones
4. Auditoria
5. Contraseñas
6. Rotaci...
0. Usuarios
Crear usuarios individuales
0. Crear usuarios individuales
Beneficios
• Credenciales únicas
• Rotación individual de
credenciales
• Permisos Individua...
1. Permisos
Otorgue el menor privilegio
1. Otorgue el menor privilegio
Beneficios
• Menor oportunidad de que la
persona ocurra en un error
• Es mas fácil relajar ...
2. Grupos
Administre los permisos con grupos
2. Administre los permisos con grupos
Beneficios
• Mas sencillo de asignar los
mismos permisos a múltiples
usuarios
• Mas ...
3. Condiciones
Restringa los privilegios de acceso con condiciones
3. Restringa los privilegios de acceso con
condiciones
Beneficios
• Granularidad adicional cuando
se definen los permisos
...
Restringa los privilegios de acceso con condiciones
{
"Statement":[{
"Effect":"Allow",
"Action":["ec2:TerminateInstances"]...
4. Auditoria
Habilite AWS CloudTrail para generar logs de las llamadas API
4. Habilite AWS CloudTrail para generar logs de las
llamadas API
Beneficios
• Da visibilidad de la actividad
de usuarios a...
Demostracion
Administración de usuarios y permisos
5. Contraseñas
Configure una política de uso de contraseñas robusta
5. Configure una política de contraseñas robusta
Beneficios
• Asegura que los usuarios
y los datos están
protegidos
Como i...
6. Rotacion
Rote (o elimine) regularmente las credenciales de seguridad
6. Rote/elimine las credenciales de seguridad
regularmente
Beneficios
• Mejor practica común
Como iniciar
• Utilice los re...
Habilite la rotación de credenciales IAM para
los usuarios (enable password rotation sample policy)
Password
{
"Version":"...
Habilite la rotación de credenciales IAM para los
usuarios (enable access key rotation sample policy)
Access Keys
{
"Versi...
Habilite la rotación de credenciales IAM para los
usuarios (enable access key rotation sample policy)
Access Keys
{
"Versi...
7. MFA
Habilite la autenticación multi factor para usuarios privilegiados
7. Habilite MFA para usuarios
privilegiados
Beneficios
• Suplemente para la
autenticación de usuario y
contraseña que requ...
8. Compartir
Utilice los roles IAM para compartir accesos
8. Utilice roles IAM para compartir acceso
Beneficios
• Sin necesidad de compartir las
credenciales de seguridad
• Sin nec...
prod@example.com
Acct ID: 111122223333
ddb-role
{ "Statement": [
{
"Action": [
"dynamodb:GetItem",
"dynamodb:BatchGetItem"...
9. Roles
Utilice roles IAM para instancias de Amazon EC2
9. Utilice roles IAM para instancias de Amazon EC2
Beneficios
• Access Keys fáciles de
administrar en instancias EC2
• Rot...
Demo
Administración de credenciales
10. Root
Reduzca o elimine el uso de root
10. Reduzca o elimine el uso de root
Beneficios
• Reduzca el mal uso potencial de
las credenciales
Como iniciar
• Pagina d...
Resumen de las mejores Practicas IAM
0. Usuarios – Genere usuarios individuales
1. Permisos – Otorgue el menor privilegio
...
Recursos Adicionales
• Pagina detallada de IAM: http://aws.amazon.com/iam
• Foros AWS: https://forums.aws.amazon.com/forum...
Muchas gracias
Próxima SlideShare
Cargando en…5
×

AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Identity and Access Management)

517 visualizaciones

Publicado el

AWS Summits América Latina 2015 -Mejores Prácticas de Seguridad para IAM (Identity and Access Management)

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
517
En SlideShare
0
De insertados
0
Número de insertados
12
Acciones
Compartido
0
Descargas
15
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Identity and Access Management)

  1. 1. Mejores Practicas de Seguridad para IAM (Identity and Access Management) Jesus Bonequi Olvera Solutions Architect
  2. 2. Agenda • Seguridad en AWS • Resumen de IAM • Mejores practicas de IAM para incrementar la seguridad de su infraestructura en la nube • Demostracion
  3. 3. La seguridad es nuestra prioridad #1
  4. 4. La seguridad es una responsabilidad compartida
  5. 5. AWS • Edificios • Seguridad Física • Infraestructura Física • Infraestructura de red • Infraestructura de virtualización • Sistemas operativos • Aplicaciones • Grupos de seguridad • Firewalks y SO • Configuración de red • Administración de cuentas Cliente
  6. 6. ¿Cómo es que AWS obtiene su seguridad? • Acceso físico es grabado en video, almacenado y revisado • Existe una autenticación Multi-factor para el acceso físico • Segregación de responsabilidades: Personal con acceso físico Vs. Personal con acceso lógico Y Cada 90 días…
  7. 7. ¿Cómo es que AWS obtiene su seguridad?
  8. 8. ¿Cómo es que AWS obtiene su seguridad?
  9. 9. Las evidencias comprueban que AWS cumple • Certificaciones • Auditorias y & Certificación – Independientes por 3os – Refrescados frecuentemente – Disponibles para nuestros clientes aws.amazon.com/compliance
  10. 10. Certificaciones y Approving Industry Bodies
  11. 11. Seguridad en IAM
  12. 12. AWS Identity and Access Management (IAM) Le permite a usted controlar quien puede hacer que en su cuenta de AWS • Usuarios, Grupos, Roles, Permisos • Controlar… – Centralizado – Granularidad fina - APIs, recursos, y la consola de administración de AWS • Seguridad… – Segura (negar) por omisión – Múltiples usuarios, credenciales de seguridad y permisos individuales
  13. 13. Mejores practicas de IAM
  14. 14. Los 10 mejores practicas (bueno 11) 0. Usuarios 1. Permisos 2. Grupos 3. Condiciones 4. Auditoria 5. Contraseñas 6. Rotación 7. MFA 8. Compartir 9. Roles 10.Root
  15. 15. 0. Usuarios Crear usuarios individuales
  16. 16. 0. Crear usuarios individuales Beneficios • Credenciales únicas • Rotación individual de credenciales • Permisos Individuales Como iniciar • Identifica que usuarios necesitamos crear dentro de IAM • Utilice la consola, CLI o API para: - Crear usuarios - Asignar credenciales - Asignar permisos
  17. 17. 1. Permisos Otorgue el menor privilegio
  18. 18. 1. Otorgue el menor privilegio Beneficios • Menor oportunidad de que la persona ocurra en un error • Es mas fácil relajar la seguridad que incrementarla • Mayor control granular – API y resource Como iniciar • Identifique cuales son los permisos requeridos • Contraseñas o access keys? • Evite asignar políticas *:* • Default Deny • Utilice los ”policy templates” NOTA IMPORTANTE: Los permisos no aplican a root!
  19. 19. 2. Grupos Administre los permisos con grupos
  20. 20. 2. Administre los permisos con grupos Beneficios • Mas sencillo de asignar los mismos permisos a múltiples usuarios • Mas sencillo reasignar los cambios en los permisos basados en responsabilidades • Solo es necesario un cambio para actualizar los permisos de múltiples usuarios Como iniciar • Empate los permisos a funciones especificas del negocio • Asigne los usuarios a esa función • Administre los grupos en su sección dentro de la consola de IAM
  21. 21. 3. Condiciones Restringa los privilegios de acceso con condiciones
  22. 22. 3. Restringa los privilegios de acceso con condiciones Beneficios • Granularidad adicional cuando se definen los permisos • Puede ser utilizada para cualquier servicio API de AWS • Minimiza el riesgo de realizar una acción privilegiada de manera accidental Como iniciar • Utilice las condiciones cuando aplique • Dos tipos de condiciones - AWS common - Service-specific
  23. 23. Restringa los privilegios de acceso con condiciones { "Statement":[{ "Effect":"Allow", "Action":["ec2:TerminateInstances"], "Resource":["*"], "Condition":{ "Null":{"aws:MultiFactorAuthAge":"false"} } } ] } Enables a user to terminate EC2 instances only if the user has authenticated with their MFA device. MFA { "Statement":[{ "Effect":"Allow", "Action":"iam:*AccessKey*", "Resource”:"arn:aws:iam::123456789012:user/*", "Condition":{ "Bool":{"aws:SecureTransport":"true"} } } ] } Enables a user to manage access keys for all IAM users only if the user is coming over SSL. SSL { "Statement":[{ "Effect":"Allow", "Action":["ec2:TerminateInstances“], "Resource":["*“], "Condition":{ "IpAddress":{"aws:SourceIP":"192.168.176.0/24"} } } ] } Enables a user to terminate EC2 instances only if the user is accessing Amazon EC2 from the 192.168.176.0/24 address range. SourceIP { "Statement":[{ "Effect": "Allow", "Action":"ec2:TerminateInstances", "Resource": "*", "Condition":{ "StringEquals":{"ec2:ResourceTag/Environment":"Dev"} } } ] } Enables a user to terminate EC2 instances only if the instance is tagged with “Environment=Dev”. Tags { "Sid": "ThisBitGrantsAccessToResourcesForTerminateInstances", "Effect": "Allow", "Action":"ec2:TerminateInstances", "Resource": "*", "Condition": { "StringEquals": {"ec2:ResourceTag/Environm { "Sid": "ThisBitGrantsAccessToResourcesForTerminateInstances", "Effect": "Allow", "Action":"ec2:TerminateInstances", "Resource": "*", "Condition": { "StringEquals": {"ec2:ResourceTag/Environment": { "Sid": "ThisBitGrantsAccessToResourcesForTerminateInstances", "Effect": "Allow", "Action":"ec2:TerminateInstances", "Resource": "*", "Condition": { "StringEquals": {"ec2:ResourceTag/Environment":
  24. 24. 4. Auditoria Habilite AWS CloudTrail para generar logs de las llamadas API
  25. 25. 4. Habilite AWS CloudTrail para generar logs de las llamadas API Beneficios • Da visibilidad de la actividad de usuarios al grabar las llamadas API de AWS en una cubeta de Amazon S3 Como iniciar • Configure una cubeta de Amazon S3 • Habilite AWS CloudTrail Asegure que los servicios estén integrados con AWS CloudTrail
  26. 26. Demostracion Administración de usuarios y permisos
  27. 27. 5. Contraseñas Configure una política de uso de contraseñas robusta
  28. 28. 5. Configure una política de contraseñas robusta Beneficios • Asegura que los usuarios y los datos están protegidos Como iniciar • Cual es la política de contraseñas de su compañía • Se puede configurar - Password expiration - Password strength • Uppercase, lowercase, numbers, non-alphanumeric - Password re-use NOTA IMPORTANTE: La policía de contraseñas no aplica a root
  29. 29. 6. Rotacion Rote (o elimine) regularmente las credenciales de seguridad
  30. 30. 6. Rote/elimine las credenciales de seguridad regularmente Beneficios • Mejor practica común Como iniciar • Utilice los reportes de credenciales para identificar cuales deben ser rotadas o eliminadas • La consola IAM despliega cuando fue usado la contraseña • Otorgue permisos de usuarios IAM para rotar credenciales • Roles IAM para Amazon EC2 rotan credenciales automáticamente
  31. 31. Habilite la rotación de credenciales IAM para los usuarios (enable password rotation sample policy) Password { "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:ChangePassword", "Resource": "arn:aws:iam::123456789012:user/${aws:username}" } ] } Enforcing a password policy will automatically enable IAM users to manage their passwords Observe el uso de una política variable
  32. 32. Habilite la rotación de credenciales IAM para los usuarios (enable access key rotation sample policy) Access Keys { "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:ListAccessKeys", "iam:UpdateAccessKey"], "Resource": "arn:aws:iam::123456789012:user/${aws:username}" } ] }
  33. 33. Habilite la rotación de credenciales IAM para los usuarios (enable access key rotation sample policy) Access Keys { "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:ListAccessKeys", "iam:UpdateAccessKey"], "Resource": "arn:aws:iam::123456789012: user/${aws:username}" } ] } 1. While the first set of credentials is still active, create a second set of credentials, which will also be active by default. 2. Update all applications to use the new credentials. 3. Change the state of the first set of credentials to Inactive. 4. Using only the new credentials, confirm that your applications are working well. 5. Delete the first set of credentials. Steps to rotate access keys
  34. 34. 7. MFA Habilite la autenticación multi factor para usuarios privilegiados
  35. 35. 7. Habilite MFA para usuarios privilegiados Beneficios • Suplemente para la autenticación de usuario y contraseña que requiere un código único Como iniciar • Escoja un tipo de MFA - Virtual MFA - Hardware • Utilice la consola IAM para asignar un dispositivo MFA
  36. 36. 8. Compartir Utilice los roles IAM para compartir accesos
  37. 37. 8. Utilice roles IAM para compartir acceso Beneficios • Sin necesidad de compartir las credenciales de seguridad • Sin necesidad de almacenar las credenciales a largo plazo • Fáciles de romper “sharing relationship” • Casos de uso - Cross-account access - Intra-account delegation - Federación Como iniciar • Crear un rol - Especifica en quien confías - Describa que es lo que el rol puede hacer • Comparta el nombre del rol • Utilice un ExternalID cuando comparta con un tercero NOTA IMPORTANTE: Nunca comparta las credenciales.
  38. 38. prod@example.com Acct ID: 111122223333 ddb-role { "Statement": [ { "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:DescribeTable", "dynamodb:ListTables" ], "Effect": "Allow", "Resource": "*" }]} dev@example.com Acct ID: 123456789012 Authenticate with Jeff access keys Get temporary security credentials for ddb-role Call AWS APIs using temporary security credentials of ddb-role { "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/ddb-role" }]} { "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"123456789012"}, "Action":"sts:AssumeRole" }]} Como trabaja el compartir ddb-role trusts IAM users from the AWS account dev@example.com (123456789012) Permissions assigned to Jeff granting him permission to assume ddb-role in account B IAM user: Jeff Permissions assigned to ddb-role STS External access User Login con Amazon Google Facebook Open ID Connect SAML Authenticate with Users tokens
  39. 39. 9. Roles Utilice roles IAM para instancias de Amazon EC2
  40. 40. 9. Utilice roles IAM para instancias de Amazon EC2 Beneficios • Access Keys fáciles de administrar en instancias EC2 • Rotación de llaves automáticas • Asigne el menor privilegio a la aplicación • Completamente integrado con AWS SDKs • Completamente integrado con AWS CLI Como iniciar • Cree un rol de IAM • Asigne permisos al rol • Lance instancias con el rol • Si no utiliza SDK, firme todas las peticiones a los servicios AWS con las credenciales temporales del rol
  41. 41. Demo Administración de credenciales
  42. 42. 10. Root Reduzca o elimine el uso de root
  43. 43. 10. Reduzca o elimine el uso de root Beneficios • Reduzca el mal uso potencial de las credenciales Como iniciar • Pagina de “Security Credentials” - Borrar “access keys” - Active un dispositivo MFA • Asegure que haya implementado una contraseña robusta
  44. 44. Resumen de las mejores Practicas IAM 0. Usuarios – Genere usuarios individuales 1. Permisos – Otorgue el menor privilegio 2. Grupos – Administre los permisos mediante grupos 3. Condiciones – Restringa el acceso privilegiado con condiciones 4. Auditoria – Habilite AWS CloudTrail para obtener bitácoras de llamadas API 5. Contraseñas – Configure una política de contraseñas robusta 6. Rotación – Rote/Borre las credenciales de seguridad regularmente 7. MFA – Habilite MFA para usuarios privilegiados 8. Comparta – Utilice roles IAM para compartir accesos 9. Roles – Utilice roles IAM para instancias EC2 10. Root – Reduzca o elimine el uso de root
  45. 45. Recursos Adicionales • Pagina detallada de IAM: http://aws.amazon.com/iam • Foros AWS: https://forums.aws.amazon.com/forum.jspa?forumID=76 • Documentación: http://aws.amazon.com/documentation/iam/ • Blog de Seguridad AWS : http://blogs.aws.amazon.com/security • Pagina de AWS CloudTrail: http://aws.amazon.com/cloudtrail/ • Twitter: @AWSIdentity
  46. 46. Muchas gracias

×