Crea y administra perfiles de seguridad de filtrado de URL

En esta página, se explica cómo crear y administrar perfiles de seguridad de tipo url-filtering con la consola de Google Cloud y Google Cloud CLI.

Antes de comenzar

Funciones

Para obtener los permisos que necesitas a fin de crear, ver, actualizar o borrar perfiles de seguridad, pídele a tu administrador que te otorgue los roles de IAM necesarios en la organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Crea un perfil de seguridad de filtrado de URLs

Cuando creas un perfil de seguridad de filtrado de URLs (perfil de seguridad del tipo url-filtering), puedes especificar su nombre como una cadena o un identificador de URL único. La URL única para un perfil de seguridad con alcance de organización se puede construir en el siguiente formato:

organization/ORGANIZATION_ID/locations/LOCATION/securityProfiles/SECURITY_PROFILE_NAME

Si usas un identificador de URL único para el nombre del perfil de seguridad, la organización y la ubicación del perfil de seguridad ya están incluidas en el identificador de URL. Sin embargo, si usas solo el nombre del perfil de seguridad, debes especificar la organización y la ubicación por separado. Para obtener más información sobre los identificadores de URL únicos, consulta las especificaciones del perfil de seguridad.

Console

  1. En la consola de Google Cloud , ve a la página Perfiles de seguridad.

    Ir a Perfiles de seguridad

  2. En el menú de selección de proyectos, selecciona tu organización.

  3. Selecciona la pestaña Perfiles de seguridad.

  4. Haga clic en Crear perfil.

  5. Escribe un nombre en el campo Nombre.

  6. Opcional: Ingresa una descripción en el campo Descripción.

  7. Para crear un perfil de seguridad de Cloud Next Generation Firewall Enterprise, en la sección Propósito, selecciona Cloud NGFW Enterprise.

  8. Para crear un perfil de seguridad de filtrado de URLs, en la sección Tipo, selecciona Filtrado de URLs.

  9. En la sección Filtros de URL, haz clic en el botón Crear filtro de URL.

  10. En el panel Crear un filtro de URL, especifica los siguientes detalles:

    • Prioridad: Especifica la prioridad del filtro de URL.
    • Acción: Especifica la acción que Cloud NGFW realiza en el tráfico.
      • Permitir: Permite las conexiones que coinciden con una URL.
      • Rechazar: Rechaza las conexiones que coinciden con una URL.
    • Lista de URLs: Especifica una lista de URLs o cadenas de comparador. Cada entrada de URL o cadena de coincidencia debe aparecer en su propia línea, sin espacios ni delimitadores. Cada entrada puede consistir en un dominio solamente. Para obtener más información sobre las cadenas de coincidencia, consulta Cadenas de coincidencia para URLs.
  11. Haz clic en Crear.

gcloud

  1. Crea un archivo YAML con el siguiente contenido:

    name: NAME
    type: PROFILE_TYPE
    urlFilteringProfile:
    urlFilters:
      - filteringAction: ACTION
        priority: PRIORITY
        urls: URL[,URL,...]
    

    Reemplaza lo siguiente:

    • NAME: Es el nombre del perfil de seguridad de filtrado de URLs. Puedes especificar el nombre como una cadena o como un identificador de URL único.

    • PROFILE_TYPE: Es el tipo de perfil de seguridad, que puede ser url-filtering o threat-prevention.

    • ACTION: Especifica una de las siguientes acciones:

      • allow: Permite las conexiones que coinciden con una URL.
      • deny: Rechaza las conexiones que coinciden con una URL.
    • PRIORITY: Es la prioridad de un filtro de URL, que va de 0 a 2147483647.

    • URLs: Es una lista de cadenas de coincidencia separadas por comas. Por ejemplo, www.example.com y www.altostrat.com.

  2. Para crear el perfil de seguridad de filtrado de URL, ejecuta el comando gcloud beta network-security security-profiles import:

    gcloud beta network-security security-profiles import NAME \
        --location LOCATION \
        --source FILE_NAME \
        --organization = ORGANIZATION_ID
    

    Como alternativa, puedes crear un perfil de seguridad de filtrado de URL sin un archivo YAML con el comando gcloud beta network-security security-profiles url-filtering create:

    gcloud beta network-security security-profiles url-filtering create NAME \
        --location LOCATION \
        --organization ORGANIZATION_ID \
        --description DESCRIPTION
    

    Reemplaza lo siguiente:

    • NAME: Es el nombre del perfil de seguridad de filtrado de URLs. Puedes especificar el nombre como una cadena o como un identificador de URL único.

      Si usas un identificador de URL único para la marca NAME, puedes omitir las marcas LOCATION y ORGANIZATION.

    • LOCATION: Es la ubicación del perfil de seguridad de filtrado de URL.

      La ubicación siempre está configurada como global. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca LOCATION.

    • FILE_NAME: Es el nombre del archivo YAML. Por ejemplo, url-filtering-sp.yaml

    • ORGANIZATION_ID: Es la organización en la que se crea el perfil de seguridad de filtrado de URL. Si usas un identificador de URL único para la marca name, puedes omitir la marca ORGANIZATION_ID.

    • DESCRIPTION: Es una descripción opcional para el perfil de seguridad de filtrado de URLs.

    Por ejemplo, el siguiente fragmento de código muestra un ejemplo de un perfil de seguridad de filtrado de URLs que permite solicitudes a www.example.com y www.altostrat.com, pero rechaza solicitudes a todos los demás dominios:

    url_filtering_profile:
    url_filters:
      - filtering_action: ALLOW
        priority: 1000
        urls: ['www.example.com', 'www.altostrat.com']
      # the following URL filter is implicit and will be processed last
      - filtering_action: DENY
        priority: 2147483647
        urls: ['*']
    

Filtro de URL de rechazo implícito

El perfil de seguridad de filtrado de URLs siempre incluye un filtro de URL predeterminado con la prioridad más baja (2147483647) que rechaza todas las conexiones que no coinciden con los filtros de URL de mayor prioridad. En el siguiente fragmento de código, se muestra un ejemplo del filtro de URLs de rechazo implícito:

  url_filtering_profile:
  url_filters:
    # user-specified URL filters
    - filtering_action: DENY
      priority: 1000
      urls: ['www.example.com','www.altostrat.com']
    - filtering_action: ALLOW
      priority: 2000
      urls: ['www.example.org','www.example.net']
    # implicit deny URL filter that will be processed last
    - filtering_action: DENY
      priority: 2147483647
      urls: ['*']
  

Puedes ver el filtro de URL de denegación implícita cuando ves o exportas un perfil de seguridad de filtro de URL. No puedes modificar ni quitar el filtro implícito. Por ejemplo, si deseas cambiar la acción predeterminada de un perfil de DENY (aplicada por un filtro implícito) a ALLOW, debes agregar un filtro explícito que Cloud NGFW procese antes del filtro implícito.

  url_filtering_profile:
  url_filters:
    # user-specified filters
    - filtering_action: DENY
      priority: 1000
      urls: ['www.example.com','www.altostrat.com']
    # explicit allow URL filter that you can add
    - filtering_action: ALLOW
      priority: 2000
      urls: ['*']
    # implicit deny URL filter that will be processed last
    - filtering_action: DENY
      priority: 2147483647
      urls: ['*']
  

Cadenas de coincidencia para URLs

Las cadenas de coincidencia son los valores que especificas en el campo urls de un filtro de URL. Puedes especificar una o más cadenas de comparador dentro de un filtro de URL.

Comodines

Cada cadena de comparador en una lista de URLs admite un carácter comodín (*) de forma limitada.

  • Cada cadena de comparador solo puede admitir un asterisco (*) de modo que el asterisco sea el primer o el único carácter.
  • El asterisco (*) puede tener las siguientes interpretaciones:

    • Un asterisco (*) antes de un punto (.) indica todos los subdominios del dominio.

      Por ejemplo, la cadena de comparador *.example.com coincide con a.example.com y a.b.c.example.com, pero no con example.com.

      url_filtering_profile:
      url_filters:
        # user-specified filters
        - filtering_action: ALLOW
          priority: 1000
          urls: ['*.example.com']
        # implicit deny URL filter that will be processed last
        - filtering_action: DENY
          priority: 2147483647
          urls: ['*']
      

      En el ejemplo anterior, Cloud NGFW permite el tráfico hacia los subdominios de example.com, pero rechaza el resto del tráfico saliente.

    • Un asterisco (*) antes de una etiqueta indica el dominio y todos los subdominios.

      Por ejemplo, la cadena del comparador *example.com coincide con a.example.com, a.b.c.example.com y example.com.

      url_filtering_profile:
      url_filters:
        # user-specified filters
        - filtering_action: ALLOW
          priority: 1000
          urls: ['*example.com']
        # implicit deny URL filter that will be processed last
        - filtering_action: DENY
          priority: 2147483647
          urls: ['*']
      

      En el ejemplo anterior, Cloud NGFW permite el tráfico hacia example.com y los subdominios de example.com, pero deniega el resto del tráfico saliente.

    • Cloud NGFW no interpreta el asterisco (*) como un comodín de expresión regular.

      Por ejemplo, *example.test no coincide con newexample.test ni a.newexample.test. Solo coincide con example.test y los subdominios de example.test.

    • Un asterisco (*) sin otros caracteres indica una coincidencia para todas las solicitudes.

      Por ejemplo, la cadena de comparador en el filtro de URL de permiso explícito de menor prioridad contiene solo un asterisco (*) y tiene una acción ALLOW que anula la acción predeterminada de DENY. Esto sucede porque el filtro de URL de denegación implícita aplica el DENY predeterminado para cualquier solicitud que no coincida con los filtros de URL de mayor prioridad.

      El filtro de URL de mayor prioridad, que es un ALLOW explícito o un DENY implícito, determina si Cloud NGFW permite o rechaza las conexiones cuando no tiene información de SNI o de dominio. Esto puede ocurrir con el tráfico HTTP sin encriptar o cuando la inspección de TLS está inhabilitada para los encabezados de mensajes encriptados.

      url_filtering_profile:
      url_filters:
        # user-specified filters
        - filtering_action: DENY
          priority: 1000
          urls: ['www.example.com','www.altostrat.com']
        # explicit allow URL filter that you can add
        - filtering_action: ALLOW
          priority: 2000
          urls: ['*']
        # implicit deny URL filter that will be processed last
        - filtering_action: DENY
          priority: 2147483647
          urls: ['*']
      

Limitaciones

  • Las cadenas de coincidencia representan dominios o subdominios.
  • Las cadenas de comparador no admiten el carácter de barra diagonal (/). Por ejemplo: www.example.com/images.
  • Las cadenas de comparador no admiten esquemas ni nombres de protocolos. Por ejemplo: http://www.example.com.
  • Las cadenas de comparador no admiten números de puerto. Por ejemplo: www.example.com:80.
  • Las cadenas de comparador solo admiten letras, números y caracteres especiales ASCII: guion (-), punto (.) y asterisco (*).

Debes usar Punycode para convertir los nombres de dominio que contengan caracteres distintos de letras, números, guiones (-), puntos (.) o asteriscos (*) ASCII. Punycode es un estándar de codificación que transforma los nombres de dominio Unicode en un formato compatible con ASCII.

  • Si tienes dos o más etiquetas, usa puntos (.) para separarlas. Una etiqueta puede contener uno o más guiones (-); sin embargo, no debe comenzar ni terminar con un guion. Cada etiqueta puede incluir un máximo de 63 caracteres.

  • Un filtro de URL no admite el uso de un punto al comienzo de un nombre de dominio ni puntos consecutivos dentro de una cadena de comparador. Un filtro de URL permite puntos finales, pero Cloud NGFW los quita antes de guardar un filtro de URL.

  • Cloud NGFW convierte las cadenas de comparador a minúsculas antes de guardar el filtro de URL. Cloud NGFW no realiza ninguna otra normalización.

  • Cada nombre de dominio puede incluir un máximo de 255 caracteres.

Cómo ver un perfil de seguridad de filtrado de URLs

Puedes ver los detalles de un perfil de seguridad de filtrado de URL específico en una organización.

Console

  1. En la consola de Google Cloud , ve a la página Perfiles de seguridad.

    Ir a Perfiles de seguridad

  2. Selecciona la pestaña Perfiles de seguridad. En la pestaña, se muestra una lista de los perfiles de seguridad configurados.

  3. Haz clic en un perfil de seguridad de tipo URL filtering para ver los detalles del perfil.

gcloud

Para ver los detalles de un perfil de seguridad de filtrado de URLs, usa el comando gcloud beta network-security security-profiles url-filtering describe:

gcloud beta network-security security-profiles url-filtering describe NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \

Reemplaza lo siguiente:

  • NAME: Es el nombre del perfil de seguridad de tipo url-filtering que deseas describir. Puedes especificar el nombre como una cadena o como un identificador de URL único.

  • ORGANIZATION_ID: Es la organización en la que se crea el perfil de seguridad de filtrado de URL. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca ORGANIZATION_ID.

  • LOCATION: Es la ubicación del perfil de seguridad del filtrado de URLs. La ubicación siempre está configurada como global. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca LOCATION.

Enumera los perfiles de seguridad de filtrado de URLs

Puedes enumerar todos los perfiles de seguridad de filtrado de URLs en una organización.

Console

  1. En la consola de Google Cloud , ve a la página Perfiles de seguridad.

    Ir a Perfiles de seguridad

  2. Selecciona la pestaña Perfiles de seguridad. En la pestaña, se muestra una lista de los perfiles de seguridad configurados.

gcloud

Para enumerar todos los perfiles de seguridad de filtrado de URL, usa el comando gcloud beta network-security security-profiles url-filtering list:

gcloud beta network-security security-profiles url-filtering list \
    --organization ORGANIZATION_ID \
    --location LOCATION

Reemplaza lo siguiente:

  • ORGANIZATION_ID: Es la organización en la que se crean los perfiles de seguridad de filtrado de URL.

  • LOCATION: Es la ubicación de los perfiles de seguridad de filtrado de URL. La ubicación siempre está configurada como global.

