ADC

categorización de URL

Nota:

La categorización de URL en la función de filtrado de URL está obsoleta en esta versión.

La categorización de URL restringe el acceso del usuario a sitios web y categorías de sitios web específicos. Como servicio suscrito en colaboración con NetSTAR, la función permite a los clientes empresariales filtrar el tráfico web mediante una base de datos de categorización comercial. La base de datos NetSTAR tiene una gran cantidad (miles de millones) de URL clasificadas en diferentes categorías, como redes sociales, juegos de azar, contenido para adultos, nuevos medios y compras. Además de la categorización, cada URL tiene una puntuación de reputación actualizada en función del perfil de riesgo histórico del sitio. Podemos utilizar datos de NetSTAR para filtrar el tráfico mediante la configuración de directivas avanzadas basadas en categorías, grupos de categorías (como terrorismo, drogas ilegales) o puntuaciones de reputación del sitio.

Por ejemplo, puede bloquear el acceso a sitios peligrosos, como los sitios que se sabe que están infectados con malware. También puede restringir selectivamente el acceso a contenido, como contenido para adultos o medios de transmisión de entretenimiento para usuarios empresariales. También puede capturar los detalles transaccionales del usuario y los detalles del tráfico saliente para supervisar los análisis del tráfico web en el servidor de NetScaler Console.

NetScaler carga o descarga datos del NetSTAR dispositivo preconfigurado nsv10.netstar-inc.com y, de forma predeterminada, incompasshybridpc.netstar-inc.com se utiliza como host en la nube para las solicitudes de categorización en la nube. Se debe poder acceder a estas URL a través del firewall para que el filtrado de URL funcione correctamente. El dispositivo utiliza su dirección NSIP como dirección IP de origen y 443 como puerto de destino para la comunicación.

Cómo funciona la categorización de URL

La siguiente figura muestra cómo se integra un servicio de categorización de URL de NetScaler con una base de datos de categorización de URL comercial y servicios en la nube para actualizaciones frecuentes.

Cómo funciona la categorización de URL

Los componentes interactúan de la siguiente manera:

  1. Un cliente envía una solicitud de URL enlazada a Internet.

  2. El proxy de reenvío SSL aplica una directiva de cumplimiento a la solicitud en función de los detalles de la categoría, como la categoría, el grupo de categorías y la puntuación de reputación del sitio. Los detalles de la categoría se obtienen de la base de datos de categorización de URL. Si la base de datos devuelve los detalles de la categoría, el proceso salta al paso 5.

  3. Si la base de datos omite los detalles de categorización, la solicitud se envía a un servicio de búsqueda basado en la nube mantenido por un proveedor de categorización de URL. Sin embargo, el dispositivo no espera una respuesta, sino que la URL se marca como sin categoría y se aplica una directiva (vaya al paso 5). El dispositivo continúa supervisando los comentarios de las consultas en la nube y actualiza la memoria caché para que las solicitudes futuras puedan beneficiarse de la búsqueda en la nube.

  4. El dispositivo ADC recibe los detalles de la categoría de URL (categoría, grupo de categorías y puntuación de reputación) del servicio basado en la nube y los almacena en la base de datos de categorización.

  5. La directiva permite la URL y la solicitud se envía al servidor de origen. De lo contrario, el dispositivo pierde, redirige o responde con una página HTML personalizada.

  6. El servidor de origen responde con los datos solicitados al dispositivo ADC.

  7. El dispositivo envía la respuesta al cliente.

Caso de uso: uso de Internet bajo cumplimiento corporativo para empresas

Puede utilizar la función de filtrado de URL para detectar e implementar directivas de cumplimiento para bloquear los sitios que infrinjan el cumplimiento corporativo. Por ejemplo, sitios como adultos, medios de transmisión, redes sociales que pueden considerarse no productivos o consumir un ancho de banda de Internet excesivo en una red empresarial. Bloquear el acceso a estos sitios web puede mejorar la productividad de los empleados, reducir los costes operativos para el uso del ancho de banda y reducir la sobrecarga del consumo de la red.

Requisitos previos

