Internet funciona de manera transparente para muchas personas, subestimando todos los esfuerzos que están detrás de su administración para lograr rapidez, seguridad, privacidad, entre otras características deseadas en una red de datos. Uno de los grandes protagonistas en esta “transparencia” son los servidores proxy.
Probablemente las personas que acceden a Internet desde una empresa o red corporativa hayan utilizado un servidor proxy para poder salir a la nube; pero, ¿qué es un servidor proxy y para qué se utiliza?
En este artículo conocerá exactamente lo que son estos servidores y que hacen por usted y su red; también conocerá cómo instalar un proxy en Linux, específicamente en sus distribuciones Ubuntu y CentOS.
¿Qué es un Servidor Proxy?
Un servidor proxy, o simplemente proxy, no es más que una computadora (o un software que se ejecuta en una computadora) que sirve como un intermediario para procesar las solicitudes de Internet dentro de una red; es una especie de puerta de enlace entre los computadores de una red e Internet. El proxy acepta y reenvía todas las solicitudes de conexión con Internet y devuelve los datos de estas solicitudes.
Todo el tráfico desde y hacia Internet fluye a través del servidor proxy en su camino hacia su destino y esto le permite proporcionar diversos niveles de acceso, privacidad, seguridad y funcionalidad que ayudan enormemente en el proceso de administración de la red y mejoran su rendimiento.
¿Para qué sirve un servidor proxy?
Como ya se dijo, un proxy es un intermediario entre los hosts de una red e Internet, pero ésta es sólo una parte de lo que puede hacer.
Los servidores proxy pueden actuar como un firewall o filtro web, almacenar datos de uso común en caché para acelerar las solicitudes, compartir una conexión, proteger la red interna, brindar privacidad, aplicar restricciones o control de acceso, entre otras cosas.
En general, un proxy sirve principalmente para:
- Filtrado de contenido: con esta función el administrador de la red puede establecer políticas de acceso a los sitios web o servicios a los que los empleados de la organización podrán acceder. Con esto se evita que los empleados accedan a sitios web bloqueados mientras trabajan o a horas específicas. Las combinaciones de restricciones son infinitas y se adaptan a las políticas de acceso de cualquier organización.
- Mejorar el rendimiento de la red: los proxys pueden configurarse para almacenar en caché los sitios web que se han visitado, las descargas y otros elementos almacenables que pueden ser consultados nuevamente en el futuro por el mismo usuario u otro usuario de la misma red. Al estar almacenado en caché no hará falta volver a hacer la consulta a Internet, sino que la respuesta proviene de lo almacenado localmente, esto hace que el tiempo de procesamiento sea más eficiente porque se reduce la latencia. El almacenamiento en la caché es algo temporal, el tiempo de permanencia puede ser configurado por el administrador.
- Alojar el Firewall: el firewall o cortafuegos es un elemento de la seguridad de la red que actúa como barrera entre la red e Internet. Con esta barrera se puede bloquear el acceso no deseado a la red como parte de la protección contra hackers o malware. El firewall es en sí el que se encargará de interceptar y aprobar (o bloquear) el tráfico que solicita entrada a la red, para evitar que circulen en la misma paquetes no deseados.
- Seguridad: además de alojar el firewall, los proxys brindan seguridad a la red porque permite el anonimato del host ya que todos los usuarios de la red se encuentran ocultos de detrás de la dirección IP del proxy; es decir, que el servidor proxy es la cara visible de la red, dificultando a los hackers atacar a un host en particular porque le será mucho más difícil encontrarlo.
- Compartir acceso a Internet: usualmente en las empresas y hogares existe una única salida a Internet y esa está gestionada por el servidor Proxy. Por lo cual esa única dirección IP pública es compartida por todos los dispositivos de la red cuando acceden a la web gracias a que el proxy canaliza las solicitudes de todos.
Un servidor proxy sirve para esto y más. La cantidad de aplicaciones dependerá, en su mayoría, de las políticas internas de la organización porque con ellos se puede incluso eludir restricciones regionales para el acceso a sitios web específicos, monitorear la red (y este monitoreo brinda datos para análisis de seguridad y diseño de futuras políticas), mejorar la velocidad porque hay un mejor uso del ancho de banda, etc.
Tipos de servidores proxy
Según la forma cómo funcionan, podemos encontrar los siguientes tipos de proxy:
- Proxy transparente: se identifica ante los sitios web como un servidor proxy y entrega su dirección IP.
- Proxy anónimo: se identifica ante los sitios web como un servidor proxy, pero no entrega su dirección IP, ayudando a prevenir el robo de identidad y a mantener su privacidad.
- Proxy distorsionador: se identifica ante los sitios web como un servidor proxy, pero transmite una dirección IP falsa.
- Proxy de alto anonimato: se identifica ante los sitios web como un servidor proxy, pero cambia periódicamente la dirección IP. Así funciona la red TOR. Es la manera más segura y privada de navegar por Internet.
¿Cómo funciona un servidor proxy?
Un servidor proxy es básicamente una computadora de nuestra red que tiene en Internet su propia dirección IP y es la única que puede acceder a la web, por tanto sirve de pasarela para que el resto de los dispositivos naveguen a través de ella.
Cuando se envía una solicitud hacia la web, esa solicitud va directo al servidor proxy. Luego, el proxy realiza una solicitud web en nombre del dispositivo que la realizó, recibe la respuesta del sitio web y le reenvía nuevamente al dispositivo que realizo la consulta esos datos para que pueda ver la página web a través de su navegador.
El servidor proxy cambia la dirección IP del solicitante por la suya así que el servidor web no sabe exactamente quien la realizó dentro de la red local.
Durante este proceso de solicitudes el proxy puede cifrar los datos, protegiéndolos durante el tránsito; igualmente puede bloquear el acceso a ciertas de esas solicitudes según las políticas de acceso establecidas, comparando el URL solicitado, dirección IP o palabras clave contra el conjunto de directivas configuradas.
También, antes de salir hacia Internet, el proxy revisa en su almacenamiento caché si lo solicitado no se encuentra almacenado; de ser así, el tráfico se queda local porque el proxy responde a la solicitud inmediatamente, en caso contrario la solicitud sigue su curso hacia la web.
¿Por qué es recomendable usar un servidor proxy a nivel de empresas u otras organizaciones?
Lo primero que se debe comprender es que los recursos organizacionales, independientemente de su naturaleza, son finitos, por eso la administración de estos recursos es fundamental.
En segundo lugar, es importante comprender que la seguridad informática y los activos digitales de estas organizaciones es un elemento que cada día cobra mayor valor, por eso toda acción que vaya en pro de resguardar la seguridad de la información de la organización y demás elementos informáticos es un factor clave y aquí los servidores proxy juegan un importante papel.
En definitiva, es recomendable usar un servidor proxy en las organizaciones porque permite:
- Controlar el uso de Internet de los empleados o miembros de la organización.
- Monitorear los hábitos de navegación de los empleados o miembros de la organización para detectar acciones indebidas o elementos que ayuden a mejorar la seguridad.
- Ahorrar ancho de banda porque parte del tráfico permanece local y sólo se les da salida a elementos realmente permitidos. Esta acción conlleva a mejorar la velocidad y rendimiento de la red por el control de tráfico.
- Obtiene privacidad porque todos los miembros de la organización salen hacia la web con una única dirección IP lo que mantiene su información personal y hábitos de navegación más privados (sólo serán conocidos dentro de la propia red).
- Mejorar la seguridad: además de la privacidad nombrada anteriormente, con el proxy se pueden cifrar las solicitudes web para evitar que terceros lean sus transacciones. Adicionalmente ayuda a proteger de malware e intrusos. Se sugiere reforzar esta seguridad con la implementación de una Red Privada Virtual (VPN) que provee de una conexión más segura y que protege los datos de la compañía.
¿Cómo instalar su propio servidor proxy en GNU/Linux?
GNU/Linux, en cualquiera de sus distribuciones, es el sistema operativo más usado para instalar servidores de diversos tipos, entre ellos el servidor proxy.
Squid es el proxy de código abierto más utilizado en la actualidad. Es un servidor proxy principalmente de almacenamiento en caché que se utiliza mayormente para el filtrado el tráfico web y el acceso a contenido restringido que mejora en gran medida la velocidad del servidor web, el uso del ancho de banda de la red, entre otros. Funciona para los varios protocolos como FTP, HTTP, HTTPS y muchos más.
En este artículo, aprenderá a instalar Squid Proxy para las distribuciones Ubuntu y CentOS 7.
Instalar Squid en Ubuntu
El pack de Squid se encuentra incluido en los repositorios oficiales de Ubuntu.
Estando en modo de root ejecute los siguientes comandos para instalar Squid:
sudo apt update
sudo apt install squid
Completada la instalación Squid se inicia automáticamente y se ejecuta por defecto en el puerto 3128. Puede cambiar a otro puerto diferente editando el archivo de configuración de Squid y cambiando el valor de http_port haciendo lo siguiente:
/etc/squid/squid.conf
http_port XXXX
Después de los cambios reinicie Squid con el siguiente comando
sudo service squid restart
Antes de realizar cualquier cambio, siempre es una buena idea hacer una copia de seguridad del archivo de configuración original. De aquí en adelante lo que resta es configurar Squid según sus requisitos, para ello establezca una Lista de Control de Acceso (ACL) según las características de su red y necesidades administrativas y luego modifique el archivo de configuración.
Instalar Squid en CentOS 7
Para instalar Squid en CentOS, estando en modo root, lo primero que se recomienda es actualizar el sistema y los paquetes, para ello utilice el siguiente comando:
yum -y update
Como Squid no está disponible de manera predeterminada en yum, el siguiente paso es instalar el repositorio EPEL en su servidor escribiendo lo siguiente:
yum -y install epel-release
yum -y update
yum clean all
Con esto ya se encuentra disponible un repositorio para Squid Proxy, instálelo con la siguiente sentencia:
yum -y install squid
Inicie Squid para verificar la instalación escribiendo
systemctl start squid
Se sugiere programar el inicio automático de Squid con la carga del sistema, esto lo logra mediante el siguiente comando
systemctl enable squid
Igual que en el caso anterior, de aquí en adelante lo que resta es configurar Squid según sus requisitos, establezca una ACL según las características de su red y necesidades administrativas y luego modifique el archivo de configuración mediante el comando
nano /etc/squid/squid.conf.
Un servidor proxy es una pieza fundamental en su red, si no lo ha configurado no pierda tiempo y aproveche de hacerlo para que obtenga todos los beneficios administrativos y de gestión de redes que le ofrece.