29 Abr

UT5. Proxy: Caracterización del servidor proxy

Un servidor proxy es un software o dispositivo que actúa como intermediario entre un cliente y un servidor remoto, realizando peticiones en nombre del cliente.

Tipos de servidores proxy

Por su transparencia:

  • Proxy transparente: Captura las peticiones del cliente automáticamente, sin necesidad de configuración adicional.
  • Proxy no transparente: Requiere que el cliente redirija las peticiones hacia el proxy para que sean procesadas.

Por su relación con los clientes:

  • Forward proxy: El cliente invoca el nombre del servidor de destino, y el proxy intercepta la petición y la envía en su nombre, ocultando al cliente.
  • Open proxy: Accesible por cualquier usuario desde cualquier lugar de la red, se utiliza para ocultar la dirección IP del cliente.
  • Reverse proxy: Recupera recursos de uno o más servidores en nombre de un cliente, presentándose como el origen de los recursos.

Por la aplicación que impersonan:

Existen servidores proxy específicos para diferentes aplicaciones o protocolos, como servidores proxy web, de correo electrónico, etc.

Operación en un proxy

  1. El cliente solicita un recurso al servidor remoto.
  2. La petición llega al proxy, ya sea por captura automática o por redirección del cliente.
  3. El proxy puede modificar la petición según su configuración.
  4. El proxy contacta con el servidor remoto y presenta la petición en nombre del cliente.
  5. El servidor remoto gestiona la petición y devuelve los resultados al proxy.
  6. El proxy puede examinar o transformar los resultados.
  7. El proxy traslada los resultados al cliente.

Integración del proxy con otras aplicaciones

  • Proxy de caché: Almacena las páginas descargadas para servirlas más rápidamente a otros clientes.
  • Proxy de filtrado: Evita el acceso a determinadas páginas web.
  • Proxy antivirus: Escanea el tráfico en busca de malware.
  • Proxy de registros de actividad: Registra la actividad de los usuarios.
  • Proxy mail filter: Filtra los mensajes de correo en busca de spam.

Proxy SOCKS

Un proxy SOCKS es una pasarela a nivel de circuito que conecta dos redes, independiente de las aplicaciones. El usuario debe estar preparado para dialogar con el proxy.

Tecnologías SOCKS:

  • SOCKS4: No soporta UDP ni autenticación.
  • SOCKS5: Soporta UDP y autenticación.

Operación en SOCKS

  1. El cliente negocia la conexión con el proxy.
  2. El cliente se comunica con el proxy utilizando el protocolo SOCKS.
  3. El servidor remoto interactúa con el proxy como si fuera el cliente.

Uso de SSH como proxy SOCKS

SSH puede crear un túnel cifrado que actúa como una pasarela SOCKS, protegiendo la red interna de intrusiones externas.

SOCKS vs NAT

  • Inspección de paquetes: NAT inspecciona y cambia la IP del paquete, SOCKS no.
  • Inicio de sesión: En NAT, el cliente inicia la sesión con el servidor; en SOCKS, el proxy establece la conexión con el servidor externo.
  • Autenticación: NAT no dispone de autenticación, SOCKS sí (versión 5).
  • Compatibilidad: NAT no requiere cambios en la aplicación cliente, SOCKS exige compatibilidad programada.

SQUID: Servidor proxy web

SQUID es un servidor proxy web de código abierto compatible con GNU/Linux y Windows. Ofrece características como caché multinivel, control de acceso, resolución DNS y soporte para SSL.

Configuración de caché y logs

SQUID almacena las páginas descargadas en caché para mejorar el rendimiento y registra la actividad de los usuarios en archivos de log.

Configuración de filtros mediante reglas y ACL

El filtrado de conexiones se realiza mediante reglas que utilizan listas de control de acceso (ACL) en el archivo de configuración.

Elementos de origen:

  • src: IP del cliente.
  • proxy_auth: Autenticación de usuarios.
  • browser: User-agent del navegador.

Elementos de destino:

  • dstdomain: Dominios solicitados por el cliente.
  • url_regex: Expresiones regulares para la URL solicitada.
  • urlpath_regex: Expresiones regulares para la ruta de la URL.
  • port: Números de puerto de destino.

Otros tipos de elementos:

  • req_mime_type: Tipo de contenido de las peticiones.

Construcción de una regla con ACL:

Se utiliza la directiva http_access con palabras clave como allow o deny para permitir o denegar el acceso según las ACL especificadas.

Métodos de autenticación en un proxy

Autenticación Squid:

Los navegadores web envían las credenciales de usuario codificadas en la cabecera Authorization de la petición HTTP.

Autenticación NCSA en Squid:

Se utiliza la directiva auth_param y la utilidad htpasswd para crear un archivo de usuarios/contraseñas permitidos.

Autenticación en Microsoft Forefront TMG:

Ofrece diferentes métodos de autenticación, como autenticación implícita, WDigest, integrada de Windows y basada en certificados de cliente.

Herramientas y gestión de logs

Utilidad Sarg:

Sarg (Squid Analysis Report Generator) genera informes HTML detallados sobre el uso del servidor proxy Squid.

Sarg se instala con la orden sudo apt-get install sarg o yum -y install sarg y se configura en el archivo sarg.conf.

Deja un comentario