La función de categorización de URL funciona en una plataforma NetScaler solo si tiene un servicio de suscripción opcional con capacidades de filtrado de URL e inteligencia de amenazas para el proxy de reenvío SSL. La suscripción permite a los clientes descargar las últimas categorizaciones de amenazas para los sitios web y, a continuación, aplicar esas categorías al proxy de reenvío SSL. Antes de habilitar y configurar la función, debe instalar las siguientes licencias:

  • CNS_WEBF_SSERVER_Retail.lic

  • CNS_XXXX_SERVER_PLT_Retail.lic

Donde XXXXX es el tipo de plataforma, por ejemplo: V25000

Expresiones de la directiva

En la siguiente tabla se enumeran las diferentes expresiones de directiva que puede usar para verificar si una URL entrante debe permitirse, redirigirse o bloquearse.

  1. <text>. URL_CATEGORIZE (<min_reputation>, <max_reputation>) - Devuelve un objeto URL_CATEGORY. Si <min_reputation> es mayor que 0, el objeto devuelto no contiene una categoría con una reputación inferior a <min_reputation>. Si <max_reputation> es mayor que 0, el objeto devuelto no contiene una categoría con una reputación superior a <max_reputation>. Si la categoría no se resuelve de manera oportuna, se devuelve el valor undef.
  2. <url_category>. CATEGORY() - Devuelve la cadena de categoría de este objeto. Si la URL no tiene una categoría, o si la URL tiene un formato incorrecto, el valor devuelto es “Desconocido”.
  3. <url_category>. CATEGORY_GROUP() - Devuelve una cadena que identifica el grupo de categorías del objeto. Esta agrupación es una agrupación de categorías de nivel superior, lo que resulta útil en operaciones que requieren información menos detallada sobre la categoría de URL. Si la URL no tiene una categoría, o si la URL tiene un formato incorrecto, el valor devuelto es “Desconocido”.
  4. <url_category>. REPUTATION() - Devuelve la puntuación de reputación como un número del 0 al 5, donde 5 indica la reputación más arriesgada. Si existe la categoría “Desconocido”, el valor de reputación es 1.

Tipos de directivas:

  1. Directiva para seleccionar solicitudes de URL que están en la categoría de motores de búsqueda - add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ(“Search Engine”)
  2. Directiva para seleccionar solicitudes de URL que están en el grupo de categoría Adultos - add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY_GROUP().EQ(“Adult”)’
  3. Directiva para seleccionar solicitudes de URL de motores de búsqueda con una puntuación de reputación inferior a 4 - add responder policy p2 ‘HTTP.REQ.HOSTNAME.APPEND (HTTP.REQ.URL).URL_CATEGORIZE(4,0).HAS_CATEGORY(“Search Engine”)
  4. Directiva para seleccionar solicitudes de URL de motor de búsqueda y de compras - add responder policy p3 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY().EQ (“good_categories”)
  5. Directiva para seleccionar solicitudes de URL de motores de búsqueda con una puntuación de reputación igual o superior a 4 - add responder policy p5 ‘CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(4,0). CATEGORY().EQ(“Search Engines”)
  6. Directiva para seleccionar solicitudes de URL que están en la categoría de motores de búsqueda y compararlas con un conjunto de URL - ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ(“Search Engine”) && HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY(“u1”)’

Tipos de directivas de respuesta

Hay dos tipos de directivas que se utilizan en una función de categorización de URL y cada uno de estos tipos de directivas se explica en la siguiente tabla:

Tipo de directiva Descripción
URL Category Clasifique el tráfico web y, en función de los resultados de la evaluación, bloquee, permita o redirija el tráfico.
Puntuación de reputación de URL Determina la puntuación de reputación del sitio web y le permite controlar el acceso en función del nivel de umbral de puntuación de reputación establecido por el administrador.

Configurar la categorización de URL

Para configurar la categorización de URL en un dispositivo NetScaler, haga lo siguiente:

  1. Habilite el filtrado de URL.
  2. Configure un servidor proxy para el tráfico web.
  3. Configure la interceptación SSL para el tráfico web en modo explícito.
  4. Configure la memoria compartida para limitar la memoria caché.
  5. Configure los parámetros de categorización de URL.
  6. Configure la categorización de URL mediante el asistente de proxy de reenvío SSL de Citrix.
  7. Configure los parámetros de categorización de URL mediante el asistente de proxy de reenvío SSL.
  8. Configurar la ruta de la base de datos semilla y el nombre

