Crear y gestionar perfiles de seguridad de filtrado de URLs

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

Antes de empezar

Roles

Para obtener los permisos que necesitas para crear, ver, actualizar o eliminar perfiles de seguridad, pide a tu administrador que te conceda los roles de gestión de identidades y accesos necesarios en tu organización. Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.

Crear un perfil de seguridad de filtrado de URLs

Cuando creas un perfil de seguridad de filtrado de URLs (perfil de seguridad de tipo url-filtering), puedes especificar el nombre del perfil de seguridad como una cadena o como un identificador de URL único. La URL única de un perfil de seguridad de ámbito de organización se puede crear con 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 se incluyen en el identificador de URL. Sin embargo, si solo usas 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 únicos de URL, consulta las especificaciones del perfil de seguridad.

Consola

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

    Ve 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. Haz clic en Create profile (Crear perfil).

  5. Escribe un nombre en el campo Nombre.

  6. Opcional: Escribe 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, seleccione Filtrado de URLs.

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

  10. En el panel Crear un filtro de URL, especifique 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 coincidan con una URL.
      • Denegar: deniega las conexiones que coinciden con una URL.
    • Lista de URLs: especifique una lista de URLs o cadenas de coincidencia. Cada entrada de URL o cadena de coincidencia debe aparecer en una línea independiente, sin espacios ni delimitadores. Cada entrada puede constar únicamente de un dominio. Para obtener más información sobre las cadenas de coincidencia, consulta Cadenas de coincidencia de 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,...]
    

    Haz los cambios siguientes:

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

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

    • ACTION: especifica una de las siguientes acciones:

      • allow: permite conexiones que coincidan con una URL.
      • deny: deniega las conexiones que coinciden con una URL.
    • PRIORITY: prioridad de un filtro de URL, que va de 0 a 2147483647.

    • URLs: 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 URLs, ejecuta el comando gcloud network-security security-profiles import:

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

    También puedes crear un perfil de seguridad de filtrado de URLs sin un archivo YAML mediante el comando gcloud network-security security-profiles url-filtering create:

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

    Haz los cambios siguientes:

    • NAME: el nombre del perfil de seguridad de filtrado de URLs. Puede 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: la ubicación del perfil de seguridad de filtrado de URLs.

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

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

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

    • DESCRIPTION: descripción opcional del 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 deniega las 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 URLs de denegación implícita

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

  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 URLs de denegación implícita al consultar o exportar un perfil de seguridad de filtro de URLs. No puedes modificar ni eliminar el filtro implícito. Por ejemplo, si quieres cambiar la acción predeterminada de un perfil de DENY (aplicada por un filtro implícito) a ALLOW, debes añadir un filtro explícito que Cloud NGFW procese antes que el 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 de URLs

Las cadenas de coincidencia son los valores que especifica en el campo urls de un filtro de URL. Puede especificar una o varias cadenas de coincidencia en un filtro de URL.

Comodines

Cada cadena de coincidencia de una lista de URLs admite un comodín (*) de forma limitada.

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

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

      Por ejemplo, la cadena de coincidencia *.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 deniega el resto del tráfico saliente.

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

      Por ejemplo, la cadena de coincidencia *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, así como 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 con a.newexample.test. Solo coincide con example.test y los subdominios de example.test.

    • Un asterisco (*) sin otros caracteres indica que coincide con todas las solicitudes.

      Por ejemplo, la cadena de coincidencia de la URL de permiso explícito con la prioridad más baja solo contiene un asterisco (*) y tiene una acción ALLOW que anula la acción predeterminada DENY. Esto ocurre porque el filtro de URL de denegación implícita aplica el valor predeterminado DENY a las solicitudes que no coinciden con filtros de URL de mayor prioridad.

      El filtro de URL de mayor prioridad (ya sea un ALLOW explícito o un DENY implícito) determina si Cloud NGFW permite o deniega las conexiones cuando no tiene información de SNI o de dominio. Esto puede ocurrir con el tráfico HTTP sin cifrar o cuando la inspección TLS está inhabilitada para los encabezados de mensajes cifrados.

      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 coincidencia no admiten el carácter de barra (/). Por ejemplo: www.example.com/images.
  • Las cadenas de coincidencia no admiten esquemas ni nombres de protocolo. Por ejemplo: http://www.example.com.
  • Las cadenas de coincidencia no admiten números de puerto. Por ejemplo: www.example.com:80.
  • Las cadenas de coincidencia solo admiten letras, números y caracteres especiales ASCII: guion (-), punto (.) y asterisco (*).

