Ir al contenido principal

Apuntes resumen gratuito AWS Solutions Architect. Dominio 1. Teoría y práctica.

En este artículo a modo de ebook trataremos el primer de los cuatro dominios del examen de la certificación informática AWS Solutions Architect. La guía gratuita creada por Info Certificaciones IT, sigue rigurosamente el syllabus (el temario que entra) de la certificación. 

Se divide en dos partes en cada tema.

  • Una parte teórica que os explica los conceptos que debéis conocer
  • Una parte teórica con una casuística que os permite comprender mejores usos en la vida real.

Esta creada como resumen completo para poder repasar todos los conceptos aunque partes que os vendrá bien complementar con la documentación oficial de AWS en caso de duda.

Disponéis de mis test de práctica de Udemy para practicar lo aprendido.

AWS Solutions Architect. Dominio 1
Diseñar Arquitecturas Seguras

Diseñar un acceso seguro a los recursos de AWS

1. Controles de acceso y administración en varias cuentas

Administrar el acceso y los permisos en varias cuentas de AWS es fundamental para garantizar la seguridad y el cumplimiento de tus recursos en la nube. Algunas técnicas y herramientas importantes incluyen:

1.1. AWS Organizations

AWS Organizations te permite administrar y consolidar varias cuentas de AWS en una estructura jerárquica. Esto facilita la administración de políticas de acceso y seguridad en todas las cuentas, así como la aplicación de políticas de cumplimiento y auditoría.

1.2. Políticas de control de acceso

Las políticas de control de acceso en AWS son reglas que definen quién puede acceder a tus recursos y qué acciones pueden realizar. Puedes aplicar estas políticas en usuarios, grupos o roles de AWS Identity and Access Management (IAM).

1.3. Roles de IAM

Los roles de IAM permiten delegar permisos a usuarios, servicios y aplicaciones en AWS sin tener que compartir credenciales de acceso permanentes. Al utilizar roles de IAM, puedes aplicar el principio de mínimo privilegio y limitar el acceso a los recursos necesarios.

2. Servicios de identidad y acceso federados de AWS

Los servicios de identidad y acceso federados de AWS permiten la integración de sistemas de identidad externos y la autenticación de usuarios a través de múltiples cuentas y aplicaciones.

2.1 AWS Identity and Access Management (IAM)

IAM es el servicio principal de AWS para la administración de identidades y accesos. Permite crear y administrar usuarios, grupos, roles y políticas de acceso. IAM también admite la federación de identidades, lo que te permite integrar tus sistemas de identidad existentes y autenticar a los usuarios a través de proveedores de identidad externos.

2.2. AWS Single Sign-On (AWS SSO)

AWS SSO es un servicio que simplifica la administración centralizada del acceso a varias cuentas y aplicaciones de AWS. Con AWS SSO, puedes permitir que los usuarios inicien sesión en múltiples cuentas y aplicaciones de AWS con una sola serie de credenciales.

3 Infraestructura global de AWS

La infraestructura global de AWS está compuesta por regiones y zonas de disponibilidad, que son fundamentales para garantizar la seguridad, confiabilidad y rendimiento de tus aplicaciones en la nube.

3.1 Regiones de AWS

Las regiones de AWS son áreas geográficas en las que se agrupan múltiples zonas de disponibilidad. Al seleccionar una región, debes tener en cuenta la latencia, las leyes y regulaciones locales, y las necesidades de redundancia y respaldo de tus aplicaciones.

3.2. Zonas de disponibilidad

Las zonas de disponibilidad son centros de datos separados dentro de una región de AWS. Las zonas de disponibilidad están diseñadas para ser redundantes y altamente disponibles, lo que permite a las aplicaciones en AWS funcionar de manera confiable y resistente a fallos.

Al implementar tus recursos en varias zonas de disponibilidad, puedes garantizar una alta disponibilidad y tolerancia a fallos para tus aplicaciones y datos.

4. Prácticas recomendadas de seguridad de AWS

Para garantizar la seguridad de tus recursos en AWS, es importante seguir las prácticas recomendadas de seguridad. Algunas de estas prácticas incluyen:

4.1. Principio de mínimo privilegio

