Cómo usar el registro de reglas de firewall

El Registro de las reglas de firewall te permite auditar, verificar y analizar los efectos de tus reglas de firewall. Por ejemplo, puedes determinar si una regla de firewall diseñada para denegar el tráfico funciona según lo previsto. El registro también resulta útil si necesitas determinar cuántas conexiones se ven afectadas por una regla de firewall determinada.

En esta página se muestra cómo inhabilitar y habilitar el registro, y cómo ver los registros generados. Para obtener más información sobre qué se registra, los ejemplos de registro y los formatos de registro, consulta Descripción general del registro de las reglas de firewall.

Permisos

Para modificar las reglas de firewall o acceder a los registros de Stackdriver, los miembros de IAM deben tener una de las siguientes funciones.

Tarea Función requerida
Crear, borrar o actualizar las reglas de firewall Propietario o editor del proyecto o Administrador de seguridad
Ver los registros de Stackdriver Propietario, editor o lector del proyecto o lector de registros
Consulta la Guía de control de acceso a Stackdriver para obtener detalles acerca de las funciones y los permisos de IAM de Stackdriver.

Cómo inhabilitar y habilitar el registro de las reglas de firewall

Cuando creas una regla de firewall, puedes elegir activar el registro de las reglas de firewall. Consulta cómo crear reglas de firewall para obtener más información.

Si deseas habilitar o inhabilitar el registro de las reglas de firewall para una regla de firewall existente, sigue estas instrucciones.

Cómo habilitar el registro de las reglas de firewall

Console

  1. Ve a la página Reglas de firewall en Google Cloud Platform Console.
    Ir a la página Reglas de firewall
  2. Marca la casilla de verificación junto a las reglas de firewall que deseas actualizar.
  3. Haz clic en Registros > Activados.
  4. Haz clic en Activar.

gcloud

gcloud compute firewall-rules update [NAME] \
    --enable-logging

Cómo inhabilitar el registro de las reglas de firewall

Console

  1. Ve a la página Reglas de firewall en Google Cloud Platform Console.
    Ir a la página Reglas de firewall
  2. Marca la casilla de verificación junto a las reglas de firewall que deseas actualizar.
  3. Haz clic en Desactivar.

gcloud

gcloud compute firewall-rules update [NAME] \
    --no-enable-logging

Cómo ver registros

Los registros de las reglas de firewall se crean en el proyecto que aloja la red que contiene las instancias de VM y las reglas de firewall. Con la VPC compartida, las instancias de VM se crean en los proyectos de servicio, pero usan una red de VPC compartida ubicada en el proyecto host. Los registros de las reglas de firewall se guardan en ese proyecto host.

Usa la Sección de registros de GCP Console para ver los registros de las reglas de firewall.

Los siguientes filtros avanzados de Stackdriver muestran cómo puedes buscar eventos específicos de firewall. En cada filtro, reemplaza [PROJECT_ID] por tu ID del proyecto.

Todos los registros de firewall

resource.type="gce_subnetwork"
logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Ffirewall"

Subredes específicas

resource.type="gce_subnetwork"
logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Ffirewall"
resource.labels.subnetwork_name="[SUBNET_NAME]"

Reemplaza [SUBNET_NAME] por el nombre de la subred específica.

VM específicas

resource.type="gce_subnetwork"
logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Ffirewall"
jsonPayload.instance.vm_name="[INSTANCE_NAME]"

Reemplaza [INSTANCE_NAME] por el nombre de la instancia de VM específica.

Conexiones desde un país específico

resource.type="gce_subnetwork"
logName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Ffirewall"
jsonPayload.remote_location.country=[COUNTRY]

en el que [COUNTRY] es el código ISO 3166-1 Alfa-3.

Cómo exportar registros

Para exportar los registros de las reglas de firewall, sigue estas instrucciones de Stackdriver: cómo exportar con el visor de registros.

Puedes usar los filtros avanzados de ejemplo para limitar los registros que exportas.

Tabla de interacciones

  • En el caso de la comunicación de VM a VM, ambas VM pueden generar registros, según sus respectivas reglas de firewall.
  • La conexión registrada incluye paquetes que circulan en ambos sentidos si el firewall permitió el paquete inicial.
  • Para una VM determinada, las conexiones entrantes se comparan con las reglas de firewall configuradas en esas VM, y las conexiones salientes se comparan con la regla de firewall de salida configurada en esa VM.
  • Una conexión permitida que coincide con una regla de firewall con la indicación "permitir y registrar" se registra solo una vez. La entrada de registro no se repite cada 5 segundos, incluso si la conexión perdura.
  • Una conexión denegada que coincide con una regla de firewall con la indicación "denegada y registrar" repite la entrada de registro cada 5 segundos mientras haya paquetes observados en esa conexión denegada.

En esta tabla se muestra el comportamiento del registro de firewall desde el punto de vista de una VM única.

Si una VM1 tiene una regla de entrada R1 que coincide con los paquetes y una regla de salida R2 que también coincide con los paquetes, el comportamiento del registro de firewall es el siguiente:

La VM1 tiene una regla de entrada R1 (coincide con los paquetes) La VM1 tiene una regla de salida R2 (coincide con los paquetes) Dirección de conexión Acción Registro
Permitir + registrar Permitir Entrada Permitir Una entrada de registro:
disposición = permitir, regla = R1
Denegar
Permitir + registrar
Denegar + registrar
Permitir Permitir Entrada Permitir Sin registro
Denegar
Permitir + registrar
Denegar + registrar
Denegar + registrar N/A Entrada Denegar Una entrada de registro cada 5 segundos:
disposición = denegar, regla = R1
Denegar N/A Entrada Denegar Sin registro
Permitir Permitir + registrar Salida Permitir Una entrada de registro:
disposición = permitir, regla = R2
Denegar
Permitir + registrar
Denegar + registrar
Permitir Permitir Salida Permitir Sin registro
Denegar
Permitir + registrar
Denegar + registrar
N/A Denegar + registrar Salida Denegar Una entrada de registro cada 5 segundos:
disposición = denegar, regla = R2
N/A Denegar Salida Denegar Sin registro

Ten en cuenta que la entrada y salida son simétricas.

Esta es la descripción detallada de la semántica de los registros de firewall:

  • Permitir + registrar (el registro solo es compatible con TCP y UDP)

    • La conexión iniciada en la dirección en la que se aplica la regla crea un registro único.
    • Se permite el tráfico de respuesta debido al seguimiento de la conexión. El tráfico de respuesta no genera ningún registro, independientemente de las reglas de firewall en esa dirección.
    • Si la conexión expira desde el firewall (inactiva durante 10 minutos o RST de TCP recibido), es posible que otro paquete en cualquier dirección active el registro.
    • El registro se basa en 5 tuplas. Los marcadores de TCP no influyen en el comportamiento del registro.
  • Denegar + registrar (el registro solo es compatible con TCP y UDP)

    • Los paquetes se descartan (no se inicia ninguna conexión).
    • Cada paquete que corresponde a una tupla única de 5 se registra como un intento de conexión con errores.
    • La misma tupla de 5 se vuelve a registrar cada 5 segundos si continúa recibiendo paquetes.

Solución de problemas

No es posible ver los registros

Si no puedes ver los registros de las reglas de firewall en la sección Registros de GCP Console, verifica los siguientes puntos:

Causa posible: permisos insuficientes

Consulta al propietario del proyecto a fin de asegurarte de que tu miembro de IAM tenga al menos la función de Lector de registros para el proyecto. Consulta los permisos para obtener más información.
Causa posible: los registros de subred se pueden excluir de Stackdriver
En GCP Console, ve a Registro > Transferencia de registros y verifica que la subred de GCE no esté excluida o, si está excluida parcialmente, que el filtro de exclusión no se aplique a los registros de firewall.
Causa posible: no se admiten redes heredadas
No puedes usar el registro de las reglas de firewall en una red heredada. Solo se admiten las redes de VPC.
Causa posible: asegúrate de buscar en el proyecto correcto
Debido a que los registros de las reglas de firewall se guardan con el proyecto que contiene la red, es importante asegurarse de buscar los registros en el proyecto correcto. Con la VPC compartida, las instancias de VM se crean en los proyectos de servicio, pero usan una red de VPC compartida ubicada en el proyecto host. Para los casos de VPC compartida, los registros de las reglas de firewall se guardan en ese proyecto host.

Si usas una VPC compartida, necesitarás tener los permisos adecuados de acceso al proyecto host para ver los registros de las reglas de firewall. Si bien las instancias de VM se encuentran ubicadas en los proyectos de servicio, los registros de las reglas de firewall de estas instancias se encuentran en el proyecto host.

Entradas de registro faltantes

Causa posible: Puede que las conexiones no coincidan con la regla de firewall que esperas.

Verifica que la regla de firewall que esperas se encuentre en la lista de reglas de firewall aplicables para una instancia. Usa GCP Console para ver los detalles de la instancia pertinente y, luego, haz clic en el botón Ver detalles en la sección Interfaces de red de la página Detalles de instancias de VM. Inspecciona las reglas de firewall aplicables en la sección Detalles de las rutas y reglas de firewall de la página Detalles de la interfaz de red.

Revisa la descripción general de las reglas de firewall para asegurarte de haber creado las reglas de firewall correctamente.

Puedes usar tcpdump en la VM para determinar si las conexiones que envía o recibe tienen direcciones, puertos y protocolos que coinciden con el firewall que esperas.

Causa posible: Puede que se aplique una regla de mayor prioridad con el registro de las reglas de firewall inhabilitado.

Las reglas de firewall se evalúan en función de sus prioridades. Desde el punto de vista de una instancia de VM, solo una regla de firewall se aplica al tráfico.

Puede que una regla que consideras la regla aplicable de mayor prioridad en realidad no lo sea. En su lugar, se puede aplicar una regla de mayor prioridad que no tenga el registro habilitado.

Para solucionar los problemas, puedes habilitar temporalmente el registro de todas las posibles reglas de firewall aplicables en una VM. Usa GCP Console para ver los detalles de la VM pertinente y, luego, haz clic en el botón Ver detalles en la sección Interfaces de red de la página Detalles de instancias de VM. Inspecciona las reglas de firewall aplicables en la sección Detalles de las rutas y reglas de firewall de la página Detalles de la interfaz de red y, luego, identifica tus reglas personalizadas en esa lista. Habilita temporalmente el registro de todas estas reglas de firewall personalizadas.

Con el registro habilitado, puedes identificar la regla aplicable. Una vez identificada, asegúrate de inhabilitar el registro de todas las reglas que realmente no lo necesiten.

Metadatos faltantes para algunas entradas de registro

Causa posible: Retraso en la propagación de la configuración

Si actualizas una regla de firewall que tiene el registro de firewall habilitado, puede que transcurran unos minutos antes de que GCP finalice la propagación de los cambios necesarios para registrar el tráfico que coincida con los componentes actualizados de la regla.

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión: