Administrar eventos del DNS Firewall de Route 53 Resolver con Amazon EventBridge
Amazon EventBridge es un servicio sin servidor que utiliza eventos para conectar los componentes de la aplicación entre sí, lo que facilita la creación de aplicaciones escalables basadas en eventos. La arquitectura basada en eventos es un estilo de creación de sistemas de software de acoplamiento flexible que funcionan juntos emitiendo eventos y respondiendo a ellos. Los eventos representan un cambio en un recurso o entorno.
Como ocurre con muchos servicios de AWS, DNS Firewall genera y envía eventos al bus de eventos predeterminado de EventBridge. (El bus de eventos predeterminado se aprovisiona de manera automática en cada cuenta de AWS). Un bus de eventos es un enrutador que recibe eventos y los envía a cero o más destinos u objetivos. Las reglas que se especifican al bus de eventos evalúan los eventos a medida que llegan. Cada regla comprueba si un evento coincide con el patrón de evento de la regla. Si el evento coincide, el bus de eventos envía el evento a los destinos especificados.
Temas
Eventos de DNS Firewall de Route 53 Resolver
Route 53 Resolver envía automáticamente los eventos de DNS Firewall al bus de eventos predeterminado de EventBridge. Puede crear reglas en el bus de eventos; cada regla incluye un patrón de eventos y uno o más objetivos. Los eventos que coinciden con el patrón de eventos de una regla se envían a los objetivos especificados en función del mejor esfuerzo. Es posible que los eventos se entreguen fuera de servicio.
DNS Firewall genera los siguientes eventos. Para obtener más información, consulte EventBridge en la Guía del usuario de Amazon EventBridge.
Tipo de detalle del evento | Descripción |
---|---|
Cualquier acción de bloqueo realizada en un dominio. |
|
Cualquier acción de alerta realizada en un dominio. |
Envío de eventos del DNS Firewall de Route 53 Resolver con reglas de EventBridge
Para que el bus de eventos predeterminado de EventBridge envíe los eventos de DNS Firewall a un destino, debe crear una regla que contenga un patrón de eventos que coincida con los datos de los eventos de DNS Firewall deseados.
El proceso para crear una regla consta de los siguientes pasos generales:
La creación de un patrón de eventos para la regla que especifica:
Route 53 Resolver es la fuente de los eventos que son evaluados por la regla.
(Opcional): cualquier otro dato del evento con el que se pueda comparar.
Para obtener más información, consulte Creación de patrones de eventos para eventos de DNS Firewall de Route 53 Resolver
(Opcional): creación de un transformador de entrada que personalice los datos del evento antes de que EventBridge pase la información al destino de la regla.
Para obtener más información, consulte Transformación de entrada en la Guía del usuario de EventBridge.
Especificación de los destinos a los que quiere que EventBridge entregue los eventos que coincidan con el patrón de eventos.
Los objetivos pueden ser otros servicios de AWS, aplicaciones de software como servicio (SaaS), destinos de API u otros puntos de conexión personalizados. Para más información, consulte Destinos en la Guía del usuario de EventBridge.
Para obtener instrucciones detalladas sobre cómo crear reglas de bus de eventos, consulte Creación de reglas que reaccionan a eventos en la Guía del usuario de EventBridge.
Creación de patrones de eventos para eventos de DNS Firewall de Route 53 Resolver
Cuando DNS Firewall envía un evento al bus de eventos predeterminado, EventBridge utiliza el patrón de eventos definido para cada regla para determinar si el evento se debe enviar a los destinos de la regla. Un patrón de eventos coincide con los datos de los eventos de DNS Firewall deseados. Cada patrón de eventos es un objeto JSON que contiene:
-
Un atributo
source
que identifica el servicio que envía el evento. En el caso de los eventos de DNS Firewall, la fuente esaws.route53resolver
. -
(Opcional): un atributo
detail-type
que contiene una matriz de los tipos de eventos que deben coincidir. -
(Opcional): un atributo
detail
que contiene cualquier otro dato de evento con el que coincidir.
Por ejemplo, el siguiente patrón de eventos coincide con los eventos de alerta y bloqueo de DNS Firewall:
{ "source": ["aws.route53resolver"], "detail-type": ["DNS Firewall Block", "DNS Firewall Alert"] }
Mientras que el siguiente patrón de eventos coincide con una acción de BLOQUEO:
{ "source": ["aws.route53resolver"], "detail-type": ["DNS Firewall Block"] }
DNS Firewall envía el mismo evento para el mismo dominio solo una vez en un período de 6 horas. Por ejemplo:
La instancia i-123 envió una consulta de DNS a exampledomain.com en el momento T1. DNS Firewall envía una alerta o un evento de bloqueo, ya que es la primera vez que ocurre.
La instancia i-123 envió una consulta de DNS a exampledomain.com en el momento T1+30 minutos. DNS Firewall no envía una alerta ni bloquea un evento, ya que este evento se ha repetido dentro de las últimas 6 horas.
La instancia i-123 envió una consulta de DNS a exampledomain.com en el momento T1+7 horas. En este caso, DNS Firewall envía una alerta o bloquea el evento, ya que ha ocurrido luego del periodo de 6 horas.
Para obtener más información sobre la escritura de los patrones de eventos, consulte Patrones de eventos en la Guía del usuario de EventBridge.
Prueba de patrones de eventos para los eventos de DNS Firewall en EventBridge
Puede usar el entorno aislado de EventBridge para definir y probar de forma rápida un patrón de eventos, sin tener que completar el proceso más amplio de creación o edición de una regla. Con el entorno aislado, puede definir un patrón de eventos y usar un evento de muestra para confirmar que el patrón coincide con los eventos deseados. EventBridge le dará la opción de crear una nueva regla por medio de ese patrón de eventos de manera directa desde el entorno aislado.
Para obtener más información, consulte Prueba de un patrón de eventos con el entorno aislado de EventBridge en la Guía del usuario de EventBridge.
Creación de una regla y un objetivo de EventBridge para DNS Firewall
En el siguiente procedimiento, se muestra cómo crear una regla que permite a EventBridge enviar eventos de todas las acciones de alerta y de bloqueo de DNS Firewall, así como agregar una función de AWS Lambda como destino para dicha regla.
Utilice AWS CLI para crear una regla de EventBridge:
aws events put-rule \ --event-pattern "{\"source\": [\"aws.route53resolver\"],\"detail-type\": [\"DNS Firewall Block\", \"DNS Firewall Alert\"]}" \ --name
dns-firewall-rule
Asocie una función de Lambda como destino para dicha regla:
AWS events put-targets --rule
dns-firewall-rule
--targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:<your_function>
Para agregar los permisos necesarios para invocar el destino, ejecute el siguiente comando de la AWS CLI de Lambda:
AWS lambda add-permission --function-name
<your_function>
--statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com
Permisos de Amazon EventBridge
DNS Firewall no requiere permisos adicionales para entregar eventos a Amazon EventBridge.
Los objetivos que especifique pueden necesitar permisos o configuraciones específicos. Para obtener más información sobre el uso de servicios específicos para los destinos, consulte Destinos de Amazon EventBridge en la Guía del usuario de Amazon EventBridge.
Recursos adicionales de EventBridge
Consulte los siguientes temas en la Guía del usuario de Amazon EventBridge para obtener más información sobre cómo utilizar EventBridge para procesar y administrar eventos.
-
Para obtener información detallada sobre cómo funcionan los buses de eventos, consulte bus de eventos de Amazon EventBridge.
-
Para obtener información sobre la estructura de los eventos, consulte Eventos.
-
Para obtener información sobre cómo crear patrones de eventos para que EventBridge los utilice al comparar eventos con reglas, consulte Patrones de eventos.
-
Para obtener información sobre la creación de reglas para especificar qué eventos procesa EventBridge, consulte Reglas.
-
Para obtener información sobre cómo especificar los servicios u otros destinos a los que EventBridge envía los eventos coincidentes, consulte Destinos.