El principio de mínimo privilegio significa otorgar a los usuarios y aplicaciones únicamente los permisos necesarios para realizar sus tareas. Al aplicar este principio, puedes reducir el riesgo de acceso no autorizado y limitar el impacto potencial de un ataque.

4.2. Rotación de credenciales

La rotación de credenciales implica cambiar periódicamente las claves de acceso y contraseñas para ayudar a proteger tus cuentas y recursos en AWS. La rotación de credenciales puede ser un proceso manual o automatizado utilizando herramientas como AWS Secrets Manager.

4.3. Supervisión y registro

La supervisión y registro de actividades en tus cuentas y recursos de AWS es esencial para detectar actividades sospechosas o no autorizadas. Los servicios de AWS como Amazon CloudWatch, AWS CloudTrail y Amazon GuardDuty pueden ayudarte a monitorear y registrar eventos de seguridad.

4.4. Protección de datos

Protege tus datos en AWS mediante técnicas como el cifrado en tránsito y en reposo, así como el control de acceso y la segmentación de la red. Puedes utilizar servicios de AWS como AWS Key Management Service (KMS) y AWS Certificate Manager para administrar tus claves y certificados de cifrado.

5. Modelo de responsabilidad compartida de AWS

El modelo de responsabilidad compartida de AWS establece que la seguridad en la nube es responsabilidad tanto del proveedor (AWS) como del cliente. 

AWS es responsable de la seguridad de la nube, mientras que el cliente es responsable de la seguridad en la nube.

5.1. Responsabilidad de AWS

AWS es responsable de proteger la infraestructura subyacente de la nube, incluidos los centros de datos, la red y el hardware. AWS también se encarga de garantizar la seguridad y el cumplimiento de sus servicios.

5.2. Responsabilidad del cliente

Los clientes son responsables de proteger sus aplicaciones, datos y sistemas operativos dentro de la nube de AWS. Esto incluye la configuración de políticas de acceso, la administración de usuarios, la protección de datos y la aplicación de parches de seguridad.



Aplicación de las habilidades clave del syllabus:

1. Aplicar las prácticas recomendadas de seguridad a los usuarios de IAM y a los usuarios raíz

Comenzaremos aplicando las prácticas recomendadas de seguridad a los usuarios de IAM y a los usuarios raíz. Esto incluye el uso de la autenticación multifactor (MFA).

1.1. Autenticación multifactor (MFA)

La MFA es una capa adicional de protección para tus cuentas de AWS. Asegúrate de que todos los usuarios raíz y de IAM tengan MFA habilitado. Para hacerlo, sigue estos pasos:

  • Inicia sesión en la consola de AWS.
  • Ve a IAM.
  • Selecciona "Usuarios" en el menú de navegación izquierdo.
  • Haz clic en el nombre del usuario.
  • Ve a la pestaña "Seguridad" y selecciona "Administrar MFA".
  • Sigue las instrucciones para habilitar MFA.

2. Diseñar un modelo de autorización flexible

A continuación, diseñaremos un modelo de autorización flexible que incluya usuarios, grupos, roles y políticas de IAM. Esto permitirá que la empresa gestione de manera eficiente y segura el acceso a sus recursos en AWS.

2.1. Usuarios, grupos y políticas de IAM

Crea usuarios de IAM para cada empleado que necesite acceso a AWS. Agrúpalos en función de sus responsabilidades laborales y asigna políticas de IAM a estos grupos en lugar de a usuarios individuales.

Por ejemplo, podrías tener grupos como "Desarrolladores", "Administradores" y "Analistas de datos". A cada grupo, asigna las políticas de IAM correspondientes que les permitan acceder solo a los recursos y servicios necesarios.

2.2. Roles de IAM

Los roles de IAM permiten que los servicios y aplicaciones en AWS asuman permisos sin compartir credenciales permanentes. 

Por ejemplo, si tienes una aplicación que necesita acceder a un bucket de Amazon S3, crea un rol de IAM con los permisos necesarios y asigna ese rol a la instancia de Amazon EC2 en la que se ejecuta la aplicación.

3. Diseñar una estrategia de control de acceso basada en roles