Paso 1: Habilitar el filtrado de URL

Para habilitar la categorización de URL, habilite la función de filtrado de URL y habilite los modos de categorización de URL.

Para habilitar la categorización de URL mediante la CLI

En la línea de comandos, escriba:

enable ns feature URLFiltering

disable ns feature URLFiltering

Paso 2: Configurar un servidor proxy para el tráfico web en modo explícito

El dispositivo NetScaler admite servidores virtuales proxy transparentes y explícitos. Para configurar un servidor virtual proxy para el tráfico SSL en modo explícito, haga lo siguiente:

  1. Agregue un servidor proxy.
  2. Enlazar una directiva SSL al servidor proxy.

Para agregar un servidor proxy mediante la CLI

En la línea de comandos, escriba:

add cs vserver <name> [-td <positive_integer>] <serviceType> [-cltTimeout <secs>]

Ejemplo:

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

Enlazar una directiva SSL a un servidor virtual proxy mediante la CLI

bind ssl vserver <vServerName> -policyName <string> [-priority <positive_integer>]

Paso 3: Configurar la interceptación SSL para el tráfico HTTPS

Para configurar la interceptación SSL para el tráfico HTTPS, haga lo siguiente:

  1. Enlace un par de claves de certificado de CA al servidor virtual proxy.
  2. Configure el perfil SSL predeterminado con parámetros SSL.
  3. Enlace un perfil SSL front-end al servidor virtual proxy y habilite la interceptación SSL en el perfil SSL front-end.

Para enlazar un par de claves de certificado de CA al servidor virtual proxy mediante la CLI

En la línea de comandos, escriba:

bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA –skipCAName

Para configurar el perfil SSL predeterminado mediante la CLI

En la línea de comandos, escriba:

set ssl profile <name> -denySSLReneg <denySSLReneg> -sslInterception (ENABLED | DISABLED) -ssliMaxSessPerServer positive_integer>

Enlazar un perfil SSL front-end a un servidor virtual proxy mediante la CLI

En la línea de comandos, escriba:

set ssl vserver <vServer name> -sslProfile ssl_profile_interception

Paso 4: configurar la memoria compartida para limitar la memoria caché

Para configurar la memoria compartida para limitar la memoria caché mediante la CLI

En la línea de comandos, escriba:

set cache parameter [-memLimit <megaBytes>]

Donde el límite de memoria configurado para el almacenamiento en caché se establece como 10 MB.

Paso 5: Configurar los parámetros de categorización de URL

Para configurar los parámetros de categorización de URL mediante la CLI

En la línea de comandos, escriba:

set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>]

Ejemplo:

set urlfiltering parameter –urlfilt_hours_betweenDB_updates 20

Paso 6: Configurar la categorización de URL mediante el asistente de proxy de reenvío SSL de Citrix

  1. Inicie sesión en el dispositivo NetScaler y vaya a la página Seguridad > Proxy de reenvío SSL.
  2. En el panel de detalles, realice una de las acciones siguientes:
    1. Haga clic en Asistente de proxy de reenvío SSL para crear una nueva configuración.
    2. Seleccione una configuración existente y haga clic en Modificar.
  3. En la sección Filtrado de URL, haga clic en Modificar.
  4. Seleccione la casilla de verificación Categorización de URL para habilitar la función.
  5. Seleccione una directiva de categorización de URL y haga clic en Vincular.
  6. Haga clic en Continuar y, a continuación, en Listo.

Para obtener más información sobre la directiva de categorización de URL, consulte Cómo crear una directiva de categorización de URL.

Paso 7: Configuración de los parámetros de categorización de URL mediante un Asistente de proxy de reenvío SSL

  1. Inicie sesión en el dispositivo NetScaler y vaya a Seguridad > Filtrado de URL.
  2. En la página Filtro de URL, haga clic en el enlace Cambiar configuración de filtrado de URL.
  3. En la página Configuración de parámetros de filtrado de URL, especifique los siguientes parámetros.
    1. Horas entre actualizaciones de base de datos. Horas de filtrado de URL entre actualizaciones de bases de datos Valor mínimo: 0 y valor máximo: 720.
    2. Hora del día para actualizar la base de datos. Hora del día de filtrado de URL para actualizar la base de datos.
    3. Host en la nube. La ruta URL del servidor en la nube.
    4. Ruta de base de datos semilla. La ruta URL del servidor de búsqueda en la base de datos semilla.
  4. Haga clic en Aceptar y Cerrar.

