Introducción
Este documento describe cómo evitar que el dispositivo de seguridad Web Security Appliance (WSA) sea un proxy abierto.
Entorno
Cisco WSA, todas las versiones de AsyncOS
Hay dos áreas en las que se puede considerar que WSA es un proxy abierto:
- Los clientes HTTP que no residen en la red pueden realizar proxy a través de.
- Clientes que utilizan solicitudes HTTP CONNECT para tunelizar el tráfico no HTTP a través de.
Cada una de estas situaciones tiene implicaciones completamente diferentes y se tratarán con más detalle en las siguientes secciones.
Los clientes HTTP que no residen en su red pueden realizar proxy a través de
De forma predeterminada, el WSA procesará cualquier solicitud HTTP que se le envíe. Esto supone que la solicitud está en el puerto en el que escucha el WSA (los valores predeterminados son 80 y 3128). Esto podría suponer un problema, ya que es posible que no desee que ningún cliente de ninguna red pueda utilizar el WSA. Esto puede suponer un gran problema si WSA utiliza una dirección IP pública y está accesible desde Internet.
Hay dos formas de remediarlo:
- Utilice un firewall de flujo ascendente a WSA para bloquear el acceso HTTP a los orígenes no autorizados.
- Cree grupos de directivas para permitir sólo los clientes de las subredes deseadas. Una simple demostración de esta política es:
Grupo de políticas 1: Se aplica a la subred 10.0.0.0/8 (se supone que es la red del cliente). Agregue las acciones que desee.
Política predeterminada: Bloquear todos los protocolos: HTTP, HTTPS y FTP sobre HTTP
Se pueden crear políticas más detalladas sobre el Grupo de políticas 1. Mientras otras reglas sólo se apliquen a las subredes de cliente apropiadas, el resto del tráfico captará la regla "deny all" en la parte inferior.
Clientes que Utilizan Solicitudes HTTP CONNECT para Tunelizar el Tráfico No HTTP a Través de
Las solicitudes HTTP CONNECT se utilizan para tunelizar datos no HTTP a través de un proxy HTTP. El uso más común de una solicitud HTTP CONNECT es tunelizar el tráfico HTTPS. Para que un cliente configurado explícitamente acceda a un sitio HTTPS, primero DEBE enviar una solicitud HTTP CONNECT al WSA.
Un ejemplo de una solicitud CONNECT es como tal: CONNECT http://www.website.com:443/ HTTP/1.1
Esto indica al WSA que el cliente desea realizar un túnel a través del WSA a http://www.website.com/ en el puerto 443.
Las solicitudes HTTP CONNECT se pueden utilizar para realizar un túnel en cualquier puerto. Debido a posibles problemas de seguridad, el WSA solo permite solicitudes CONNECT a estos puertos de forma predeterminada:
20, 21, 443, 563, 8443, 8080
Si es necesario agregar puertos de túnel CONNECT adicionales, por razones de seguridad, se recomienda agregarlos en un grupo de políticas adicional que se aplique solamente a las subredes IP del cliente que necesitan este acceso adicional. Los puertos CONNECT permitidos se pueden encontrar en cada grupo de políticas, en Aplicaciones > Controles de protocolo.
Aquí se muestra un ejemplo de una solicitud SMTP enviada a través de un proxy abierto:
myhost$ telnet proxy.mydomain.com 80
Trying xxx.xxx.xxx.xxx...
Connected to proxy.mydomain.com.
Escape character is '^]'.
CONNECT smtp.foreigndomain.com:25 HTTP/1.1
Host: smtp.foreigndomain.com
HTTP/1.0 200 Connection established
220 smtp.foreigndomain.com ESMTP
HELO test
250 smtp.foreigndomain.com