Ahora, implementaremos una estrategia de control de acceso basada en roles. Esto incluye el uso de AWS Security Token Service (AWS STS), cambio de roles y acceso entre cuentas.

3.1. AWS Security Token Service (AWS STS)

AWS STS permite a los usuarios obtener credenciales temporales para acceder a recursos de AWS. Estas credenciales tienen una duración limitada y se pueden revocar en cualquier momento. Utiliza AWS STS para otorgar acceso temporal a los usuarios en función de roles específicos.

3.2. Cambio de roles

Permite a los usuarios cambiar roles en la consola de AWS para asumir permisos adicionales según sea necesario. Esto les permite realizar tareas específicas sin tener que modificar sus políticas de IAM permanentemente.

 

Ejemplo práctico

Imagina que tienes una empresa con tres departamentos: ventas, finanzas y marketing. Cada departamento tiene su propia cuenta de AWS y necesitas asegurar el acceso a los recursos de AWS para cada departamento.

  • Primero, utiliza AWS Organizations para administrar de forma centralizada las cuentas de ventas, finanzas y marketing. Esto te permitirá aplicar Políticas de Control de Servicios (SCP) a nivel de cuenta y asegurar que cada departamento solo tenga acceso a los servicios y acciones necesarios.
  • A continuación, crea grupos de IAM específicos para cada departamento (por ejemplo, GrupoVentas, GrupoFinanzas y GrupoMarketing) y asigna políticas de IAM granulares a cada grupo para limitar el acceso a los recursos y servicios de AWS según las necesidades de cada departamento.
  • Implementa AWS Single Sign-On (AWS SSO) para permitir que los empleados utilicen sus credenciales existentes para acceder a las cuentas y aplicaciones de AWS. Esto simplificará la gestión del acceso y mejorará la experiencia del usuario al eliminar la necesidad de recordar múltiples credenciales.
  • Asegúrate de aplicar la autenticación multifactor (MFA) a los usuarios de IAM y a los usuarios raíz en todas las cuentas para mejorar la seguridad y reducir el riesgo de acceso no autorizado.
  • Diseña una estrategia de control de acceso basada en roles utilizando AWS Security Token Service (AWS STS), cambio de roles y acceso entre cuentas. Esto permitirá a los usuarios de un departamento acceder temporalmente a los recursos de otro departamento si es necesario, sin tener que crear usuarios adicionales en cada cuenta.
  • Por último, revisa y ajusta regularmente las políticas de recursos y de IAM para asegurarte de que se aplican las prácticas recomendadas de seguridad y se mantiene el principio de mínimo privilegio en todas las cuentas y departamentos.

 

Diseñar cargas de trabajo y aplicaciones seguras

1. Configuración de aplicaciones y seguridad de credenciales

1.1. Introducción

La seguridad es un aspecto fundamental en cualquier aplicación, y AWS ofrece un conjunto de herramientas y servicios que nos permiten implementar aplicaciones seguras y proteger nuestros datos. En esta sección, explicaremos cómo configurar aplicaciones y gestionar la seguridad de las credenciales en AWS.

1.2. IAM: Gestión de credenciales

AWS Identity and Access Management (IAM) nos permite gestionar de forma segura el acceso a nuestros servicios y recursos en AWS. Con IAM, podemos crear y gestionar usuarios y grupos de AWS, así como controlar el acceso de estos a nuestros recursos mediante la asignación de políticas.

  • Usuarios: Representan a las personas o servicios que interactúan con nuestros recursos de AWS. Cada usuario tiene credenciales únicas, como nombre de usuario, contraseña y clave de acceso (clave de acceso y clave secreta de acceso).
  • Grupos: Son conjuntos de usuarios de AWS que tienen permisos similares. Los grupos nos permiten administrar de manera eficiente los permisos para múltiples usuarios.
  • Políticas: Son documentos JSON que definen los permisos que se pueden asignar a usuarios, grupos o roles. Las políticas pueden ser administradas (creadas por AWS) o personalizadas (creadas por nosotros).


1.3. Autenticación y autorización

La autenticación es el proceso de verificar la identidad de un usuario o servicio que intenta acceder a nuestros recursos de AWS. La autorización es el proceso de determinar qué acciones puede realizar un usuario o servicio autenticado en nuestros recursos de AWS.