Ejemplo de configuración:

enable ns feature LB CS SSL IC RESPONDER AppFlow URLFiltering

enable ns mode FR L3 Edge USNIP PMTUD

set ssl profile ns_default_ssl_profile_frontend -denySSLReneg NONSECURE -sslInterception ENABLED -ssliMaxSessPerServer 100

add ssl certKey swg_ca_cert -cert ns_swg_ca.crt -key ns_swg_ca.key

set cache parameter -memLimit 100

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

add responder action act1 respondwith ""HTTP/1.1 200 OK\r\n\r\n" + http.req.url.url_categorize(0,0).reputation + "\n""

add responder policy p1 "HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") || HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals

")" act1

bind cs vserver starcs_PROXY -policyName p1 -priority 10 -gotoPriorityExpression END -type REQUEST

add dns nameServer 10.140.50.5

set ssl parameter -denySSLReneg NONSECURE -defaultProfile ENABLED -sigDigestType RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 -ssliErrorCache ENABLED

-ssliMaxErrorCacheMem 100000000

add ssl policy pol1 -rule "client.ssl.origin_server_cert.subject.  URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals")"" -action INTERCEPT

add ssl policy pol3 -rule "client.ssl.origin_server_cert.subject.ne("citrix")" -action INTERCEPT

add ssl policy swg_pol -rule "client.ssl.client_hello.SNI.URL_CATEGORIZE(0,0).CATEGORY.ne("Uncategorized")" -action INTERCEPT

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00
<!--NeedCopy-->

Configurar la ruta de la base de datos semilla y el nombre

Ahora puede configurar la ruta de la base de datos semilla y el nombre del servidor de búsqueda en la nube para la configuración manual del nombre del servidor de búsqueda en la nube y la ruta de la base de Para ello, se agregan dos nuevos parámetros, “CloudHost” y “SeedDBPath”, al parámetro de filtrado de URL.

En la línea de comandos, escriba:

set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>] [-LocalDatabaseThreads <positive_integer>] [-CloudHost <string>] [-SeedDBPath <string>]

Ejemplo:

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00 –CloudHost localhost –SeedDBPath /mypath

La comunicación entre un dispositivo NetScaler y NetSTAR puede requerir un servidor de nombres de dominio. Puede realizar pruebas mediante una consola simple o una conexión telnet desde el dispositivo.

Ejemplo:

root@ns# telnet nsv10.netstar-inc.com 443
Trying 1.1.1.1...
Connected to nsv10.netstar-inc.com.
Escape character is '^]'.

root@ns# telnet incompasshybridpc.netstar-inc.com 443
Trying 10.10.10.10...
Connected to incompasshybridpc.netstar-inc.com.
Escape character is '^]'.
<!--NeedCopy-->

Configurar los mensajes del registro de auditoría

