Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Seguridad en AWS

Seguridad en AWS

Santiago Gimenez Ocaño, Head of Security de Olapic, dio un recorrido por los servicios de Security de AWS, tales como Inspector, WAF, Certificate Manager y un breve recorrido por IAM.

La charla se dió en el marco de la segunda MeetUp del AWS Users Group de Córdoba, Argentina.

https://www.meetup.com/AWS-User-Group-Cordoba-Argentina/events/241152859/

AWS en Español

July 11, 2017
Tweet

More Decks by AWS en Español

Other Decks in Programming

Transcript

  1. AGENDA • Motivación • Modelo de responsabilidad compartida • Herramientas

    • IAM • Certificate Manager • WAF & Shield • AWS Inspector • Conclusión
  2. MOTIVACIÓN http://www.nextgov.com/sponsor-content/in-cloud-we-should-trust/ “The idea that cloud is less secure comes

    from a perceived loss of control. However with AWS you actually gain more control over your data than you have in your own on-premises environment.” --Bill Murray, senior manager of security programs at AWS
  3. MOTIVACIÓN • Migramos todo a AWS. • Nuestra seguridad se

    incrementó un 478923%. • Podemos dormir a la noche sabiendo que nuestros datos están seguros, sin nada mas por hacer. • El mundo es un lugar mejor. • Esto no es así. • Si bien AWS es seguro, nosotros somos también responsables de la seguridad.
  4. MODELO DE RESPONSABILIDAD COMPARTIDA EN AWS SECURITY OF THE CLOUD

    • AWS es responsable de proteger la infraestructura global del los servidores de la nube. • Host OS y capa de virtualización. • Seguridad física del data center. • Provee herramientas de seguridad. SECURITY IN THE CLOUD • El cliente de AWS es responsable de la seguridad del contenido, aplicaciones, sistemas y redes. • Guest OS (actualizaciones y parches), aplicaciones dentro del OS, configuración de los security groups. • El cliente implementa/usa herramientas de seguridad. https://aws.amazon.com/compliance/shared-responsibility-model/
  5. AWS IAM • Permite manejar usuarios y permisos a recursos

    dentro de AWS. • Emplea controles de acceso: • Usuarios • Grupos • Políticas • Roles • Usuarios se identifican con contraseñas, o con AWS Keys y AWS Secret Keys. http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html FEATURES ADICIONALES • Políticas de contraseñas • Multi-factor para acceso a consola • Identity federation • Integración con CloudTrail IMPORTANTE • Si no lo usamos bien, estamos en problemas.
  6. ¿CÓMO FUNCIONA AWS IAM? • Usuarios obtienen permisos para acceder

    a un recurso mediante una política, que puede usar condiciones. • Las poíticas son representadas en un JSON file. • Las políticas pueden agregarse a usuarios, grupos, roles, o recursos. http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html • Las políticas pueden ser ”managed” (creadas por AWS o administradores) o ”inline” (creadas por administradores). • Los usuarios pueden ser agregados a grupos. • Los roles pueden ser asignados a instancias. • Esto permite usar instancias sin una AWS Key y AWS Secret Key.
  7. ¿CÓMO FUNCIONA AWS IAM? http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html { "Version": "2012-10-17", "Statement": {

    "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:123456789012:table/Books" } }
  8. CONSIDERACIONES EN IAM • IAM tiene limitaciones en la cantidad

    de usuarios, grupos, roles, cantidad de grupos por usuario, etc, etc. • Los números son relativamente altos. • Pero si escribimos muchas políticas inline, podemos alcanzarlos. • Usuarios: 2.048 símbolos • Roles: 10.240 símbolos • Grupos: 5.120 símbolos http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html • Las limitaciones nos llevan a un modelo donde usuarios son en general agregados a grupos, donde no se usan muchas políticas inline.
  9. BUENAS PRACTICAS EN IAM • No usar API Keys y

    API Secret Keys del usuario root. Nunca. • Crear cuentas individuales por usuario. • Usar Grupos. • No usar políticas inline. • Habilitar MFA. http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html • Usar roles para aplicaciones en instancias. Si esto no es posible, crear cuentas de servicio. • Buscar y remover credenciales innecesarias. • Usar condiciones en las políticas.
  10. AWS WAF Y AWS SHIELD AWS WAF • Web Application

    Firewall. • Monitorea request en CloudFront (AWS’s CDN) y Application Load Balancer. • Restringe acceso, en función de condiciones, reglas y ACLs. AWS SHIELD • Protección contra DDoS. • Puede tener costo extra https://aws.amazon.com/documentation/waf/
  11. ¿CÓMO FUNCIONA AWS WAF? CONDICIONES • Características básicas en los

    requests. • Ejemplos: • Scripts (XSS) • Direcciones IP • Longitud de partes del request • Código SQL (injection) • Strings que aparecen en el request (user agent) REGLAS • Combinación de condiciones. • Se deben cumplir todas las condiciones. • Reglas regulares: deben incluir al menos una condición. • Reglas basadas en rate (X requests en Y minutos): si no tienen condición, todos los request son considerados. http://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html
  12. ¿CÓMO FUNCIONA AWS WAF? ACL • Combinación de reglas. •

    Definen acciones: • Permitir • Bloquear • Contar (testing) • Acción para cada regla y una acción por defecto. • Se deben satisfacer todas las condiciones de un reglas en una ACL. http://docs.aws.amazon.com/waf/latest/developerguide/how-aws-waf-works.html
  13. ¿CÓMO FUNCIONA AWS SHIELD? AWS SHIELD STANDARD • Basado en

    condiciones, reglas y ACLs de WAF. • Bloquear tráfico. • Sin costo adicional. AWS SHIELD ADVANCED • Para Load Balancers, CloudFront, Route53. • Costo adicional. Pero incluye WAF. • DDoS en capas 3, 4, y 7. • Métricas en tiempo real. • Se puede escalar a AWS DDoS Response Team. • Puede detectar DDoS en capa 7, pero no mitiga. http://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html
  14. AWS CERTIFICATE MANAGER • Maneja los certificados TLS usados en:

    • Elastic Load Balncing (en load balancer o en el backend) • Amazon CloudFront (en la CDN or en el backend) • AWS Elastic Beanstalk (load balancer) • Amazon API Gateway • AWS CloudFormation • Los certificados son por región. • Dos alternativas: • Pedir un certificado a AWS (autorenewal). • Importar un certificado en AWS (se puede ”elegir” el root CA). • No olvidarse de asignar el certificado al recurso J. • Validar el certificado con un agente externo (Digicert). http://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html
  15. ¿CÓMO FUNCIONA AWS CERTIFICATE MANAGER? PEDIR UN CERTIFICADO A AWS

    1. Hacer el pedido: solo hace falta un FQDN. 2. Validar el dominio: generalmente por mail a [email protected] http://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html
  16. ¿CÓMO FUNCIONA AWS CERTIFICATE MANAGER? IMPORTAR UN CERTIFICADO A AWS

    • Requerimientos: • El certificado (PEM, clave pública RSA de 1024 o 2048 bits) • Clave privada del certificado (PEM) • Cadena de certificados (PEM, Opcional) http://docs.aws.amazon.com/acm/latest/userguide/import-certificate-console.html
  17. AWS INSPECTOR • Analizador de vulnerabilidades de seguridad. • CVEs,

    buenas prácticas, información. • Menos de 2 años en producción. • Penetration testing requiere permiso especial de AWS. • AWS Inspector no necesita permiso. • Tiene una API para automatizar los análisis. https://docs.aws.amazon.com/inspector/latest/userguide/inspector_introduction.html
  18. ¿CÓMO FUNCIONA AWS INSPECTOR? • Se instala un agente en

    la instancia a analizar • Se crea un ”Assessment target” • Se crea un ”Assessment template” • Se ejecuta el template • Se revisan los findings https://docs.aws.amazon.com/inspector/latest/userguide/inspector_introduction.html IMPORTANTE • Arreglar los findings
  19. INSTALANDO EL AGENTE • El agente es compatible con: •

    Linux • Windows • Se instala como servicio http://docs.aws.amazon.com/inspector/latest/userguide/inspector_agents.html $ curl -O https://d1wk0tztpsntt1.cloudfront.net/linux/latest/install $ sudo bash install
  20. CONSIDERACIONES EN AWS INSPECTOR • ¿Cada cuánto correr un análisis?

    • ¿Puedo ”reciclar” lo suficientemente rápido? • ¿Aprovechar la API y agregarlo a un CI? • ¿Qué hago si AWS detecta vulnerabilidades durante el lanzamiento de una instancia? • ¿Sólo notificar o notifica y parar el lanzamiento?
  21. Q&A