Para autenticar usuarios, utilizamos las credenciales proporcionadas por IAM. Por ejemplo, cuando un usuario intenta acceder a la consola de administración de AWS, debe proporcionar su nombre de usuario y contraseña. Para los servicios, utilizamos claves de acceso y secretos de acceso.

Una vez autenticado, el usuario o servicio debe ser autorizado para realizar acciones específicas. Las políticas de IAM definen los permisos que se les otorgan a los usuarios, grupos o roles. Estos permisos determinan qué acciones están permitidas y sobre qué recursos.

2. Puntos de enlace de servicios de AWS

2.1. Introducción

Los puntos de enlace de servicios de AWS son conexiones privadas entre nuestros recursos de AWS y los servicios de AWS. Estas conexiones nos permiten acceder a los servicios de AWS de forma segura sin exponer nuestros datos al tráfico público de Internet. En esta sección, aprenderemos cómo configurar y utilizar puntos de enlace de servicios en AWS.

2.2. VPC Endpoints

Un VPC Endpoint es un componente de red dentro de nuestra Virtual Private Cloud (VPC) que permite la comunicación privada entre nuestros recursos en la VPC y los servicios de AWS, como Amazon S3 o Amazon DynamoDB. Hay dos tipos de VPC Endpoints:

VPC Endpoints. Estos endpoints proporcionan conectividad privada a los servicios de AWS utilizando Elastic Network Interfaces (ENI) con direcciones IP privadas en nuestras subredes. Los Interface VPC Endpoints son compatibles con servicios basados en AWS PrivateLink.

  • Gateway VPC Endpoints: Estos endpoints permiten el acceso a servicios de AWS que admiten endpoints de gateway, como Amazon S3 y Amazon DynamoDB, utilizando rutas de nuestras tablas de enrutamiento en la VPC. No se necesita una dirección IP pública para acceder a estos servicios.

2.3. Configuración de VPC Endpoints

Para configurar un VPC Endpoint, debemos seguir estos pasos:

  1. Acceder a la consola de administración de AWS y navegar hasta el servicio VPC.
  2. En el panel de navegación izquierdo, hacer clic en "Endpoints".
  3. Hacer clic en "Create Endpoint".
  4. Seleccionar el tipo de endpoint (Interface o Gateway) y el servicio de AWS al que queremos conectarnos.
  5. Seleccionar la VPC y las subredes en las que queremos crear el endpoint.
  6. Configurar las políticas de acceso y las configuraciones de seguridad adicionales.
  7. Hacer clic en "Create Endpoint" para crear el VPC Endpoint.

3. Puertos de control, protocolos y tráfico en la red en AWS x acceso seguro a las aplicaciones

3.1. Grupos de seguridad

Los grupos de seguridad actúan como un firewall virtual para nuestros recursos de AWS, permitiéndonos controlar el tráfico entrante y saliente. Podemos especificar reglas de tráfico basadas en protocolos, puertos y direcciones IP de origen/destino.

  • Reglas entrantes: Controlan el tráfico que llega a nuestros recursos de AWS. Por ejemplo, podemos permitir el acceso a un servidor web en el puerto 80 desde cualquier dirección IP (0.0.0.0/0) o restringirlo a una IP específica.
  • Reglas salientes: Controlan el tráfico que sale de nuestros recursos de AWS. Por ejemplo, podemos permitir que nuestros recursos se comuniquen con otros servicios de AWS o con recursos en Internet.

3.2. Configuración de grupos de seguridad

Para configurar un grupo de seguridad, debemos seguir estos pasos:

  1. Acceder a la consola de administración de AWS y navegar hasta el servicio VPC.
  2. En el panel de navegación izquierdo, hacer clic en "Security Groups".
  3. Hacer clic en "Create security group".
  4. Proporcionar un nombre y una descripción para el grupo de seguridad.
  5. Seleccionar la VPC en la que queremos crear el grupo de seguridad.
  6. Configurar las reglas de tráfico entrantes y salientes según nuestras necesidades.
  7. Hacer clic en "Create security group" para crear el grupo de seguridad.

4. Servicios de seguridad con casos de uso adecuados

