Download - Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Transcript
Page 1: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Rocío Alt. Abreu Ortiz 2009-3393

Servidor Proxy -- SQUID

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.

1- Lo primero que tenemos que hacer es descargar e instalar el paquete squid y para

eso necesitamos entrar a la terminal root, haciendo click en Aplicaciones –

Accesorios – Terminal root.

Page 2: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

2- Para descargar e instalar el paquete SQUID, solo tienes que escribir apt-get install

squid

3- 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

Page 3: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

En este documento escribiremos las direcciones de las páginas web que será

bloqueada por el servidor proxy

4- 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.

Page 4: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

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

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”

5- 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

6- Vamos a probar que nuestro servidor proxy ha acogido nuestras restrincciones. Abre

tu navegador de internet, en mi caso es Iceweasel.

Page 5: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

7- Con el navegador abierto, haz click en Editar y luego en Preferencia.

8- Elige Avanzado – Red y luego haz click en Configuración…

9- Abre la terminal y escribe ifconfig para que sepas cual es tu dirección IP.

Page 6: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

10- 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.”

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”.

Page 7: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

Probemos en un computador con Windows y que este conectado

a la red.

Usando Internet Explorer, configura el proxy, haciendo click en Herramientas (Tools) y

luego Opciones de internet (Internet Options).

Selecciona la pestaña Conexiones (Connections) y luego haz click en Configuración de

LAN (LANSettings).

Page 8: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

Habilita la casilla ubicada en la sección de Proxy Server y escribe la dirección IP del

servidor.

Haz click en Ok, y prueba entrando a www.youtube.com

Nota: Con esta configuración se bloquean todas las páginas.

Aquí se muestra el

visible_hostname que

especificamos.

Page 9: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

Bloquear solo algunas páginas

1- En la terminal escribe gedit /etc/squid/squid.conf.

2- 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

3- 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:

Luego de haber realizado estas modificaciones, haz click en Guardar y cierra la ventana.

4- De vuelta en la terminal debemos reiniciar el servidor proxy, escribiendo

/etc/init.d/squid restart

Page 10: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

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

5- Ahora vamos a configurar el navegador Internet Explorer haciendo click en

Herramientas – Opciones de Internet…

6- Selecciona la pestaña Conexiones y selecciona Configuración de LAN…

Page 11: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

7- Antes de configurar el proxy, ve a tu server y escribe ifconfig para saber cual es tu

dirección IP.

8- 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.

Page 12: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

9- Ahora vuelve y prueba con algunas página para ver si tienes acceso.

Page 13: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

10- 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.

Mira aquí el contenido del archivo prohibidas.

Page 14: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

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.1.122 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.

1- Ya con la terminal abierta, escribe gedit /etc/squid/squid.conf para modificar el

archivo.

2- Ubica la línea que dice: # Adapt to list your (internal) IP networks from where

browsing.

Debajo de esta lista crearemos la de nosotros empleando lo que he especificado al

principio:

acl EQ1 src 192.168.1.122

acl EQ2 src 192.168.1.238

3- 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.

Page 15: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

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.

4- Una vez realizada esta configuración, es necesario reiniciar el servidor, utilizando la

siguiente línea /etc/init.d/squid restart

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.

Page 16: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

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.

Page 17: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

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)

Como verás ya se han eliminado las restrincciones para este cliente cuya dirección es

192.168.1.238.

Bloquear acceso por día y hora

En esta parte del tutorial crearemos una lista de acceso (ACL) que entra en vigencia en

ciertos horarios y en días específicos. Veamos como es la sintaxis.

La sintaxis para crear Listas de control de acceso que definan horarios es la siguiente:

acl [nombre del horario] time [días de la semana] hh:mm-hh:mm

Page 18: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

Los días de la semana se definen con letras, las cuales corresponden a la primera letra del nombre en inglés, de modo que se utilizarán del siguiente modo:

S - Domingo M - Lunes T - Martes W - Miércoles H - Jueves F - Viernes A – Sábado

Esta regla define a la lista diaslaborales, la cual comprende un horario de 01:00 a 1:30 horas desde el Lunes hasta el Viernes.

acl findesemana time SFA 01:00-1:30

Vamos a realizar este ejemplo, pero antes quiero recalcar que ustedes pueden acomodar los días y horas de acuerdo a sus necesidades, yo le he puesto solo media hora para la comprobación. Ya sabes tienes que escribir nano /etc/squid/squid.conf.

1- Ubica la parte que dice # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS; y escribe la lista de acceso.

2- Ahora tenemos que especificar que se deniegue la navegación en ese horario; escribiendo la siguiente línea: http_access deny diaslaborales. Debes poner esta línea un poco más abajo.

Page 19: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

3- El puerto de escucha que utiliza Squid es el 3128, así que para variar vamos a cambiar al 8080. Para lo cual debes de ubicar la siguiente línea dentro del archivo de configuración.

4- Guarda los cambios, y reinicia el servidor proxy para que los cambios tengan efecto.

Nota: Las horas están en un formato de 24 horas, por ejemplo 09:00 p.m => 21:00

5- Ve ahora a tu cliente, en mi caso sigo usando un cliente Windows. Intenta navegar, y como verás no está permitido, porque como puedes observar la hora del sistema es 1:02.

Page 20: Rocío Alt. Abreu Ortiz 2009-3393 Servidor Proxy -- SQUIDws2003learning.webcindario.com/debian/tutoriales/14Servidor Proxy... · Servidor proxy --SQUID Rocío Alt. Abreu O. 2009-3393

Servidor proxy --SQUID

Rocío Alt. Abreu O. 2009-3393

Después que pasan de las 1:30, haz un refresh (actualiza) la página, y verás como ya puedes navegar.

Otro ejemplo que mostraré será bloquear el acceso al dominio web .com en un determinado periodo de tiempo.

Este tipo de listas se aplican en las Reglas de Control de Acceso con una mecánica similar a la siguiente: se permite o deniega el acceso en el horario definido en la Lista de Control de Acceso denominada X para las entidades definidas en la Lista de Control de Acceso denominada Y. Lo anterior expresado en una Regla de Control de Acceso, queda del siguiente modo:

http_access [allow | deny] [nombre del horario] [lista de entidades]

1- Si se quiere establecer que los miembros de la Lista de Control de Acceso denominada luchtime tengan permitido acceder a páginas cuyo dominio sea .com en un horario que denominaremos como almuerzo, y que comprende de lunes a viernes de 12:00 a 14:00 horas.

La definción para el horario correspondería a:

acl luchtime srcdomain .com acl matutino time MTWHF 12:00-14:00