Servidor Proxy con Squid y Webmin
¿Qué es un Proxy y para qué sirve?
Un proxy es un ordenador intermedio que se usa en la comunicación de otros dos. La información (generalmente en Internet) va directamente entre un ordenador y otro. Mediante un proxy, la información va, primero, al ordenador intermedio (proxy), y éste se lo envía al ordenador de destino, de manera que no existe conexión directa entre el primero y el último.
¿Cómo se monta un proxy?
Pues con una IP dinámica, un servidor, un dominio, configurar el servidor (Linux o Windows) para ello, una sencilla página web, banners de publicidad y promocionarse (anunciarse).
¿Cuales son las Ventajas de un servidor proxy?
- Cuando se usa un proxy en una red interna para usarlo como conexión entre el exterior (Internet) y el interior (cada ordenador interno) posee muchas ventajas:
- Menos tiempo de configuración (sólo hay que configurar el proxy).
- Mayor seguridad
- Filtrados más eficientes
- Velocidad
- En otros casos la mayor ventaja, sin duda es el anonimato
¿Cuales son las desventajas de un servidor proxy?
Las ventajas que ofrece un servidor Proxy son:
- Carga. El proxy puede verse sometido a demasiada carga si muchos ordenadores realizan peticiones de forma simultánea.
- Caché de datos entre 2 ordenadores. Algunos proxies pueden guardar copias de las transferencias, lo que supone cierta intromisión e inseguridad.
- Desactualización. En algunos proxies la información más actual puede verse afectada.
¿Que tipos de Proxies hay?
Las ventajas que ofrece un servidor Proxy son:
- Proxy web.
- Proxy inverso.
- Proxy NAT.
- Proxy transparente.
- Proxy abierto.
¿Que es squid?
Squid es un servidor proxy para web con caché. Es una de las aplicaciones más populares y de referencia para esta función, software libre publicado bajo licencia GPL. Entre sus utilidades está la de mejorar el rendimiento de las conexiones de empresas y particulares a Internet guardando en caché peticiones recurrentes a servidores web y DNS, acelerar el acceso a un servidor web determinado o añadir seguridad realizando filtrados de tráfico.
¿Con que protocolos trabaja Squid?
Aunque orientado principalmente a HTTP y HTTPS soporta también otros protocolos como FTP e incluso Gopher. Implementa cifrado SSL/TLS tanto en la conexión al servidor web como a los navegadores y cualquier cliente web que lo soporte.
¿Que es Webmin?
Webmin es una herramienta de configuración de sistemas accesible vía web para sistemas Unix, como GNU/Linux y OpenSolaris,Webmin está escrito en Perl, versión 5, ejecutándose como su propio proceso y servidor web. Por defecto se comunica mediante TCP a través del puerto 10000. Con él se pueden configurar aspectos internos de muchos sistemas operativos, como usuarios, cuotas de espacio, servicios, archivos de configuración, apagado del equipo, etcétera, así como modificar y controlar muchas aplicaciones libres, como el servidor web Apache, PHP, MySQL, DNS, Samba, DHCP, entre otros.
¿que hace Webmin?
Webmin también permite controlar varias máquinas a través de una interfaz simple, o iniciar sesión en otros servidores webmin de la misma subred o red de área local. Codificado por el australiano Jamie Cameron, Webmin está liberado bajo Licencia BSD. Existe también Usermin que es la versión reducida del Webmin.
Instalación de Squid3
Una vez iniciado el sistema en este caso Ubuntu Server 14.04 lo primero que se debe hacer es tener una configuración de red como la que se ve a continuación. Para ello se ejecuta el comando ifconfig donde el interface eth0 está conectada a internet y la segunda interface eth1 debe tener una dirección ip fija en este caso 192.168.1.3 que se utilizara para el servicio.
se ejecuta el comando sudo apt-get update para actualizar la lista de repositorios.
Luego se realiza un Upgrade con el comando sudo apt-get upgrade
Ahora se instala el comando sudo apt-get install squid3 para la instalación de Squid, pedirá que se confirme la operación de instalación para ello se escribe S y se presiona enter.
Para cambiar la configuración del servidor proxy Squid se debe editar el archivo squid.conf con el comando sudo nano /etc/squid3/squid.conf
Por ejemplo si se desea cambiar el puerto en el que trabaja el servicio se debe buscar en el archivo squid.conf la línea con el texto http_port 3128, el puerto 3128 es el puerto por defecto en este caso se dejó el puerto por defecto.
Instalar Webmin
Para instalar Webmin se debe ejecutar la siguiente lista de comandos (sin $):
$ sudo add-apt-repository ‘deb http://download.webmin.com/download/repository sarge contrib’
$ sudo add-apt-repository ‘deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib’
$ wget http://www.webmin.com/jcameron-key.asc
$ sudo apt-key add jcameron-key.asc
$ rm jcameron-key.asc
$ sudo apt-get update
$ sudo apt-get install webmin
Al momento de instalar pedirá una confirmación, se escribe S y se presiona enter.
Ingresar a Webmin desde un equipo cliente
Para ingresar desde un navegador a Webmin desde un cliente se escribe en un navegador http://ipdelservidor:10000 en este caso seria http://192.168.1.3:10000 se recomienda usar firefox.
Al tratar de ingresar aparecerá un mensaje diciendo que la conexión no es segura, se da click al botón Avanzado y se da click al botón Añadir Excepción.
Se da click al botón Confirmar Excepción de seguridad para continuar.
Confirmada la excepción de seguridad aparecerá una ventana inicio de sesión, se deben escribir la cuenta de usuario y contraseña del administrador del sistema del servidor Ubuntu Server.
Configuraciones
Al ingresar se puede notar que esta configurado por defecto en ingles. para cambiar el idioma y otros aspectos se va al menú Webmin > Webmin Configuration, por el momento solo configuraremos el idioma, se da click en Language.
Aparecerá un menú y se busca el idoma que se quiere usar en este caso Spanish (ES.UTF-8).
Crear ACL’s o Reglas de Acceso
Hecho el cambio de idioma se va al menú Servidores > Squid – Servidor Proxy aparecen las configuraciones para configurar el servicio.
Para crear ACL’s o reglas de acceso se debe dar click en la opción Control de Acceso.
Primero aparecerá una lista de control de acceso en la parte inferior aparece un botón Crear Nueva ACL y seleccionando al lado Expresion Regular URL.
Se le asigna un nombre a la nueva ACL y en el cuadro Expresiones regulares en este caso se escribirá google y yahoo y seleccionar la opción Configuración Squid y se click al botón Salvar.
Una vez guardada se va a la pestaña Restricciones Proxy y se notará que la ACL que se creo para permitir ingresar a buscadores (google, yahoo), Squid para realizar las conexiones lee la lista desde la parte superior hacia la inferior, por ende la regla recién creada no funcionara porque antes de esta esta una regla que deniega todo el tráfico.
Para mover la regla a la parte superior basta con dar click a la flecha que apunta hacia arriba, como se ve en la imagen la regla de permitir ingresar a los buscadores esta en primer lugar seguida de denegar el ingreso a todo el trafico esto hará que cualquier ingreso a una pagina que no sea los dominio especificados se le negara el acceso, por ultimo en la parte superior se da click a la opción Aplicar cambios.
ahora se configura la red del cliente para que se utilice el servidor proxy.
al escribir google en el navegador se verá que se puede ingresar al sitio web sin problemas
Pero al tratar de ingresar a otro sitio web por ejemplo a wikipedia se podrá ver que lanza un mensaje de acceso denegado, lo cual confirma que la configuración de las reglas funciona correctamente.
Esto a sido todo por esta entrada en una próxima entrada se hablará más sobre este servidor y los servicios que puede ofrecer.
Podrias hablar mas sobre el tema?
Me sera de gran utilidad.