4.1. Amazon Cognito

Amazon Cognito es un servicio de AWS que facilita la autenticación, autorización y administración de usuarios en nuestras aplicaciones web y móviles. Cognito ofrece dos componentes principales:

  • User Pools: Son directorios de usuarios que nos permiten administrar y autenticar a nuestros usuarios. Podemos utilizar proveedores de identidad externos como Google, Facebook o servicios SAML 2.0.

Identity Pools: Nos permiten otorgar a VPC Endpoints. Estos endpoints proporcionan conectividad privada a los servicios de AWS utilizando Elastic Network Interfaces (ENI) con direcciones IP privadas en nuestras subredes. Los Interface VPC Endpoints son compatibles con servicios basados en AWS PrivateLink.

  • Gateway VPC Endpoints: Estos endpoints permiten el acceso a servicios de AWS que admiten endpoints de gateway, como Amazon S3 y Amazon DynamoDB, utilizando rutas de nuestras tablas de enrutamiento en la VPC. No se necesita una dirección IP pública para acceder a estos servicios.

2.3. Configuración de VPC Endpoints

Para configurar un VPC Endpoint, debemos seguir estos pasos:

1.       Acceder a la consola de administración de AWS y navegar hasta el servicio VPC.

2.       En el panel de navegación izquierdo, hacer clic en "Endpoints".

3.       Hacer clic en "Create Endpoint".

4.       Seleccionar el tipo de endpoint (Interface o Gateway) y el servicio de AWS al que queremos conectarnos.

5.       Seleccionar la VPC y las subredes en las que queremos crear el endpoint.

6.       Configurar las políticas de acceso y las configuraciones de seguridad adicionales.

7.       Hacer clic en "Create Endpoint" para crear el VPC Endpoint.

3. Puertos de control, protocolos y tráfico en la red en AWS x acceso seguro a las aplicaciones

3.1. Grupos de seguridad

Los grupos de seguridad actúan como un firewall virtual para nuestros recursos de AWS, permitiéndonos controlar el tráfico entrante y saliente. Podemos especificar reglas de tráfico basadas en protocolos, puertos y direcciones IP de origen/destino.

  • Reglas entrantes: Controlan el tráfico que llega a nuestros recursos de AWS. Por ejemplo, podemos permitir el acceso a un servidor web en el puerto 80 desde cualquier dirección IP (0.0.0.0/0) o restringirlo a una IP específica.
  • Reglas salientes: Controlan el tráfico que sale de nuestros recursos de AWS. Por ejemplo, podemos permitir que nuestros recursos se comuniquen con otros servicios de AWS o con recursos en Internet.

3.2. Configuración de grupos de seguridad

Para configurar un grupo de seguridad, debemos seguir estos pasos:

1.       Acceder a la consola de administración de AWS y navegar hasta el servicio VPC.

2.       En el panel de navegación izquierdo, hacer clic en "Security Groups".

3.       Hacer clic en "Create security group".

4.       Proporcionar un nombre y una descripción para el grupo de seguridad.

5.       Seleccionar la VPC en la que queremos crear el grupo de seguridad.

6.       Configurar las reglas de tráfico entrantes y salientes según nuestras necesidades.

7.       Hacer clic en "Create security group" para crear el grupo de seguridad.

4. Servicios de seguridad con casos de uso adecuados

4.1. Amazon Cognito

Amazon Cognito es un servicio de AWS que facilita la autenticación, autorización y administración de usuarios en nuestras aplicaciones web y móviles. Cognito ofrece dos componentes principales:

  • User Pools: Son directorios de usuarios que nos permiten administrar y autenticar a nuestros usuarios. Podemos utilizar proveedores de identidad externos como Google, Facebook o servicios SAML 2.0.
  • Identity Pools: Nos permiten otorgar a nuestros usuarios acceso temporal a los recursos de AWS. Los Identity Pools nos ayudan a autorizar a nuestros usuarios autenticados para acceder a los servicios de AWS como Amazon S3, Amazon DynamoDB y AWS Lambda.

Caso de uso: Si estás desarrollando una aplicación que requiere autenticación de usuarios y acceso seguro a recursos de AWS, Amazon Cognito es la solución ideal.

