Infraestructura de directivas SSL para interceptación SSL

Una directiva 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 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 la directiva y crear la directiva, enlazarla a un servidor proxy para que se aplique al tráfico que fluye a través de ese servidor proxy.

Una directiva SSL para intercepció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 en función de la directiva SSL definida. Puede configurar una de las tres acciones para una directiva: Intercepción, BYPASS o RESET. Especifique una acción al crear una directiva. Para poner en práctica 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 vincule la directiva a un servidor proxy. Al desvincular una directiva, debe especificar el tipo como INTERCEPT_REQ.

Nota:

El servidor proxy puede decidir interceptar solo si especifica una directiva.

La interceptación de tráfico puede basarse en cualquier atributo de enlace SSL. El más utilizado es el dominio SSL. El dominio SSL suele ser indicado por los atributos del protocolo de enlace SSL. Puede ser el valor del indicador de nombre del servidor extraído del mensaje de saludo del cliente SSL, si está presente, o el valor del nombre alternativo del servidor (SAN) extraído del certificado del servidor de origen. La directiva SSLi en 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 patset) 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>
<!--NeedCopy-->

Ejemplos:

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

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

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

No permita 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
<!--NeedCopy-->

Interceptar todo el tráfico de usuario.

add ssl policy pol3 –rule true –action INTERCEPT
<!--NeedCopy-->

Si el cliente no quiere utilizar detected_domain, puede utilizar cualquiera de los atributos 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 tomarse del certificado del servidor de origen. Los ejemplos siguientes son para directivas con expresiones que comprueban si hay un nombre de dominio en el nombre del sujeto del certificado del servidor de origen.

Interceptar todo el tráfico de usuario a cualquier dominio de Yahoo.

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

Intercepte todo el tráfico de usuarios de la categoría “Compras/Retail”.

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

Intercepte todo el tráfico de usuario a una URL sin categoría.

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

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

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

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

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

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

Crear una directiva SSL en un servidor proxy mediante la GUI 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.
    • Expresión
  3. Haga clic en Crear.

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

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Enlazar 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 Modificar.
  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
<!--NeedCopy-->

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 de la extensión SNI o del 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")