Debe 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, sepáralas con puntos (.). Una etiqueta puede contener uno o varios guiones (-), pero no puede empezar ni terminar con un guion. Cada etiqueta puede incluir un máximo de 63 caracteres.

  • Los filtros de URL no admiten el uso de un punto al principio de un nombre de dominio ni puntos consecutivos en una cadena de coincidencia. Un filtro de URL permite puntos finales, pero Cloud NGFW los elimina antes de guardar un filtro de URL.

  • Cloud NGFW convierte las cadenas de coincidencia 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.

Ver un perfil de seguridad de filtrado de URLs

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

Consola

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

    Ve a Perfiles de seguridad.

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

  3. Haga clic en un perfil de seguridad de tipo Filtrado de URLs para ver los detalles del perfil.

gcloud

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

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

Haz los cambios siguientes:

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

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

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

Mostrar perfiles de seguridad de filtrado de URLs

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

Consola

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

    Ve a Perfiles de seguridad.

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

gcloud

Para obtener una lista de todos los perfiles de seguridad de filtrado de URLs, usa el comando gcloud network-security security-profiles url-filtering list:

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

Haz los cambios siguientes:

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

  • LOCATION: la ubicación de los perfiles de seguridad de filtrado de URLs. La ubicación siempre está definida como global.

Eliminar un perfil de seguridad de filtrado de URL

Para eliminar un perfil de seguridad de filtrado de URLs, especifique su nombre, ubicación y organización. Sin embargo, si un perfil de seguridad se hace referencia en un grupo de perfiles de seguridad, no se puede eliminar.

Consola

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

    Ve a Perfiles de seguridad.

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

  3. Selecciona el perfil de seguridad que quieras eliminar y, a continuación, haz clic en Eliminar.

  4. Haz clic en Eliminar de nuevo para confirmar la acción.

gcloud

Para eliminar un perfil de seguridad de filtrado de URLs, usa el comando gcloud network-security security-profiles url-filtering delete:

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

Haz los cambios siguientes:

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

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

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

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

Importar un perfil de seguridad de filtrado de URLs

Puede importar un perfil de seguridad de filtrado de URLs (creado de forma personalizada o exportado anteriormente) desde un archivo YAML. Al importar un perfil de seguridad de filtrado de URLs, si ya existe un perfil con el mismo nombre, Cloud NGFW lo actualiza.

gcloud

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

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

Haz los cambios siguientes:

  • NAME: el nombre del perfil de seguridad de tipo url-filtering que quieras 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: la organización en la que se crea el perfil de seguridad de filtrado de URLs. Si usa un identificador de URL único para la marca NAME, puede omitir la marca ORGANIZATION_ID.

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

  • FILE_NAME: ruta 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 de solo salida. También puedes omitir la marca source para leer desde la entrada estándar.

Exportar un perfil de seguridad de filtrado de URLs

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

gcloud

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

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

Haz los cambios siguientes:

  • NAME: el nombre del perfil de seguridad de tipo url-filtering que quieras 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: la organización en la que se crea el perfil de seguridad de filtrado de URLs. Si usa un identificador de URL único para la marca NAME, puede omitir la marca ORGANIZATION_ID.

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

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

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

Siguientes pasos