4.2. Amazon GuardDuty

Amazon GuardDuty es un servicio de detección de amenazas que monitorea continuamente nuestra cuenta de AWS y nuestros recursos en busca de comportamientos sospechosos o no autorizados. GuardDuty utiliza machine learning, análisis de anomalías y listas de inteligencia de amenazas para identificar posibles amenazas, como intentos de exfiltración de datos, intentos de inicio de sesión no autorizados y actividad de comando y control de malware.

Caso de uso: Si necesitas monitorear y proteger tu cuenta de AWS y tus recursos contra posibles amenazas, Amazon GuardDuty es la solución adecuada.

      4.3. Amazon Macie

Amazon Macie es un servicio de seguridad de datos que utiliza machine learning y análisis de patrones para descubrir, clasificar y proteger automáticamente información confidencial en AWS. Macie identifica y clasifica datos sensibles como números de tarjetas de crédito, números de seguro social y direcciones de correo electrónico en nuestros buckets de Amazon S3.

Caso de uso: Si necesitas garantizar la protección de datos confidenciales almacenados en AWS y cumplir con regulaciones y estándares de privacidad de datos, Amazon Macie es la solución ideal.

5. Vectores de amenazas externas a AWS

5.1. Denegación de servicio distribuido (DDoS)

Los ataques de denegación de servicio distribuido (DDoS) son intentos maliciosos de inundar nuestros recursos con tráfico no deseado, lo que provoca la sobrecarga y el agotamiento de recursos, lo que lleva a una degradación o interrupción del servicio. 

Para proteger nuestras aplicaciones y recursos de AWS contra ataques DDoS, podemos utilizar AWS Shield.

AWS Shield es un servicio gestionado que protege nuestras aplicaciones de AWS contra ataques DDoS. Hay dos niveles de AWS Shield:

  • AWS Shield Standard: Protección automática y gratuita contra ataques DDoS comunes para todos los recursos de AWS.
  • AWS Shield Advanced: Protección adicional y personalizada contra ataques DDoS más sofisticados, con acceso a soporte 24/7 y costos de mitigación de ataques cubiertos.

5.2. Inyección SQL

La inyección SQL es un tipo de ataque en el que un atacante inserta o "inyecta" código SQL malicioso en una consulta a nuestra base de datos, lo que puede provocar la exposición, modificación o eliminación no autorizada de datos. Para proteger nuestras aplicaciones de AWS contra inyecciones SQL, podemos utilizar AWS Web Application Firewall (WAF).

AWS WAF es un firewall de aplicaciones web que nos permite crear reglas personalizadas para proteger nuestras aplicaciones de amenazas web comunes, como inyecciones SQL y ataques de scripts entre sitios (XSS). AWS WAF se integra fácilmente con Amazon CloudFront, Application Load Balancer y Amazon API Gateway.

 

Índice Habilidades:

  •  Diseñar arquitecturas de VPC con componentes de seguridad (por ejemplo, grupos de seguridad, tablas de enrutamiento, ACL de red, gateways NAT).
  •  Determinar las estrategias de segmentación de red (por ejemplo, el uso de subredes públicas y subredes privadas).
  •  Integrar a los servicios de AWS para proteger las aplicaciones (por ejemplo, AWS Shield, AWS WAF, AWS SSO, AWS Secrets Manager).
  • Proteger las conexiones de red externas desde la nube de AWS y hacia ella (por ejemplo, VPN, AWS Direct Connect).

 

2. Diseñar arquitecturas de VPC con componentes de seguridad

Una VPC (Virtual Private Cloud) es un entorno de red virtual aislado en AWS. Al diseñar una arquitectura de VPC, es fundamental incluir componentes de seguridad, como grupos de seguridad, tablas de enrutamiento, ACL de red y gateways NAT.

2.1. Grupos de seguridad

Los grupos de seguridad actúan como firewalls virtuales para tus recursos de AWS, permitiéndote controlar el tráfico entrante y saliente. Al diseñar tu VPC, asegúrate de asignar grupos de seguridad apropiados a tus recursos para controlar el acceso.

2.2. Tablas de enrutamiento

Las tablas de enrutamiento determinan cómo se dirige el tráfico entre las subredes y fuera de tu VPC. Es importante diseñar tablas de enrutamiento que permitan el flujo de tráfico necesario mientras bloquean el tráfico no deseado.

2.3. ACL de red

Las ACL de red (listas de control de acceso) son otro nivel de seguridad que puedes aplicar en tus subredes. A diferencia de los grupos de seguridad, las ACL de red operan a nivel de subred y pueden permitir o denegar tráfico específico según las reglas que establezcas.

2.4. Gateways NAT

Un gateway NAT (traducción de direcciones de red) permite a las instancias en subredes privadas acceder a Internet mientras mantienen sus direcciones IP privadas. Esto mejora la seguridad al evitar que las instancias sean alcanzadas directamente desde Internet.

3. Determinar las estrategias de segmentación de red

La segmentación de red es una práctica clave para mejorar la seguridad de tus aplicaciones en AWS. Al separar tus recursos en diferentes subredes, puedes aislar y proteger mejor tus activos críticos.

3.1. Subredes públicas

Las subredes públicas son aquellas en las que las instancias tienen direcciones IP públicas y pueden comunicarse directamente con Internet. Por lo general, colocarás recursos como balanceadores de carga y servidores web en subredes públicas.

 

3.2. Subredes privadas

Las subredes privadas son aquellas en las que las instancias tienen direcciones IP privadas y no pueden comunicarse directamente con Internet. Por lo general, colocarás recursos sensibles, como bases de datos y servidores de aplicaciones, en subredes privadas.

4. Integrar servicios de AWS para proteger las aplicaciones

AWS ofrece una variedad de servicios que puedes integrar para proteger tus aplicaciones, como AWS Shield, AWS WAF, AWS SSO y AWS Secrets Manager.

4.1. AWS Shield

AWS Shield es un servicio gestionado que protege nuestras aplicaciones de AWS contra ataques DDoS. Al integrar AWS Shield en tus aplicaciones, puedes proteger tus recursos contra ataques DDoS comunes y sofisticados.

4.2. AWS WAF

AWS Web Application Firewall (WAF) es un firewall de aplicaciones web que nos permite crear reglas personalizadas para proteger nuestras aplicaciones de amenazas web comunes, como inyecciones SQL y ataques de scripts entre sitios (XSS). Al integrar AWS WAF con tus aplicaciones, puedes mejorar significativamente la seguridad de tus aplicaciones web.

4.3. AWS SSO

AWS Single Sign-On (SSO) es un servicio que facilita la administración centralizada del acceso a varias cuentas y aplicaciones de AWS. Al integrar AWS SSO en tus aplicaciones, puedes simplificar la autenticación y autorización de usuarios, mejorando la seguridad y la experiencia del usuario.

4.4. AWS Secrets Manager

AWS Secrets Manager es un servicio que ayuda a proteger y administrar las credenciales, claves de API y otros secretos utilizados en tus aplicaciones. Al integrar AWS Secrets Manager en tus aplicaciones, puedes proteger tus secretos y garantizar que solo los usuarios y servicios autorizados tengan acceso a ellos.

5. Proteger las conexiones de red externas desde la nube de AWS y hacia ella

Las conexiones de red externas pueden representar riesgos de seguridad si no se gestionan adecuadamente. AWS ofrece soluciones como VPN y AWS Direct Connect para proteger estas conexiones.

5.1. VPN

Una conexión VPN (Virtual Private Network) te permite establecer una conexión segura y cifrada entre tu red local y tu VPC en AWS. Al utilizar VPN, puedes proteger tus datos en tránsito y garantizar la privacidad y la integridad de tus comunicaciones.

5.2. AWS Direct Connect

AWS Direct Connect es un servicio que proporciona una conexión de red dedicada entre tu red local y AWS, lo que te permite eludir los riesgos asociados con el uso de Internet público. Al utilizar AWS Direct Connect, puedes mejorar la seguridad y el rendimiento de tus conexiones de red externas.

 

6. Caso práctico: Protección de una aplicación web en AWS

Imagina que estás desarrollando una aplicación web en AWS que necesita protección contra amenazas comunes y conexiones seguras. Para diseñar y proteger esta aplicación, seguirías los siguientes pasos:

6.1. Diseñar la arquitectura de VPC

Crea una VPC con subredes públicas y privadas. Coloca tus servidores web en las subredes públicas y tus servidores de aplicaciones y bases de datos en las subredes privadas.

6.2. Configurar componentes de seguridad

Configura grupos de seguridad, tablas de enrutamiento, ACL de red y gateways NAT para controlar y proteger el tráfico entre tus recursos y el acceso a Internet.

6.3. Integrar servicios de AWS

Integra AWS Shield para proteger tus servidores web contra ataques DDoS, AWS WAF para proteger tu aplicación web contra inyecciones SQL y ataques XSS, AWS SSO para la autenticación y autorización de usuarios, y AWS Secrets Manager para proteger tus credenciales y secretos.

6.4. Proteger conexiones de red externas

Establece una conexión VPN o utiliza AWS Direct Connect para proteger las comunicaciones entre tu red local y la VPC de AWS, garantizando la seguridad y privacidad de tus datos en tránsito.

 

Caso práctico: Protección de un sistema de comercio electrónico en AWS

Imagina que estás desarrollando una plataforma de comercio electrónico en AWS que requiere protección contra amenazas comunes y conexiones seguras. Para diseñar y proteger esta plataforma, seguirías los siguientes pasos:

1. Diseñar la arquitectura de VPC

Crea una VPC que incluya subredes públicas y privadas. Coloca los servidores web y balanceadores de carga en las subredes públicas, y los servidores de aplicaciones y bases de datos en las subredes privadas.

2. Configurar componentes de seguridad

  • Grupos de seguridad: Crea grupos de seguridad para cada tipo de recurso, permitiendo el tráfico necesario y bloqueando el resto. Por ejemplo, un grupo de seguridad para servidores web permitiría tráfico HTTP/HTTPS desde cualquier dirección IP, mientras que otro grupo de seguridad para servidores de aplicaciones permitiría únicamente el tráfico desde los servidores web.
  • Tablas de enrutamiento: Configura tablas de enrutamiento para dirigir el tráfico correctamente entre las subredes y fuera de la VPC. Asegúrate de que las tablas de enrutamiento de las subredes privadas no permitan el tráfico directo a Internet.
  • ACL de red: Establece ACL de red en cada subred para proporcionar un nivel adicional de seguridad. Por ejemplo, en las subredes privadas, bloquea el tráfico entrante desde direcciones IP desconocidas.
  • Gateways NAT: Implementa gateways NAT en las subredes públicas para permitir que las instancias en las subredes privadas accedan a Internet, manteniendo sus direcciones IP privadas.

3. Integrar servicios de AWS

  • AWS Shield: Activa AWS Shield para proteger tus servidores web y balanceadores de carga contra ataques DDoS.
  • AWS WAF: Implementa AWS Web Application Firewall (WAF) en tus balanceadores de carga para proteger tu aplicación contra inyecciones SQL, ataques XSS y otras amenazas comunes.
  • AWS SSO: Configura AWS Single Sign-On (SSO) para simplificar la autenticación y autorización de usuarios en tu plataforma de comercio electrónico, permitiendo a los empleados acceder a los recursos de AWS de manera segura y eficiente.
  • AWS Secrets Manager: Utiliza AWS Secrets Manager para proteger y administrar las credenciales, claves de API y otros secretos utilizados en tu plataforma, asegurándote de que solo los servicios y usuarios autorizados tengan acceso a ellos.

4. Proteger conexiones de red externas

  • VPN: Establece una conexión VPN entre tu red local y la VPC de AWS para proteger las comunicaciones de back-end, como la actualización de inventario y la sincronización de bases de datos.
  • AWS Direct Connect: Considera utilizar AWS Direct Connect para establecer una conexión de red dedicada entre tu red local y AWS, mejorando la seguridad y el rendimiento de tus conexiones de red externas.

De estas forma habrás diseñado y protegido efectivamente tu plataforma de comercio electrónico en AWS utilizando las habilidades y componentes clave de seguridad mencionados en esta guía. 

Además, habrás implementado una solución sólida y segura que resiste las amenazas comunes y garantiza la protección

En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables.