Gregori Carmona Lorenzo 2011-2435
Instituto Tecnológico de Las Américas (ITLA)
Nombre:
Gregori Carmona Lorenzo
ID:
2011-2435
Asignatura:
Sistemas Operativos III
Instructor:
José Doñe
Tema:
Servidor proxy (SQUID)
Gregori Carmona Lorenzo 2011-2435
Un proxy es un punto intermedio entre un ordenador conectado a Internet y el servidor que está accediendo. Cuando navegamos a través de un proxy, nosotros en realidad no estamos accediendo directamente al servidor, sino que realizamos una solicitud sobre el proxy y es éste quien se conecta con el servidor que queremos acceder y nos devuelve el resultado de la solicitud.
Durante el proceso ocurre lo siguiente:
Cliente se conecta hacia un Servidor Intermediario (Proxy).
Cliente solicita una conexión, fichero u otro recurso disponible en un servidor distinto.
Servidor Intermediario (Proxy) proporciona el recurso ya sea conectándose hacia el servidor especificado o sirviendo éste desde un caché.
En algunos casos el Servidor Intermediario (Proxy) puede alterar la solicitud del cliente o bien la respuesta del servidor para diversos propósitos.
Squid consiste de un programa principal como servidor, un programa para búsqueda en servidores DNS, programas opcionales para reescribir solicitudes y realizar autenticación y algunas herramientas para administración y herramientas para clientes. Al iniciar Squid da origen a un número configurable (5, de modo predefinido a través del parámetro dns_children) de procesos de búsqueda en servidores DNS, cada uno de los cuales realiza una búsqueda única en servidores DNS, reduciendo la cantidad de tiempo de espera para las búsquedas en servidores DNS. Squid ha sido desarrollado durante muchos años y se le considera muy completo y robusto. Aunque orientado a principalmente a HTTP y FTP es compatible con otros protocolos como Internet Gopher.
Gregori Carmona Lorenzo 2011-2435
Debes abrir la terminal root, para lo cual debes hacer click en Aplicaciones – Accesorios – Terminal root.
Para descargar e instalar el paquete SQUID, solo tienes que escribir apt-get install squid
Gregori Carmona Lorenzo 2011-2435
Ahora crearemos la lista de páginas que el servidor proxy bloqueará. Crearemos la lista dentro del directorio /etc/squid y ayudándonos con el editor gedit, lo haremos de la siguiente manera: gedit /etc/squid/prohibidas
En este documento escribiremos las direcciones de las páginas web que será bloqueada por el servidor proxy
Gregori Carmona Lorenzo 2011-2435
Crea tu lista, según tus necesidades; luego haz click en Guardar y cierra la ventana. Ahora debemos de modificar el archivo que regula la configuración del servidor proxy –Squid. Para realizar este paso escribe /etc/squid/squid.conf
Ubícate al final del documento y especifica lo que se muestra en la imagen.
http_port = Establece el puerto de escucha para squid, en este caso 8080 que es el puerto http (páginas web).
acl prohibidas = Indica la lista de acceso que se tomará en cuenta
Gregori Carmona Lorenzo 2011-2435
url_regex */etc/squid/prohibidas* = indica la ruta en donde se encuentra la lista de acceso, en este caso “prohibidas”
http_access deny prohibidas = Especifica que se deniegue el acceso al contenido que tiene “prohibidas”
Una vez hayas modificado el archivo squid.conf, procedemos a reiniciar el servidor proxy para que los cambios tengan efecto. Basta con escribir /etc/init.d/squid restart
Vamos a probar que nuestro servidor proxy ha acogido nuestras restrincciones.
Abre tu navegador de internet, en mi caso es Iceweasel.
Gregori Carmona Lorenzo 2011-2435
Con el navegador abierto, haz click en Editar y luego en Preferencia. Elige Avanzado – Red y luego haz click en Configuración…
Gregori Carmona Lorenzo 2011-2435
Abre la terminal y escribe ifconfig para que sepas cual es tu dirección IP.
La dirección IP que posees es la que pondrás como dirección proxy. Selecciona la opción “Configuración manual del proxy” y escribe la dirección ip de tu PC; en Puerto, escribe el que especificaste que fue 8080 y selecciona la casilla “Usar el mismo proxy para todo.”
Gregori Carmona Lorenzo 2011-2435
Haz click en Aceptar para que se efectúen los cambios. Ahora intenta entrar a una de las páginas que contiene el archivo “prohibidas”.
Gregori Carmona Lorenzo 2011-2435
Probemos en un computador con Windows y que esté conectado a la red
Usando Internet Explorer, configura el proxy, haciendo click en Herramientas (Tools) y luego Opciones de internet (Internet Options).
Gregori Carmona Lorenzo 2011-2435
Selecciona la pestaña Conexiones (Connections) y luego haz click en Configuración de LAN (LANSettings).
Habilita la casilla ubicada en la sección de Proxy Server y escribe la dirección IP del
servidor.
Gregori Carmona Lorenzo 2011-2435
Haz click en Ok, y prueba entrando a www.youtube.com
Nota: Con esta configuración se bloquean todas las páginas.
Gregori Carmona Lorenzo 2011-2435
Bloquear solo algunas páginas
En la terminal escribe gedit /etc/squid/squid.conf.
Localiza la línea que dice # INSERT YOUR OWN RULE(S) HERE TO ALLOW
ACCESS FROM YOUR CLIENTS. Debajo de esta línea escribe algo similar a los que hicimos en la parte anterior. Vamos a utilizar la misma lista de acceso “prohibidas”.
visible_hostname Debian-Squeeze
acl prohibidas url_regex “/etc/squid/prohibidas”
http_access deny prohibidas
Un poco más abajo está la siguiente línea:
Es muy importante que cambies all por el nombre de la lista de acceso, que en mi caso es “prohibidas”. Como se muestra en la siguiente imagen:
Gregori Carmona Lorenzo 2011-2435
Luego de haber realizado estas modificaciones, haz click en Guardar y cierra la ventana.
De vuelta en la terminal debemos reiniciar el servidor proxy, escribiendo /etc/init.d/squid restart
Antes de aplicar las políticas del proxy sobre nuestro cliente, vamos a probar que podemos acceder a las direcciones que estarán bloqueadas. Prueba que puede entrar a www.facebook.com.
Gregori Carmona Lorenzo 2011-2435
Ahora vamos a configurar el navegador Internet Explorer haciendo click en Herramientas – Opciones de Internet.Selecciona la pestaña Conexiones y selecciona Configuración de LAN…
Antes de configurar el proxy, ve a tu server y escribe ifconfig para saber cual es tu dirección IP.
Gregori Carmona Lorenzo 2011-2435
De vuelta a la configuración del navegador IE selecciona la casilla ubicada en la sección “Servidor proxy” y pon la dirección IP del servidor y el puerto de squid 3128.
Ahora vuelve y prueba con algunas página para ver si tienes acceso.
Gregori Carmona Lorenzo 2011-2435
Como verás hemos comprobado que se han bloqueado todas las que contiene el archivo “prohibidas”. Verifica que sí te permite entrar a otra página.
Gregori Carmona Lorenzo 2011-2435
Mira aquí el contenido del archivo prohibidas.
Bloquear equipos
Para bloquear equipos, debemos configurar nuevamente el archivo squid.conf.
En este negaremos la entrada a un solo equipo. Utilizando acl EQ1 src 192.168.1.238 este será el equipo que bloquearemos, que en este caso la dirección IP es la del servidor. EQ1 es un nombre cualquiera que servirá para identificar el equipo que bloquearemos. acl EQ2 src 192.168.133.128 es lo mismo que la anterior solo que esta dirección no se tomará en cuenta debido a que tiene el signo de # que deshabilita el enunciado.
Ya con la terminal abierta, escribe gedit /etc/squid/squid.conf para modificar el archivo.
Ubica la línea que dice: # Adapt to list your (internal) IP networks from where browsing.
Gregori Carmona Lorenzo 2011-2435
Debajo de esta lista crearemos la de nosotros empleando lo que he especificado al principio:
Ahora tenemos que especificar que se deniegue el acceso http a esos equipos, y para llevar a cabo este paso debes localizar la línea # Adapt localnet in the ACL section to list your (internal) IP network, que está ubicada un poco más para abajo.
Debajo de http_access deny localhost, introduce lo siguiente:
http_access deny EQ1 http_access deny EQ2
http_access deny EQ1 indica que se bloquee la dirección de EQ1; #http_access deny EQ2 indica lo mismo pero no se toma en cuenta por que tiene el signo # delante.
Una vez realizada esta configuración, es necesario reiniciar el servidor, utilizando la siguiente línea /etc/init.d/squid restart
Gregori Carmona Lorenzo 2011-2435
Comprobación
Para la comprobación utilizaré un cliente Windows; y lo primero que debemos hacer es verificar que la dirección IP coincida con una de la que pusimos en el archivo squid.conf. Entonces presiona la tecla WIN + R, automáticamente te aparece Ejecutar. Ahí escribe cmd.
Escribe ipconfig para poder visualizar la dirección IP de la pc.
Gregori Carmona Lorenzo 2011-2435
Ya con la certeza de que la dirección coincide con la especificada, tenemos que configurar el navegador, de la misma manera que lo hicimos para el bloque de las páginas Web.
Entra a una página web.
Gregori Carmona Lorenzo 2011-2435
Ingresa de nuevo al archivo de configuración squid.conf, y comenta agregando el signo # la línea http_access deny EQ2.
Ahora vuelve al cliente, y haz un refresh a la página. Pero antes recuerda reiniciar el servicio squid (/etc/init.d/squid restart)