Infraestructura de políticas SSL para la interceptación SSL

Una política funciona como un filtro para el tráfico entrante. Las políticas en el dispositivo Citrix Secure Web Gateway™ (SWG) ayudan a definir cómo gestionar las conexiones y solicitudes proxy. El procesamiento se basa en las acciones configuradas para esa política. Es decir, los datos de las solicitudes de conexión se comparan con una regla especificada en la política, 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 política y crearla, vincúlala a un servidor proxy para que se aplique al tráfico que fluye a través de ese servidor proxy.

Una política 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 en función de la política SSL definida. Puedes configurar una de tres acciones para una política: INTERCEPT, BYPASS o RESET. Especifica una acción al crear una política. Para que una política entre en vigor, debes vincularla a un servidor proxy en el dispositivo. Para especificar que una política está destinada a la interceptación SSL, debes especificar el tipo (punto de enlace) como INTERCEPT_REQ al vincular la política a un servidor proxy. Al desvincular una política, debes especificar el tipo como INTERCEPT_REQ.

Nota:

El servidor proxy solo puede decidir interceptar si especificas una política.

La interceptación de tráfico puede basarse en cualquier atributo de handshake SSL. El más utilizado es el dominio SSL. El dominio SSL suele indicarse mediante los atributos del handshake SSL. Puede ser el valor del Indicador de Nombre de Servidor (SNI) extraído del mensaje SSL Client Hello, si está presente, o el valor del Nombre Alternativo del Servidor (SAN) extraído del certificado del servidor de origen. La política SSLi en Citrix SWG presenta un atributo especial llamado DETECTED_DOMAIN, que facilita a los clientes la creación de políticas de interceptación basadas en el dominio SSL del certificado del servidor de origen. El cliente puede hacer coincidir el nombre de dominio con una cadena, una lista de URL (conjunto de URL o patset) o una categoría de URL derivada del dominio.

Crear una política SSL mediante el uso de la CLI de Citrix® SWG

En el símbolo del sistema, escribe:

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

Ejemplos:

Los siguientes ejemplos son para políticas con expresiones que usan el atributo detected_domain para verificar un nombre de dominio.

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

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

No permitas 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-->

Intercepta todo el tráfico de usuario.

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

Si el cliente no quiere usar detected_domain, puede usar cualquiera de los atributos de handshake SSL para extraer e inferir el dominio.

Por ejemplo, un nombre de dominio no se encuentra en la extensión SNI del mensaje client hello. El nombre de dominio debe tomarse del certificado del servidor de origen. Los siguientes ejemplos son para políticas con expresiones que verifican un nombre de dominio en el nombre del sujeto del certificado del servidor de origen.

Intercepta 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-->

Intercepta todo el tráfico de usuario para la categoría “Compras/Minorista”.

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

Intercepta 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
<!--NeedCopy-->

Los siguientes ejemplos son para políticas que hacen coincidir el dominio con una entrada en un conjunto de URL.

Intercepta 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-->

Intercepta 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 URL “top100”.

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

Crear una política SSL para un servidor proxy mediante el uso de la GUI de SWG

  1. Navega a Secure Web Gateway > SSL > Políticas.
  2. En la ficha Políticas SSL, haz clic en Agregar y especifica los siguientes parámetros:
    • Nombre de la política
    • Acción de la política: selecciona entre interceptar, omitir o restablecer.
    • Expresión
  3. Haz clic en Crear.

Vincular una política SSL a un servidor proxy mediante el uso de la CLI de SWG

En el símbolo del sistema, escribe:

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-->

Vincular una política SSL a un servidor proxy mediante el uso de la GUI de Citrix SWG

  1. Navega a Secure Web Gateway > Servidores virtuales proxy.
  2. Selecciona un servidor virtual y haz clic en Modificar.
  3. En Configuración avanzada, haz clic en Políticas SSL.
  4. Haz clic dentro del cuadro Política SSL.
  5. En Seleccionar política, selecciona una política para vincular.
  6. En Tipo, selecciona INTERCEPT_REQ.
  7. Haz clic en Vincular y luego en Aceptar.

Desvincular una política SSL de un servidor proxy mediante el uso de la línea de comandos

En el símbolo del sistema, escribe:

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

Expresiones SSL utilizadas en políticas SSL para SWG

Expresión Descripción
CLIENT.SSL.CLIENT_HELLO.SNI.* Devuelve la extensión SNI en formato de cadena. Evalúa 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 formato de cadena. Evalúa 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 formato de cadena. Evalúa la cadena para ver si contiene el texto especificado. Ejemplo: client.ssl.detected_domain.contains("xyz.com")