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
- Debes habilitar la API Network Security en tu proyecto.
- Instala la CLI de gcloud si quieres ejecutar los ejemplos de línea de comandos
gcloud
de esta guía.
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
En la Google Cloud consola, ve a la página Perfiles de seguridad.
En el menú de selección de proyectos, selecciona tu organización.
Selecciona la pestaña Perfiles de seguridad.
Haz clic en Create profile (Crear perfil).
Escribe un nombre en el campo Nombre.
Opcional: Escribe una descripción en el campo Descripción.
Para crear un perfil de seguridad de Cloud Next Generation Firewall Enterprise, en la sección Propósito, selecciona Cloud NGFW Enterprise.
Para crear un perfil de seguridad de filtrado de URLs, en la sección Tipo, seleccione Filtrado de URLs.
En la sección Filtros de URL, haga clic en el botón Crear filtro de URL.
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.
Haz clic en Crear.
gcloud
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
othreat-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
ywww.altostrat.com
.
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 marcasLOCATION
yORGANIZATION
.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 marcaNAME
, puede omitir la marcaLOCATION
.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 marcaname
, puedes omitir la marcaORGANIZATION_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
ywww.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 cona.example.com
ya.b.c.example.com
, pero no conexample.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 cona.example.com
,a.b.c.example.com
yexample.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 deexample.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 connewexample.test
ni cona.newexample.test
. Solo coincide conexample.test
y los subdominios deexample.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 predeterminadaDENY
. Esto ocurre porque el filtro de URL de denegación implícita aplica el valor predeterminadoDENY
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 unDENY
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
En la Google Cloud consola, ve a la página Perfiles de seguridad.
Selecciona la pestaña Perfiles de seguridad. En la pestaña se muestra una lista de perfiles de seguridad configurados.
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 tipourl-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 marcaNAME
, puede omitir la marcaORGANIZATION_ID
.LOCATION
: ubicación del perfil de seguridad de filtrado de URLs. La ubicación siempre está definida comoglobal
. Si usa un identificador de URL único para la marcaNAME
, puede omitir la marcaLOCATION
.
Mostrar perfiles de seguridad de filtrado de URLs
Puedes enumerar todos los perfiles de seguridad de filtrado de URLs de una organización.
Consola
En la Google Cloud consola, ve a la página Perfiles de seguridad.
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 comoglobal
.
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
En la Google Cloud consola, ve a la página Perfiles de seguridad.
Selecciona la pestaña Perfiles de seguridad. En la pestaña se muestra una lista de perfiles de seguridad configurados.
Selecciona el perfil de seguridad que quieras eliminar y, a continuación, haz clic en Eliminar.
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 marcaNAME
, puedes omitir la marcaORGANIZATION_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 marcaNAME
, puede omitir la marcaLOCATION
.
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 tipourl-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 marcasORGANIZATION_ID
yLOCATION
.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 marcaNAME
, puede omitir la marcaORGANIZATION_ID
.LOCATION
: ubicación del perfil de seguridad de filtrado de URLs. La ubicación siempre está definida comoglobal
. Si usa un identificador de URL único para la marcaNAME
, puede omitir la marcaLOCATION
.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 tipourl-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 marcasORGANIZATION_ID
yLOCATION
.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 marcaNAME
, puede omitir la marcaORGANIZATION_ID
.LOCATION
: ubicación del perfil de seguridad de filtrado de URLs. La ubicación siempre está definida comoglobal
. Si usa un identificador de URL único para la marcaNAME
, puede omitir la marcaLOCATION
.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.