El registro de auditoría le permite revisar una condición o una situación en cualquier fase del proceso de categorización de URL. Cuando un dispositivo NetScaler recibe una URL entrante, si la directiva de respuesta tiene una expresión de filtrado de URL, la función de registro de auditoría recopila la información del conjunto de URL en la URL. Almacena la información como mensajes de registro para cualquier destino permitido por el registro de auditoría.

  • Dirección IP de origen (la dirección IP del cliente que realizó la solicitud).

  • Dirección IP de destino (la dirección IP del servidor solicitado).

  • URL solicitada que contiene el esquema, el host y el nombre de dominio (http://www.example.com).

  • Categoría de URL que devuelve el marco de filtrado de URL.

  • Grupo de categorías de URL que devolvió el marco de filtrado de URL.

  • Número de reputación de URL que devolvió el marco de filtrado de URL.

  • Acción de registro de auditoría llevada a cabo por la directiva.

Para configurar el registro de auditoría para una función de lista de URL, debe completar las siguientes tareas:

  1. Habilitar registros de auditoría.
  2. Acción de mensaje Crear registro de auditoría.
  3. Establecer la directiva de respuesta de lista de URL con la acción de mensaje Registro de auditoría.

Para obtener más información, consulte el tema Registro de auditoría.

Almacenamiento de errores mediante mensajería SYSLOG

En cualquier etapa del proceso de filtrado de URL, si se produce un error en el nivel del sistema, el dispositivo ADC utiliza el mecanismo de registro de auditoría para almacenar registros en el archivo ns.log. Los errores se almacenan como mensajes de texto en formato SYSLOG para que un administrador pueda verlos más adelante en un orden cronológico de ocurrencia del evento. Estos registros también se envían a un servidor SYSLOG externo para su archivado. Para obtener más información, consulte el artículo CTX229399.

Por ejemplo, si se produce un error al inicializar el SDK de filtrado de URL, el mensaje de error se almacena en el siguiente formato de mensajería.

Oct 3 15:43:40 <local0.err> ns URLFiltering[1349]: Error initializing NetStar SDK (SDK error=-1). (status=1).

El dispositivo NetScaler almacena los mensajes de error en cuatro categorías de errores diferentes:

  • Error en la descarga. Si se produce un error al intentar descargar la base de datos de categorización.

  • Fallo de integración. Si se produce un error al integrar una actualización en la base de datos de categorización existente.

  • Fallo de inicialización. Si se produce un error al inicializar la función de categorización de URL, establecer los parámetros de categorización o finalizar un servicio de categorización.

  • Fallo en la recuperación. Si se produce un error cuando el dispositivo recupera los detalles de categorización de la solicitud.

Configurar capturas SNMP para eventos de NetSTAR

La función de filtrado de URL genera capturas SNMP si se dan las siguientes condiciones:

  • La actualización de la base de datos NetSTAR falla o se realiza correctamente.
  • La inicialización del SDK de NetSTAR falla o se realiza correctamente.

El dispositivo tiene un conjunto de entidades condicionales denominadas alarmas SNMP. Cuando se cumple una condición en la alarma SNMP, el dispositivo genera capturas y las envía a un destino de captura especificado. Por ejemplo, si se produce un error en la inicialización del SDK de NetSTAR, se genera un OID SNMP 1.3.6.1.4.1.5951.1.1.0.183 y se envía al destino de captura.

Para que el dispositivo genere capturas, primero debe habilitar y configurar las alarmas SNMP. A continuación, especifique el destino de captura al que el dispositivo envía los mensajes de captura generados.

Habilitar una alarma SNMP

El dispositivo NetScaler genera capturas solo para las alarmas SNMP que están habilitadas. Algunas alarmas están habilitadas de forma predeterminada, pero puede desactivarlas.

Cuando se habilita una alarma SNMP, la función de filtrado de URL genera mensajes de captura cuando se produce un evento de éxito o error. Algunas alarmas están habilitadas de forma predeterminada.

Para habilitar una alarma SNMP mediante la interfaz de línea de comandos:

En el símbolo del sistema, escriba los siguientes comandos para establecer los parámetros y verificar la configuración:

enable snmp alarm <trapName> show snmp alarm <trapName>

Para habilitar una alarma SNMP mediante la GUI de NetScaler

  1. Vaya a Sistema > SNMP > Alarmasy seleccione la alarma.
  2. Haga clic en Acciones y seleccione Habilitar.

Configurar la alarma SNMP mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para establecer los parámetros y verificar la configuración:

set snmp alarm <trapName> [-thresholdValue <positive_integer> [-normalValue <positive_integer>]] [-time <secs>] [-state ( ENABLED | DISABLED )] [-severity <severity>] [-logging ( ENABLED | DISABLED )]

Ejemplo:

set snmp alarm URL-FIL-DB-UPDATE-STATUS –state ENABLED set snmp alarm URL-FIL-INIT-SDK –state ENABLED

Configurar alarmas SNMP mediante la interfaz gráfica de usuario

Vaya a Sistema > SNMP > Alarmas, seleccione una alarma y configure los parámetros de alarma.

Para obtener más información sobre las capturas SNMP, consulte el tema SNMP.