configuracion proxy squid y cortafuegos simple en linux

Anuncio
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Instalación y Configuración de un servidor Proxy con
En esta práctica se pretende instalar y configurar un servidor Proxy en Linux con
Squid y un cortafuegos GuFW en el servidor Ubuntu. La administración del proxy se
realizara mediante Webmin.
En el servidor Proxy se creara una regla de acceso donde se prohibe la entrada a
páginas relacionadas con sexo, pornografía, etc.
El cortafuegos se configurara como permisivo y solo se cortaran los accesos
entrantes y salientes a la aplicación amule como ejemplo.
El documento contiene los siguientes apartados:
1.
2.
3.
4.
Instalación del servidor Proxy y GuFW.
Instalación de Webmin.
Configuración Squid y pruebas realizadas.
Configuración de GufW y pruebas.
JUAN C TIRADO
1
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Instalación del servidor Proxy y GuFW.
Para la instalación del firewall GuFW abriremos una sesión 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 instalación, y nos solicitara confirmación para la instalación, pulsaremos
“y”…
Acto seguido y como se aprecia a continuación el sistema comenzara la instalación en sí de
GuFW…
JUAN C TIRADO
2
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Una vez termine la instalación 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, Administración tal y como se
puede comprobar en la siguiente captura.
Con esto habremos terminado la instalación del Cortafuegos GuFW.
A continuación procederemos a la instalación del servidor proxy Squid en el sistema, para ello
lo documentaremos 3 procedimientos de instalación distintos para el servidor Squid.
JUAN C TIRADO
3
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
El primer procedimiento de descarga se realizara desde el Gestor de paquetes Synaptic, en el
cual una vez iniciado desde sistema, administración, gestor de paquetes synaptic,
introduciremos en el cuadro de búsqueda “squid”, y pulsaremos buscar tal y como se aprecia
en la captura siguiente.
El gestor de paquetes nos mostrara el resultado de la búsqueda y marcaremos para la
instalación squid, el cual seleccionara los paquetes adicionales necesarios para su
funcionamiento, y haremos clic en aplicar.
JUAN C TIRADO
4
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Una vez realizado lo anterior comenzara la instalación de los paquetes de Squid, y si pulsamos
en detalles nos mostrara los detalles de la instalación mediante una consola.
JUAN C TIRADO
5
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Cuando finalice la instalación el servidor proxy Squid se habrá instalado en el sistema, otro
procedimiento para la instalación de Squid es “apt-get install squid” tal y como se observa…
JUAN C TIRADO
6
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
El ultimo procedimiento de instalación del servidor proxy Squid será llevado a cabo desde Unused Modules de la herramienta de administración web Webmin, (de la cual documentaremos
su instalación en otro punto) donde seleccionaremos Squid Proxy Server en la lista de módulos
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
instalación.
JUAN C TIRADO
7
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Una vez realizado el clic se procede a la instalación del servidor de manera no asistida por el
usuario, el sistema entiende que le has dado competencias para realizar la instalación sin
necesidad de confirmación u otra intervención del usuario (notese la opcion en los
parámetros de instalación “-y --force -yes -f” a continuación de apt-get)
JUAN C TIRADO
8
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
El sistema nos informa no solo de la correcta instalación del servidor en sí, sino también de los
paquetes necesarios para el correcto funcionamiento del servidor proxy tal y como se muestra
en las siguientes capturas, instalación correcta de squid-langpack, squid-common, el propio
squid, tal y como se muestra a continuación.
JUAN C TIRADO
9
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Para por último y una vez instalado el servidor poder acceder a la interfaz gráfica de
administración y configuración que provee Webmin.
JUAN C TIRADO
1
0
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Instalación de Webmin.
Para la instalación de webmin habremos de proceder de la siguiente manera, podremos bien
dirigirnos directamente a la página de Webmin (www.webmin.com) y seleccionar downloads…
En esa página procederemos a seleccionar la descarga que sea compatible con nuestra distro
de Linux, en este caso Debian para debían, Ubuntu y otros derivados Linux, tal y como se
observa en la captura, haremos clic para descargar.
JUAN C TIRADO
1
1
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Una vez descargada y en el sistema Ubuntu si hacemos doble clic sobre el archivo, aparecerá la
opción 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 extensión “.deb” como es el caso de
nuestra descarga “webmin_1620_all.deb”, pulsamos aceptar.
JUAN C TIRADO
1
2
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Cargara el instalador de paquetes GDebi y haremos clic en Instalar paquete arriba a la
derecha…
Lo que dará comienzo a la instalación propiamente dicha, si hacemos clic en terminal veremos
el progreso de la instalación.
Continuando la instalación de webmin…
JUAN C TIRADO
1
3
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Realizando la configuración de administrador…
JUAN C TIRADO
1
4
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Y notificándonos la finalización exitosa de la instalación de webmin.
JUAN C TIRADO
1
5
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
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
instalación 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 versión de webmin y procederemos a su instalación 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 dirección 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 añadiremos una
excepción, por lo que hacemos clic sobre Obtener certificado y después sobre Confirmar
excepción de seguridad.
JUAN C TIRADO
1
6
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Iniciaremos sesión 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.
JUAN C TIRADO
1
7
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Configuración Squid y pruebas realizadas.
Para la configuración de Squid proxy server se ha partido de cero sin que existiera ninguna
“acl” ni restricción proxy en el servidor, habiendo suprimido todas aquellas que aparecían por
defecto en la configuración 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 botón crear nuevo de la izquierda. (Marcado azul)
JUAN C TIRADO
1
8
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Para definir la siguiente lista de control de acceso seleccionaremos el tipo Dirección de Cliente
(client address) y pulsaremos crear nuevo, una vez nos presenta la imagen siguiente, en esta
ocasión 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 política 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.
JUAN C TIRADO
1
9
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
La siguiente lista de control de acceso seleccionaremos el tipo Dirección de Cliente (client
address) y pulsaremos crear nuevo, una vez nos presenta la imagen siguiente, en esta ocasión
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.
JUAN C TIRADO
2
0
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
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 opción de ignore case para que ignore
JUAN C TIRADO
2
1
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
las mayúsculas, 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 configuración y su
ubicación y acto seguido pulsaremos salvar, y volveremos a acl haciendo clic en return to acls.
Previamente a la selección 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 páginas que contengan pornografía, 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 añadiremos tantas expresiones como
deseemos en este caso se han incluido 10 urls de páginas de contenido pornográfico, y aparte
de estas 18 expresiones que pudieran conducir a una búsqueda de contenido pornográfico
por medio de un buscador cualquiera, una vez configurado a nuestro gusto el archivo
JUAN C TIRADO
2
2
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
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 pestaña “Proxy restrictions”
(marcada en rojo) y haremos clic en ella.
JUAN C TIRADO
2
3
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
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
JUAN C TIRADO
2
4
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
una regla en la que todos tengan acceso, sin que se realice ninguna comprobación de
expresión.
Y a continuación crearemos la regla que comprobara las expresiones que hemos introducido
en el archivo y si coincide alguna de ellas no permitirá la conexión, 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 (don´t match acl) localhost que es el
equipo origen de las conexiones.
JUAN C TIRADO
2
5
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
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 comprobaría
expresión alguna, ya que si no se coloca la regla más restrictiva primero, no pasa a analizar la
segunda regla.
Con ello tendríamos configurado el servidor proxy squid solo deberíamos pulsar “apply
changes” , a continuación “stop squid” y una vez parado el servidor ponerlo en marcha de
nuevo haciendo clic en “start squid”.
JUAN C TIRADO
2
6
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
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 opción de la barra de menús
Editar haremos clic en preferencias, en la ventana que cargara, haremos clic en avanzado, y
una vez allí, seleccionaremos la pestaña red en la que haremos clic en configuración.
En la ventana de configuración de conexión, seleccionaremos la configuración manual del
proxy e introduciremos los datos del mismo, nuestra dirección 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 automática.
Una vez configurado pulsaremos aceptar.
JUAN C TIRADO
2
7
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
PRUEBAS
En Firefox una vez realizado lo anterior, introduciremos la url de una página pornográfica, la
cual hemos hecho mención específica dentro del archivo “porno.acl” en concreto
es.pornhub.com, comprobamos que el proxy bloquea el acceso a dicha página.
Lo mismo ocurre con otra url nombrada en el archivo, www.babosas.com también es
bloqueado por el proxy.
JUAN C TIRADO
2
8
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Comprobaremos ahora si la búsqueda en google de una de las expresiones nombradas en el
archivo nos devuelve algún tipo de dirección, en este caso haremos la búsqueda con la
expresión “sex”, y comprobamos como ha sido bloqueada por squid.
Lo mismo sucede con otra expresión incluida también en el archivo, en este caso “anal”, que
también son bloqueados los resultados por squid.
JUAN C TIRADO
2
9
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Sin embargo cualquier otra búsqueda no coincidente con las expresiones del archivo
“porno.acl” devuelve resultados y permiten el acceso normalmente, como se aprecia en la
imagen.
JUAN C TIRADO
3
0
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Por ultimo una captura de ventana del sistema con una búsqueda bloqueada por el servidor
proxy, una búsqueda no bloqueada, la página de inicio de Firefox, y la información de la
conexión del sistema.
JUAN C TIRADO
3
1
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Configuración de GufW y pruebas.
Para la configuración de GuFW primero lo iniciaremos, por lo que iremos a sistema,
administración, seleccionaremos configuración del cortafuegos.
Se nos solicitara que introduzcamos nuestra contraseña…
Con lo que se cargara nuestro cortafuegos, lo activaremos lo configuraremos en modo
permisivo (marcado en rojo), y pulsaremos el botón añadir para introducirle las reglas que
deseamos (marcado en azul).
JUAN C TIRADO
3
2
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Seleccionaremos la opción de Mostrar acciones extendidas y podremos escoger entre
introducir las reglas pre configuradas en las cuales solo habremos de seleccionar el número de
orden de la regla, si la regla es permitir o denegar, la conexión 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 número 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 número de orden de la regla, si la regla es permitir o
denegar, el tipo de tráfico entrante o saliente, con registro sin registro o registro completo, el
protocolo TCP, UDP o ambos, la dirección ip de inicio y la dirección ip del final así como los
puertos que deseamos filtrar.
En este caso hemos elegido la opción avanzada si bien hemos deseleccionado la opción
mostrar acciones extendidas, y acto seguido hemos pasado a denegar la conexión entrante del
protocolo TCP en la dirección ip 192.168.0.199 en el puerto 4662 que es el puerto de
transferencias cliente a cliente P2P de amule por defecto.
JUAN C TIRADO
3
3
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Hemos pasado a denegar la conexión saliente del protocolo TCP en la dirección 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 conexión entrante del protocolo UDP en la dirección ip
192.168.0.199 en el puerto 4665 que es el puerto utilizado para recibir y enviar peticiones de
búsqueda globales. (Éste siempre es el puerto anterior +3)
Hemos pasado a denegar la conexión saliente del protocolo UDP en la dirección ip
192.168.0.199 en el puerto 4665 que es el puerto utilizado para recibir y enviar peticiones de
búsqueda globales.
JUAN C TIRADO
3
4
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Hemos pasado a denegar la conexión entrante del protocolo UDP en la dirección 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 conexión saliente del protocolo UDP en la dirección 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.
JUAN C TIRADO
3
5
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
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 continuación.
JUAN C TIRADO
3
6
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
Obsérvese que se encuentran dos descargas activas en aMule, y que la fecha de la última
recepción de ambas es 17/02/2013 a las 22.36 y las 22.31 respectivamente.
Observar que en las estadísticas de aMule se observa como a lo largo de la sesión 26.48
minutos no se ha descargado de la red, ni subido nada a la misma por parte de aMule, y en la
JUAN C TIRADO
3
7
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
esquina inferior izquierda de aMule ha saltado el aviso de ID baja (marcado en rojo) esto indica
que no ha sido posible establecer una comunicación correcta entre dos usuarios lo que
ocasiona que descargas lentas, e incluso hay servidores que eliminan las fuentes con ID baja.
También 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…
JUAN C TIRADO
3
8
CONFIGURACION PROXY SQUID EN LINUX Y
CONFIGURACION FIREWALL SIMPLE
JUAN C TIRADO
3
9
Descargar