25
Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 Prof.: José Doñe <Servidor Proxy -- Squid en Debian.>

Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

Luis Omar Decena Gómez

Mat.: 2010 - 1940

Sistema Operativo 3

Prof.: José Doñe

<Servidor Proxy -- Squid en Debian.>

Page 2: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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.

Page 3: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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.

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

install squid.

Page 4: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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.

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 5: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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 6: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

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

Page 7: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

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

Page 8: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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 9: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

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

del servidor.

Page 10: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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 11: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

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

Page 12: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

Page 13: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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 14: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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 15: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

Page 16: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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 17: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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.

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

Page 18: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

5- Una vez realizada esta configuración, es necesario reiniciar el servidor,

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

Page 19: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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 20: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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.

Page 21: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

Entra a una página web.

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.

Page 22: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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

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.

Page 23: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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.

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

Page 24: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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.

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

ya puedes navegar.

Page 25: Luis Omar Decena Gómez Mat.: 2010 - 1940 Sistema Operativo 3 …debtroubleshootingcenter.weebly.com/uploads/1/1/6/2/... · 2018. 10. 16. · 1- Lo primero que tenemos que hacer es

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