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
- Debes habilitar la API de Network Security en tu proyecto.
- Instala la CLI de gcloud si deseas ejecutar los ejemplos de la línea de comandos de
gcloud
de esta guía.
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
En la consola de Google Cloud , 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.
Haga clic en Crear perfil.
Escribe un nombre en el campo Nombre.
Opcional: Ingresa 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, selecciona Filtrado de URLs.
En la sección Filtros de URL, haz clic en el botón Crear filtro de URL.
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.
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,...]
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 serurl-filtering
othreat-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
ywww.altostrat.com
.
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 marcasLOCATION
yORGANIZATION
.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 marcaNAME
, puedes omitir la marcaLOCATION
.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 marcaname
, puedes omitir la marcaORGANIZATION_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
ywww.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 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 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 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
y 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
nia.newexample.test
. Solo coincide conexample.test
y los subdominios deexample.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 deDENY
. Esto sucede porque el filtro de URL de denegación implícita aplica elDENY
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 unDENY
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
En la consola de Google Cloud , ve a la página Perfiles de seguridad.
Selecciona la pestaña Perfiles de seguridad. En la pestaña, se muestra una lista de los perfiles de seguridad configurados.
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 tipourl-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 marcaNAME
, puedes omitir la marcaORGANIZATION_ID
.LOCATION
: Es la ubicación del perfil de seguridad del filtrado de URLs. La ubicación siempre está configurada comoglobal
. Si usas un identificador de URL único para la marcaNAME
, puedes omitir la marcaLOCATION
.
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
En la consola de Google Cloud , ve a la página Perfiles de seguridad.
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 comoglobal
.
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
En la consola de Google Cloud , ve a la página Perfiles de seguridad.
Selecciona la pestaña Perfiles de seguridad. En la pestaña, se muestra una lista de los perfiles de seguridad configurados.
Selecciona el perfil de seguridad que deseas borrar y, luego, haz clic en Borrar.
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 marcaNAME
, puedes omitir la marcaORGANIZATION_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 marcaNAME
, puedes omitir la marcaLOCATION
.
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 tipourl-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 marcasORGANIZATION_ID
yLOCATION
.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 marcaNAME
, puedes omitir la marcaORGANIZATION_ID
.LOCATION
: Es la ubicación del perfil de seguridad del filtrado de URLs. La ubicación siempre está configurada comoglobal
. Si usas un identificador de URL único para la marcaNAME
, puedes omitir la marcaLOCATION
.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 tipourl-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 marcasORGANIZATION_ID
yLOCATION
.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 marcaNAME
, puedes omitir la marcaORGANIZATION_ID
.LOCATION
: Es la ubicación del perfil de seguridad del filtrado de URLs. La ubicación siempre está configurada comoglobal
. Si usas un identificador de URL único para la marcaNAME
, puedes omitir la marcaLOCATION
.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.