Instalacin y Configuracin de un servidor Proxy con En esta prctica se pretende instalar y configurar un servidor Proxy en Linux con Squid y un cortafuegos GuFW en el servidor Ubuntu. La administracin del proxy se realizara mediante Webmin. En el servidor Proxy se creara una regla de acceso donde se prohibe la entrada a pginas relacionadas con sexo, pornografa, etc. El cortafuegos se configurara como permisivo y solo se cortaran los accesos entrantes y salientes a la aplicacin amule como ejemplo. El documento contiene los siguientes apartados: 1. Instalacin del servidor Proxy y GuFW. 2. Instalacin de Webmin. 3. Configuracin Squid y pruebas realizadas. 4. Configuracin de GufW y pruebas.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2
Instalacin del servidor Proxy y GuFW. Para la instalacin del firewall GuFW abriremos una sesin de la terminal Bash en nuestra maquina Ubuntu y desde la misma ejecutaremos el comando sudo aptitude install gufw tal y como se aprecia en la captura siguiente, el sistema se encargara de descargar los paquetes necesarios para la instalacin, y nos solicitara confirmacin para la instalacin, pulsaremos y
Acto seguido y como se aprecia a continuacin el sistema comenzara la instalacin en s de GuFW
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3
Una vez termine la instalacin de los paquetes que componen el firewall y los halla configurado, el sistema nos devuelve el control de la terminal bash, como se aprecia en la siguiente captura.
Y el sistema nos habr creado un lanzador a GuFW en Sistema, Administracin tal y como se puede comprobar en la siguiente captura.
Con esto habremos terminado la instalacin del Cortafuegos GuFW. A continuacin procederemos a la instalacin del servidor proxy Squid en el sistema, para ello lo documentaremos 3 procedimientos de instalacin distintos para el servidor Squid. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 4
El primer procedimiento de descarga se realizara desde el Gestor de paquetes Synaptic, en el cual una vez iniciado desde sistema, administracin, gestor de paquetes synaptic, introduciremos en el cuadro de bsqueda squid, y pulsaremos buscar tal y como se aprecia en la captura siguiente.
El gestor de paquetes nos mostrara el resultado de la bsqueda y marcaremos para la instalacin squid, el cual seleccionara los paquetes adicionales necesarios para su funcionamiento, y haremos clic en aplicar. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 5
Una vez realizado lo anterior comenzara la instalacin de los paquetes de Squid, y si pulsamos en detalles nos mostrara los detalles de la instalacin mediante una consola. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 6
Cuando finalice la instalacin el servidor proxy Squid se habr instalado en el sistema, otro procedimiento para la instalacin de Squid es apt-get install squid tal y como se observa
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 7
El ultimo procedimiento de instalacin del servidor proxy Squid ser llevado a cabo desde Un- used Modules de la herramienta de administracin web Webmin, (de la cual documentaremos su instalacin en otro punto) donde seleccionaremos Squid Proxy Server en la lista de mdulos no usados, y haremos clic en l, con lo que se nos mostrara la pantalla de la captura, en la cual habremos de hacer clic en click here (marcado en cuadro rojo) para que se realice su instalacin.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 8
Una vez realizado el clic se procede a la instalacin del servidor de manera no asistida por el usuario, el sistema entiende que le has dado competencias para realizar la instalacin sin necesidad de confirmacin u otra intervencin del usuario (notese la opcion en los parmetros de instalacin -y --force -yes -f a continuacin de apt-get)
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 9
El sistema nos informa no solo de la correcta instalacin del servidor en s, sino tambin de los paquetes necesarios para el correcto funcionamiento del servidor proxy tal y como se muestra en las siguientes capturas, instalacin correcta de squid-langpack, squid-common, el propio squid, tal y como se muestra a continuacin.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 0
Para por ltimo y una vez instalado el servidor poder acceder a la interfaz grfica de administracin y configuracin que provee Webmin.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 1
Instalacin de Webmin. Para la instalacin de webmin habremos de proceder de la siguiente manera, podremos bien dirigirnos directamente a la pgina de Webmin (www.webmin.com) y seleccionar downloads
En esa pgina procederemos a seleccionar la descarga que sea compatible con nuestra distro de Linux, en este caso Debian para deban, Ubuntu y otros derivados Linux, tal y como se observa en la captura, haremos clic para descargar. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 2
Una vez descargada y en el sistema Ubuntu si hacemos doble clic sobre el archivo, aparecer la opcin de abrir con (tal y como se aprecia en la captura) el instalador de paquetes Gdebi que es el predeterminado para instalar descargas con la extensin .deb como es el caso de nuestra descarga webmin_1620_all.deb, pulsamos aceptar.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 3
Cargara el instalador de paquetes GDebi y haremos clic en Instalar paquete arriba a la derecha
Lo que dar comienzo a la instalacin propiamente dicha, si hacemos clic en terminal veremos el progreso de la instalacin.
Continuando la instalacin de webmin CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 4
Realizando la configuracin de administrador CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 5
Y notificndonos la finalizacin exitosa de la instalacin de webmin.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 6
Los pasos para instalar Webmin en Ubuntu desde la terminal son los siguientes, ejecutaremos sudo aptitude update, e instalamos una serie de paquetes que nos hacen falta para la instalacin de Webmin y para que se configure con SSL mediante sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions nos aseguraremos de estar en nuestro directorio personal home mediante el comando wget http://downloads.sourceforge.net/webadmin/webmin_1.620_all descargaremos la ltima versin de webmin y procederemos a su instalacin mediante el comando sudo dpkg -i webmin_1.620_all.deb Una vez instalado podemos acceder a la interfaz web de Webmin usando un navegador y escribiendo la direccin IP del equipo donde est instalado seguida del puerto donde est escuchando, por defecto, el 10.000. Eso s, debemos estar atentos porque en vez de usar el protocolo HTTP, usaremos el HTTPS, en nuestro caso la IP ser https://192.168.0.199:10000 o lo que es lo mismo https://servidorweb:10000. Nos encontraremos con la siguiente advertencia si accedemos desde Firefox y aadiremos una excepcin, por lo que hacemos clic sobre Obtener certificado y despus sobre Confirmar excepcin de seguridad.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 7
Iniciaremos sesin en Webmin y nuestro nombre de usuario ser el usuario del sistema con privilegios de administrador, en este caso sr05 y como clave 1.
Y as accedemos a la interfaz de Webmin.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 8
Configuracin Squid y pruebas realizadas. Para la configuracin de Squid proxy server se ha partido de cero sin que existiera ninguna acl ni restriccin proxy en el servidor, habiendo suprimido todas aquellas que aparecan por defecto en la configuracin del mismo. Una vez realizado esto, haremos clic en Access Control (marcado en cuadro rojo en la captura) para proceder a configurar nuestras listas de control de accesos.
Una vez en la pantalla de Control de Acceso, para crear una nueva lista de control de acceso habremos de seleccionar el tipo de lista en el desplegable de la derecha (marcado rojo), y una vez seleccionado el tipo pulsar el botn crear nuevo de la izquierda. (Marcado azul) CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 1 9
Para definir la siguiente lista de control de acceso seleccionaremos el tipo Direccin de Cliente (client address) y pulsaremos crear nuevo, una vez nos presenta la imagen siguiente, en esta ocasin para el nombre de la lista (acl name) introduciremos all es una acl que verifica todos los equipos de la red, es equivalente a acl all src 0.0.0.0/0.0.0.0 Posteriormente se utilizara para establecer una poltica preestablecida para denegarlo o aceptarlo todo, por lo tanto introduciremos 0.0.0.0 en el espacio (From ip), el espacio hasta ip (to ip) lo dejaremos vacio, y por ultimo introduciremos 0.0.0.0 en el espacio de mascara de red (netmask), y acto seguido pulsaremos salvar, y volveremos a acl haciendo clic en return to acls. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 0
La siguiente lista de control de acceso seleccionaremos el tipo Direccin de Cliente (client address) y pulsaremos crear nuevo, una vez nos presenta la imagen siguiente, en esta ocasin para el nombre de la lista (acl name) introduciremos localhost y en el espacio desde ip (from ip) introduciremos la ip loopback del sistema 127.0.0.1 esta lista tiene por objeto registrar nuestra maquina como origen de conexiones y acto seguido pulsaremos salvar, y volveremos a acl haciendo clic en return to acls. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 1
Para la siguiente lista de control de acceso seleccionaremos el tipo url_regex el cual permite especificar expresiones regulares para comprobar una url completa, desde el http:// inicial, y pulsaremos crear nuevo, en el nombre de esta lista introduciremos las iniciales de nuestro nombre y apellidos, en este caso JCTS, marcaremos la opcin de ignore case para que ignore CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 2
las maysculas, no introduciremos nada en el cuadro de expresiones, y en la ltima fila store acl values in file almacenar valores en archivo marcaremos separate file archivo separado y haremos clic en el cuadro con los tres puntos para seleccionar el archivo de configuracin y su ubicacin y acto seguido pulsaremos salvar, y volveremos a acl haciendo clic en return to acls.
Previamente a la seleccin del archivo que contendr las expresiones a comprobar, habr que crearlo e introducir en l lo que queramos comprobar, en este caso queremos que se bloquee el acceso a las pginas que contengan pornografa, para conseguirlo crearemos mediante la terminal bash un archivo llamado porno.acl en la carpeta /etc/squid/, para ello desde la terminal realizaremos cd /etc/squid y una vez en la carpeta deseada nano porno.acl con lo que nos creara dicho archivo.
Una vez en dicho archivo el cual estamos editando aadiremos tantas expresiones como deseemos en este caso se han incluido 10 urls de pginas de contenido pornogrfico, y aparte de estas 18 expresiones que pudieran conducir a una bsqueda de contenido pornogrfico por medio de un buscador cualquiera, una vez configurado a nuestro gusto el archivo CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 3
pulsaremos control+o para guardar el contenido escrito en el archivo seleccionado y control+x para salir de nano.
Una vez realizado lo anterior el aspecto que tendr la pantalla de listas de control de acceso ser el de la captura siguiente, una vez aqu seleccionaremos la pestaa Proxy restrictions (marcada en rojo) y haremos clic en ella. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 4
Una vez en Editar restricciones de proxy, crearemos dos reglas de control de acceso, la primera de ellas ser allow autorizar y seleccionaremos la acl all con ello habremos conseguido CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 5
una regla en la que todos tengan acceso, sin que se realice ninguna comprobacin de expresin.
Y a continuacin crearemos la regla que comprobara las expresiones que hemos introducido en el archivo y si coincide alguna de ellas no permitir la conexin, para ello seleccionaremos deny denegar y en la lista de coincidencias acl (match acl) seleccionaremos nuestra lista de control de acceso JCTS, y en la lista de no coincide acl (dont match acl) localhost que es el equipo origen de las conexiones.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 6
Solo queda ordenar las reglas de acceso para un correcto funcionamiento de nuestro servidor proxy squid, para ello por medio de las flechas pondremos en primer lugar la regla deny JCTS!localhost por encima de allow all, ya que si no se realizase esto no se comprobara expresin alguna, ya que si no se coloca la regla ms restrictiva primero, no pasa a analizar la segunda regla.
Con ello tendramos configurado el servidor proxy squid solo deberamos pulsar apply changes , a continuacin stop squid y una vez parado el servidor ponerlo en marcha de nuevo haciendo clic en start squid.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 7
Una vez configurado y en marcha nuestro servidor proxy, solo nos queda configurar nuestro navegador para que haga uso de l, para ello en Firefox, en la opcin de la barra de mens Editar haremos clic en preferencias, en la ventana que cargara, haremos clic en avanzado, y una vez all, seleccionaremos la pestaa red en la que haremos clic en configuracin.
En la ventana de configuracin de conexin, seleccionaremos la configuracin manual del proxy e introduciremos los datos del mismo, nuestra direccin ip 192.168.0.199 y el puerto de escucha es el definido por defecto para squid 3128, hacer notar que se configurara el no usar proxy para localhost ni para 127.0.0.1 de manera automtica. Una vez configurado pulsaremos aceptar.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 8
PRUEBAS En Firefox una vez realizado lo anterior, introduciremos la url de una pgina pornogrfica, la cual hemos hecho mencin especfica dentro del archivo porno.acl en concreto es.pornhub.com, comprobamos que el proxy bloquea el acceso a dicha pgina.
Lo mismo ocurre con otra url nombrada en el archivo, www.babosas.com tambin es bloqueado por el proxy.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 2 9
Comprobaremos ahora si la bsqueda en google de una de las expresiones nombradas en el archivo nos devuelve algn tipo de direccin, en este caso haremos la bsqueda con la expresin sex, y comprobamos como ha sido bloqueada por squid.
Lo mismo sucede con otra expresin incluida tambin en el archivo, en este caso anal, que tambin son bloqueados los resultados por squid. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 0
Sin embargo cualquier otra bsqueda no coincidente con las expresiones del archivo porno.acl devuelve resultados y permiten el acceso normalmente, como se aprecia en la imagen.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 1
Por ultimo una captura de ventana del sistema con una bsqueda bloqueada por el servidor proxy, una bsqueda no bloqueada, la pgina de inicio de Firefox, y la informacin de la conexin del sistema.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 2
Configuracin de GufW y pruebas. Para la configuracin de GuFW primero lo iniciaremos, por lo que iremos a sistema, administracin, seleccionaremos configuracin del cortafuegos.
Se nos solicitara que introduzcamos nuestra contrasea
Con lo que se cargara nuestro cortafuegos, lo activaremos lo configuraremos en modo permisivo (marcado en rojo), y pulsaremos el botn aadir para introducirle las reglas que deseamos (marcado en azul). CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 3
Seleccionaremos la opcin de Mostrar acciones extendidas y podremos escoger entre introducir las reglas pre configuradas en las cuales solo habremos de seleccionar el nmero de orden de la regla, si la regla es permitir o denegar, la conexin entrante o saliente, con registro sin registro o registro completo, si es un programa o servicio y el nombre del programa de una lista de varios. El modo simple el cual podremos seleccionar el nmero de orden de la regla, si la regla es permitir o denegar, el tipo de trafico entrante o saliente, con registro sin registro o registro completo, el protocolo TCP, UDP o ambos, y el nombre del programa. Y por ltimo el modo Avanzado el nmero de orden de la regla, si la regla es permitir o denegar, el tipo de trfico entrante o saliente, con registro sin registro o registro completo, el protocolo TCP, UDP o ambos, la direccin ip de inicio y la direccin ip del final as como los puertos que deseamos filtrar. En este caso hemos elegido la opcin avanzada si bien hemos deseleccionado la opcin mostrar acciones extendidas, y acto seguido hemos pasado a denegar la conexin entrante del protocolo TCP en la direccin ip 192.168.0.199 en el puerto 4662 que es el puerto de transferencias cliente a cliente P2P de amule por defecto.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 4
Hemos pasado a denegar la conexin saliente del protocolo TCP en la direccin ip 192.168.0.199 en el puerto 4662 que es el puerto de transferencias cliente a cliente P2P de amule por defecto.
Hemos pasado a denegar la conexin entrante del protocolo UDP en la direccin ip 192.168.0.199 en el puerto 4665 que es el puerto utilizado para recibir y enviar peticiones de bsqueda globales. (ste siempre es el puerto anterior +3)
Hemos pasado a denegar la conexin saliente del protocolo UDP en la direccin ip 192.168.0.199 en el puerto 4665 que es el puerto utilizado para recibir y enviar peticiones de bsqueda globales.
CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 5
Hemos pasado a denegar la conexin entrante del protocolo UDP en la direccin ip 192.168.0.199 en el puerto 4672 que es el puerto utilizado para el protocolo eMule extendido: Queue Rating, File Reask Ping, etc.
Hemos pasado a denegar la conexin saliente del protocolo UDP en la direccin ip 192.168.0.199 en el puerto 4672 que es el puerto utilizado para el protocolo eMule extendido: Queue Rating, File Reask Ping, etc.
Quedando GuFW configurado con las siguientes reglas. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 6
Con anterioridad a esto se instal en el sistema el cliente aMule.
Para proceder a la prueba de nuestro firewall, iniciaremos aMule desde aplicaciones, internet, aMule, hacer constar que a modo de prueba se ha utilizado aMule en el equipo para que comenzara a conectarse y a descargar como se observara a continuacin. CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 7
Obsrvese que se encuentran dos descargas activas en aMule, y que la fecha de la ltima recepcin de ambas es 17/02/2013 a las 22.36 y las 22.31 respectivamente.
Observar que en las estadsticas de aMule se observa como a lo largo de la sesin 26.48 minutos no se ha descargado de la red, ni subido nada a la misma por parte de aMule, y en la CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO 3 8
esquina inferior izquierda de aMule ha saltado el aviso de ID baja (marcado en rojo) esto indica que no ha sido posible establecer una comunicacin correcta entre dos usuarios lo que ocasiona que descargas lentas, e incluso hay servidores que eliminan las fuentes con ID baja. Tambin se observa que la red Kad se encuentra tras cortafuegos en la parte inferior derecha.
Observar que el ndice de descarga y subida no est disponible, que no existen ni subidas ni descargas activas CONFIGURACION PROXY SQUID EN LINUX Y CONFIGURACION FIREWALL SIMPLE