Infraestructura de directivas SSL para interceptación SSL

Una política actúa como un filtro en el tráfico entrante. Las directivas del dispositivo Citrix Secure Web Gateway (SWG) ayudan a definir cómo administrar las conexiones y las solicitudes con proxy. El procesamiento se basa en las acciones configuradas para esa directiva. Es decir, los datos de las solicitudes de conexión se comparan con una regla especificada en la directiva y la acción se aplica a las conexiones que coinciden con la regla (expresión). Después de definir una acción para asignar a la directiva y crear la directiva, debe vincularla a un servidor proxy, de modo que se aplique al tráfico que fluye a través de ese servidor proxy.

Una directiva SSL para la interceptación SSL evalúa el tráfico entrante y aplica una acción predefinida a las solicitudes que coinciden con una regla (expresión). La decisión de interceptar, omitir o restablecer una conexión se toma sobre la base de la política SSL definida. Puede configurar una de las tres acciones para una directiva: INTERCEPT, BYVAR o RESET. Debe especificar una acción al crear una directiva. Para aplicar una directiva, debe vincularla a un servidor proxy del dispositivo. Para especificar que una directiva está destinada a la interceptación SSL, debe especificar el tipo (punto de enlace) como INTERCEPT_REQ cuando vincula la directiva a un servidor proxy. Al desvincular una directiva, debe especificar el tipo como INTERCEPT_REQ.

Nota:

El servidor proxy no puede tomar la decisión de interceptar a menos que especifique una directiva.

La interceptación del tráfico se puede basar en cualquier atributo de protocolo de enlace SSL. El más utilizado es el dominio SSL. El dominio SSL generalmente se indica por los atributos del protocolo de enlace SSL. Podría ser el valor del indicador de nombre de servidor extraído del mensaje Hello del cliente SSL, si está presente, o el valor de nombre alternativo del servidor (SAN) extraído del certificado del servidor de origen. La directiva SSLi de Citrix SWG presenta un atributo especial denominado DETECTED_DOMAIN, que facilita a los clientes crear directivas de interceptación basadas en el dominio SSL desde el certificado del servidor de origen. El cliente puede hacer coincidir el nombre de dominio con una cadena, una lista de direcciones URL (conjunto de direcciones URL o conjunto de parches) o una categoría de URL derivada del dominio.

Crear una directiva SSL mediante la CLI de Citrix SWG

En el símbolo del sistema, escriba:

add ssl policy <name> -rule <expression> -action <string>

Ejemplos:

Los ejemplos siguientes son para directivas con expresiones que utilizan el atributo detected_domain para buscar un nombre de dominio.

No interceptar tráfico a una institución financiera, como XYZBANK

add ssl policy pol1 -rule client.ssl.detected_domain.contains("XYZBANK") -action BYPASS

No permitir que un usuario se conecte a YouTube desde la red corporativa

add ssl policy pol2 -rule client.ssl. client.ssl. detected_domain.url_categorize(0,0).category.eq ("YouTube") -action RESET

Interceptar todo el tráfico de usuarios

add ssl policy pol3 –rule true –action INTERCEPT

Si el cliente no desea utilizar el domain_detected, puede utilizar cualquiera de los atributos de protocolo de enlace SSL para extraer e inferir el dominio.

Por ejemplo, no se encuentra un nombre de dominio en la extensión SNI del mensaje de saludo del cliente. El nombre de dominio debe extraerse del certificado del servidor de origen. Los ejemplos siguientes son para directivas con expresiones que comprueban un nombre de dominio en el nombre de asunto del certificado del servidor de origen.

Interceptar todo el tráfico de usuarios a cualquier dominio de Yahoo

add ssl policy pol4 -rule client.ssl.origin_server_cert.subject.contains("yahoo") –action INTERCEPT

Interceptar todo el tráfico de usuarios de la categoría “Compras/Venta al por menor”

add ssl policy pol_url_category -rule client.ssl. origin_server_cert.subject.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") -action INTERCEPT

Interceptar todo el tráfico de usuario a una URL sin categorizar

add ssl policy pol_url_category -rule client.ssl.origin_server_cert.subject.url_categorize(0,0).category.eq("Uncategorized") -action INTERCEPT

Los ejemplos siguientes son para directivas que coinciden con el dominio con una entrada de un conjunto de direcciones URL.

Interceptar todo el tráfico de usuario si el nombre de dominio en SNI coincide con una entrada en el conjunto de direcciones URL “top100”

add ssl policy pol_url_set  -rule client.ssl.client_hello.SNI.URLSET_MATCHES_ANY("top100") -action INTERCEPT

Interceptar todo el tráfico de usuario del nombre de dominio si el certificado del servidor de origen coincide con una entrada en el conjunto de direcciones URL “top100”

add ssl policy pol_url_set  -rule client.ssl.origin_server_cert.subject.URLSET_MATCHES_ANY("top100") -action INTERCEPT

Crear una directiva SSL en un servidor proxy mediante la GUI de Citrix SWG

  1. Vaya a Secure Web Gateway > SSL> Directivas.
  2. En la ficha Directivas SSL, haga clic en Agregar y especifique los siguientes parámetros:
    • Nombre de directiva
    • Acción de directiva: seleccione entre interceptar, omitir o restablecer.
    • Expressión
  3. Haga clic en Crear.

Vincular una directiva SSL a un servidor proxy mediante la CLI de SWG

En el símbolo del sistema, escriba:

bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type  INTERCEPT_REQ

Ejemplo:

bind ssl vserver <name> -policyName pol1 -priority 10 -type INTERCEPT_REQ

Vincular una directiva SSL a un servidor proxy mediante la GUI de Citrix SWG

  1. Vaya a Secure Web Gateway > Servidores virtuales proxy.
  2. Seleccione un servidor virtual y haga clic en Editar.
  3. En Configuración avanzada, haga clic en Directivas SSL.
  4. Haga clic dentro del cuadro Directiva SSL.
  5. En Seleccionar directiva, seleccione una directiva para enlazar.
  6. En Tipo, seleccione INTERCEPT_REQ.
  7. Haga clic en Vincular y, a continuación, haga clic en Aceptar.

Desenlazar una directiva SSL a un servidor proxy mediante la línea de comandos

En el símbolo del sistema, escriba:

unbind ssl vserver <vServerName> -policyName <string> -type INTERCEPT_REQ

Expresiones SSL utilizadas en directivas SSL para SWG

Expresión Descripción
CLIENT.SSL.CLIENT_HELLO.SNI.* Devuelve la extensión SNI en un formato de cadena. Evalúe la cadena para ver si contiene el texto especificado. Ejemplo: client.ssl.client_hello.sni.contains ("xyz.com")
CLIENT.SSL.ORIGIN_SERVER_CERT.* Devuelve un certificado, recibido de un servidor back-end, en un formato de cadena. Evalúe la cadena para ver si contiene el texto especificado. Ejemplo: client.ssl.origin_server_cert.subject.contains ("xyz.com")
CLIENT.SSL.DETECTED_DOMAIN.* Devuelve un dominio, ya sea desde la extensión SNI o desde el certificado del servidor de origen, en un formato de cadena. Evalúe la cadena para ver si contiene el texto especificado. Ejemplo: client.ssl.detected_domain.contains ("xyz.com")