Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Utilice Network Firewall para capturar los nombres de dominio DNS de la indicación del nombre del servidor (SNI) para el tráfico saliente
Creado por Kirankumar Chandrashekar (AWS)
Entorno: PoC o piloto | Tecnologías: seguridad, identidad y conformidad; redes; aplicaciones web y móviles | Carga de trabajo: todas las demás cargas de trabajo |
Servicios de AWS: AWS Lambda; AWS Network Firewall; Amazon VPC; Amazon Logs CloudWatch |
Resumen
Este patrón le muestra cómo utilizar el Network Firewall de Amazon Web Services (AWS) para recopilar los nombres de dominio DNS que proporciona la indicación del nombre del servidor (SNI) en el encabezado HTTPS del tráfico de red saliente. Network Firewall es un servicio gestionado que facilita la implementación de protecciones de red críticas para Amazon Virtual Private Cloud (Amazon VPC), incluida la capacidad de proteger el tráfico saliente con un firewall que bloquea los paquetes que no cumplen determinados requisitos de seguridad. Proteger el tráfico saliente dirigido a nombres de dominio DNS específicos se denomina filtrado de salida, que consiste en monitorear y, potencialmente, restringir el flujo de información saliente de una red a otra.
Tras capturar los datos del SNI que pasan por Network Firewall, puede utilizar Amazon CloudWatch Logs y AWS Lambda para publicar los datos en un tema del Amazon Simple Notification Service (Amazon SNS) que genere notificaciones por correo electrónico. Las notificaciones por correo electrónico incluyen el nombre del servidor y otra información relevante sobre el SNI. Además, puede utilizar el resultado de este patrón para permitir o restringir el tráfico saliente por nombre de dominio en el SNI mediante reglas de firewall. Para obtener más información, consulte Trabajo con grupos de reglas con estado en AWS Network Firewall en la documentación de Network Firewall.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
Interfaz de la línea de comandos de AWS (AWS CLI) versión 2, instalada y configurada en Linux, macOS o Windows
Network Firewall, instalado y configurado en Amazon VPC y utilizado para inspeccionar el tráfico saliente
Nota: Network Firewall puede usar cualquiera de las siguientes configuraciones de VPC:
Arquitectura
El siguiente diagrama muestra cómo usar Network Firewall para recopilar datos de SNI del tráfico de red saliente y, a continuación, publicar esos datos en un tema de SNS mediante Logs CloudWatch y Lambda.
![Flujo de trabajo entre Network Firewall, CloudWatch Logs, Lambda y Amazon SNS.](images/pattern-img/9eb1e9e3-f459-4ea3-8e6d-60fec6b7ea98/images/1094b5f6-33e3-42bc-8fb8-7409b5b826b0.png)
En el diagrama, se muestra el siguiente flujo de trabajo:
Network Firewall recopila los nombres de dominio de los datos del SNI del encabezado HTTPS del tráfico de red saliente.
CloudWatch Logs supervisa los datos del SNI e invoca una función Lambda cada vez que el tráfico de red saliente pasa a través de Network Firewall.
La función Lambda lee los datos del SNI capturados por los CloudWatch registros y, a continuación, los publica en un tema de SNS.
El tema de SNS le envía una notificación por correo electrónico que incluye los datos del SNI.
Automatizar y escalar
Puede usar AWS CloudFormation para crear este patrón mediante el uso de la infraestructura como código.
Pila de tecnología
Amazon CloudWatch Logs
Amazon SNS
Amazon VPC
AWS Lambda
AWS Network Firewall
Herramientas
Servicios de AWS
Amazon CloudWatch Logs: puede usar Amazon CloudWatch Logs para monitorear, almacenar y acceder a sus archivos de registro desde instancias de Amazon Elastic Compute Cloud (Amazon EC2), CloudTrail AWS, Amazon Route 53 y otras fuentes.
Amazon SNS: Amazon Simple Notification Service (Amazon SNS) es un servicio administrado con el que se ofrece la entrega de mensajes de los publicadores a los suscriptores (también conocido como productores y consumidores).
Amazon VPC: Amazon Virtual Private Cloud (Amazon VPC) le permite aprovisionar una sección aislada de forma lógica de la nube de AWS donde puede lanzar recursos de AWS en una red virtual que haya definido. Dicha red virtual es prácticamente idéntica a las redes tradicionales que se utilizan en sus propios centros de datos, con los beneficios que supone utilizar la infraestructura escalable de AWS.
AWS Lambda: AWS Lambda es un servicio de computación que permite ejecutar código sin aprovisionar ni administrar servidores.
AWS Network Firewall: AWS Network Firewall es un servicio administrado que facilita la implementación de las protecciones de red esenciales para todas sus VPC de Amazon.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un grupo de CloudWatch registros. |
Para obtener más información, consulte Trabajar con grupos de registros y flujos de registros en la CloudWatch documentación. | Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un tema de SNS. | Para crear un tema de SNS, siga las instrucciones de la documentación de Amazon SNS. | Administrador de la nube |
Suscriba un punto de conexión a un tema SNS. | Para suscribir una dirección de correo electrónico como punto de conexión al tema de SNS que ha creado, siga las instrucciones de la documentación de Amazon SNS. En Protocolo, elija Email/Email-JSON. Nota: También puede elegir un punto de conexión diferente en función de sus requisitos. | Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Habilite el registro de firewall. |
Para obtener más información sobre el uso de CloudWatch Logs como destino de registro para Network Firewall, consulte Amazon CloudWatch Logs en la documentación de Network Firewall. | Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crear un grupo de reglas con estado. |
| Administrador de la nube |
Asocie la regla con estado a Network Firewall. |
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crear el código para la función de Lambda. | En un entorno de desarrollo integrado (IDE) que pueda leer el evento CloudWatch Logs de Network Firewall para el tráfico saliente, pegue el siguiente código de Python 3 y
Este ejemplo de código analiza el contenido de CloudWatch los registros y captura el nombre del servidor proporcionado por el SNI en el encabezado HTTPS. | Desarrollador de aplicaciones |
Crear la función de Lambda. | Para crear la función de Lambda, siga las instrucciones de la documentación de Lambda y elija Python 3.9 para el Tiempo de ejecución. | Administrador de la nube |
Añada el código a la función de Lambda. | Para añadir el código Python a la función de Lambda que creó anteriormente, siga las instrucciones de la documentación de Lambda. | Administrador de la nube |
Agregue CloudWatch registros como activador a la función Lambda. |
Para obtener más información, consulte Uso de Lambda con CloudWatch registros en la documentación de Lambda. | Administrador de la nube |
Agregue permisos de publicación de SNS. | Agregue el permiso sns:Publish a la función de ejecución de Lambda para que Lambda pueda realizar llamadas a la API para publicar mensajes en SNS.
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Envíe tráfico a través de Network Firewall. |
A continuación, consulte el registro de alertas de Network Firewall en Amazon CloudWatch siguiendo las instrucciones de la CloudWatch documentación de Amazon. El registro de alerta muestra el siguiente resultado:
| Ingeniero de pruebas |