Borra un perfil de seguridad de filtrado de URLs

Puedes borrar un perfil de seguridad de filtrado de URL si especificas su nombre, ubicación y organización. Sin embargo, si un grupo de perfiles de seguridad hace referencia a un perfil de seguridad, ese perfil no se puede borrar.

Console

  1. En la consola de Google Cloud , ve a la página Perfiles de seguridad.

    Ir a Perfiles de seguridad

  2. Selecciona la pestaña Perfiles de seguridad. En la pestaña, se muestra una lista de los perfiles de seguridad configurados.

  3. Selecciona el perfil de seguridad que deseas borrar y, luego, haz clic en Borrar.

  4. Haga clic en Borrar nuevamente para confirmar.

gcloud

Para borrar un perfil de seguridad de filtrado de URL, usa el comando gcloud beta network-security security-profiles url-filtering delete:

gcloud beta network-security security-profiles url-filtering delete NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION

Reemplaza lo siguiente:

  • NAME: Es el nombre del perfil de seguridad de filtrado de URLs que deseas borrar. Puedes especificar el nombre como una cadena o como un identificador de URL único.

  • ORGANIZATION_ID: Es la organización en la que se crea el perfil de seguridad de filtrado de URL. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca ORGANIZATION_ID.

  • LOCATION: Es la ubicación del perfil de seguridad de filtrado de URL.

    La ubicación siempre está configurada como global. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca LOCATION.

Cómo importar un perfil de seguridad de filtrado de URLs

Puedes importar un perfil de seguridad de filtrado de URLs (creado de forma personalizada o exportado anteriormente) desde un archivo YAML. Cuando se importa un perfil de seguridad de filtrado de URLs, si ya existe un perfil con el mismo nombre, Cloud NGFW actualiza el perfil existente.

gcloud

Para importar un perfil de seguridad de filtrado de URLs desde un archivo YAML, usa el comando gcloud beta network-security security-profiles import:

gcloud beta network-security security-profiles import NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \
    --source FILE_NAME

Reemplaza lo siguiente:

  • NAME: Es el nombre del perfil de seguridad de tipo url-filtering que deseas importar. Puedes especificar el nombre como una cadena o como un identificador de URL único.

    Si usas un identificador de URL único para la marca NAME, puedes omitir las marcas ORGANIZATION_ID y LOCATION.

  • ORGANIZATION_ID: Es la organización en la que se crea el perfil de seguridad de filtrado de URL. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca ORGANIZATION_ID.

  • LOCATION: Es la ubicación del perfil de seguridad del filtrado de URLs. La ubicación siempre está configurada como global. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca LOCATION.

  • FILE_NAME: Es la ruta de acceso al archivo YAML que contiene los datos de exportación de la configuración del perfil de seguridad de filtrado de URLs. Por ejemplo,url-filtering-sp.yaml.

    El archivo YAML no debe contener ningún campo solo de salida. Como alternativa, puedes omitir la marca source para leer desde la entrada estándar.

Cómo exportar un perfil de seguridad de filtrado de URLs

Puedes exportar un perfil de seguridad de filtrado de URL a un archivo YAML. Por ejemplo, en lugar de usar la interfaz de usuario para modificar un perfil de seguridad grande, puedes usar esta función para exportar el perfil de seguridad, modificarlo rápidamente y volver a importarlo.

gcloud

Para exportar un perfil de seguridad de filtrado de URLs a un archivo YAML, usa el comando gcloud beta network-security security-profiles export:

gcloud beta network-security security-profiles export NAME \
    --organization ORGANIZATION_ID \
    --location LOCATION \
    --destination FILE_NAME

Reemplaza lo siguiente:

  • NAME: Es el nombre del perfil de seguridad de tipo url-filtering que deseas exportar. Puedes especificar el nombre como una cadena o como un identificador de URL único.

    Si usas un identificador de URL único para la marca NAME, puedes omitir las marcas ORGANIZATION_ID y LOCATION.

  • ORGANIZATION_ID: Es la organización en la que se crea el perfil de seguridad de filtrado de URL. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca ORGANIZATION_ID.

  • LOCATION: Es la ubicación del perfil de seguridad del filtrado de URLs. La ubicación siempre está configurada como global. Si usas un identificador de URL único para la marca NAME, puedes omitir la marca LOCATION.

  • FILE_NAME: Es la ruta de acceso al archivo YAML en el que Cloud NGFW exportará la configuración del perfil de seguridad de filtrado de URL. Por ejemplo, url-filtering-sp.yaml.

    Los datos de configuración exportados no contienen ningún campo de solo salida. Como alternativa, puedes omitir la marca destination para escribir en la salida estándar.

¿Qué sigue?