proxy en openbsd 4.6

22
Proxy En OpenBsd Página 1 PROXY EN OPENBSD 4.6 Por: Jennifer Julieth Murillo Areiza Administración De Redes de Computadores Fernando Quintero SENA Centro De Servicios y Gestión Empresarial CESGE MEDELLIN 2010

Upload: jh3n1

Post on 23-Jun-2015

2.833 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 1

PROXY EN OPENBSD 4.6

Por:

Jennifer Julieth Murillo Areiza

Administración De Redes de Computadores

Fernando Quintero

SENA Centro De Servicios y Gestión Empresarial CESGE

MEDELLIN

2010

Page 2: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 2

CONTENIDO

INTRODUCION

OBJETIVOS

1. Conceptos Previos……………………………………………………………5

2. Estructura del Servidor…………………………………………………….....6

3. Configuración de la Red……………………………………………………...7

4. Configuración de Squid……………………………………………………….8

4.1 Instalación de Squid……………………………………………………....8

4.2 Configuración Básica de Squid……………………………………….....8

5. Creando Filtros Básicos……………………………………………………....9

5.1 Filtros Denegando Sitios por IP, Nombre de Dominio y palabras….10

6. Probando Proxy……………………………………………………………....11

7. Configuración del Proxy Transparente………………………………….....13

7.1 Probando Proxy Transparente………………………………………....13

8. Otros Filtros…………………………………………………………………..16

8.1 Filtro por hora Y día……………………………………………………..16

8.2 Filtro por extensiones de Archivo …………………………………......17

CONCLUSIONES

BIBLIOGRAFIA

Page 3: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 3

INTRODUCCION

Este manual hará énfasis en cómo montar un servidor proxy Web básico,

desde la instalación y configuración básica, creación de ACL y de filtros que

podrán ser de gran ayuda en entornos empresariales, en escuelas y colegios.

Page 4: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 4

OBJETIVOS

Instalar y configurar un servidor Squid Proxy para minimizar los riesgos de

usuarios que pretenden entrar a internet y ver contenido no apropiado que

perturba los entornos laborales.

Page 5: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 5

1. CONCEPTOS PREVIOS

1.1 ¿Qué es Squid?

Es un software de licencia GPL que implementa el servidor proxy y una cache

para páginas web. Tiene una gran variedad de utilidades entre ellas acelerar un

servidor web, guardar en cache paginas visitas por los usuarios que hacen uso

del proxy etc. Squid es uno del software más completo siendo en un principio

orientado principalmente para HTTP y FTP.

1.2 ¿Qué es un Proxy Transparente?

Squid puede se configurado de manera transparente de manera que se enrutan

el trafico en el servidor sin que se tenga que hacer configuración extra en el

cliente, así el usuario nunca se percata de que existe este en la red.

1.3 ¿Qué es un Proxy web/cache?

Squid soporta peticiones HTTP, HTTPS y FTP a los usuarios que estén

haciendo uso del proxy. Estas peticiones son guardadas en una cache de

manera que cuando se haga una petición a una conexión que ya esta

registrada esta no tenga que ir hasta el servidor remoto a resolverla.

1.4 Puerto De Escucha

Squid generalmente escucha por el puerto 3128, pero uno puede cambiar este

y ponerlo a escuchar por cualesquiera

Page 6: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 6

2. ESTRUCTURA DEL SERVIDOR

Para empezar con la instalación de squid sería de gran ayuda tener una

estructura de este.

Page 7: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 7

3. CONFIGURACION DE LA RED

Para empezar con la configuración del servidor proxy primero voy a configurar

las opciones de red. En OpenBsd las interfaces se nombran según el fabricante

de la tarjeta. La ruta en donde se guarda el archivo de configuración es

/etc/hostname.* “Nombre de la interface”. Quedara parecido a lo siguiente.

Interna

#cat /etc/hostname.vic0

192.168.238.2 255.255.255.0 NONE

Internet

#cat /etc/hostname.vic1

dhcp

Luego creamos otro archivo que tendrá la puerta de enlace de nuestra red. El

archivo se llamara mygate. Quedara parecido a esto.

#cat /etc/mygate

192.168.238.2

Page 8: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 8

4. Configuración De SQUID

4.1 Instalación de Squid

Para instalar Squid en OpenBsd lo hacemos con la herramienta pkg, de la

siguiente manera.

#pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.6/packages/i386/squid-2.7.STABLE7p0.tgz

Al terminar la instalación aparecerá algo así.

[…]

You can also edit /etc/rc.local so that Squid is started automatically:

if [ -x /usr/local/sbin/squid/ ]; then

echo –n „Squid‟; /usr/local/sbin/squid

fi

Esto lo que nos está indicando es que pongamos estas líneas al final del

archive /etc/rc.conf para que Squid se inicie al inicio con los demás servicios.

4.2 Configuración Básica de Squid

Para empezar con la configuración ingresamos al archivo que se encuentra en

/etc/squid/Squid.conf y editamos las siguientes modificaciones.

#Puerto por donde escucha el proxy

#TAG: http_port

http_port 3128

El siguiente parámetro se utiliza para establecer que tamaño va a tener la

cache en el disco duro para Squid.

#Establecer tamaño de Cache

#TAG: cache_dir

cache_dir ufs /var/Squid/cache 100 16 256

Esto nos está indicando que hay 100MB de cache, 16 directorios y 256

subdirectorios.

Page 9: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 9

El siguiente parámetro establece la cantidad de memoria para el tráfico, ósea

objetos frecuentemente utilizados.

#TAG: cache_mem

Cache_mem 32MB

Seguimos con el nombre que será visible en los clientes.

#TAG: visible_hostname

Visible_hostname localhost

Configurar squid para que muestre los mensajes de error en español. En

OpenBsd la ruta de esto es /usr/local/share/squid/errors.

#TAG: error_directory

Error_directory /usr/share/squid/errors/Spanish

Luego guardamos y salimos y ejecutamos el siguiente comando

# squid –z

2010/09/25/ 21:19:45 | Creating Swap Directories

Si no se tienen errores de sintaxis nos debe de ejecutar el siguiente comando

sin problemas

#/usr/local/sbin/squid

Page 10: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 10

5. Creando Filtros Básicos

Para empezar a denegar o permitir cosas en nuestra red, debemos crear las

respectivas acl. La sintaxis es muy sencilla “acl aclname string |archivo”. De

esta manera si queremos crear una acl para nuestra red quedara de la

siguiente manera.

#TAG: acl

acl redlan src 192.168.238.0/24

Luego de crear la acl la aplicamos en el TAG: http_access, de la siguiente

manera. Las ACL se deniegan o se permiten en esta parte según como se la

necesidad. En este caso se tiene que permitir la Red Local.

#TAG: http_access

http_access allow redlan.

5.1 Filtros Denegando Sitios por IP, Nombre de Dominio y palabras.

Para denegar de esta manera lo que voy a hacer es crear un archivo en

“/etc/squid/” que se va a llamar sitios_deny, dentro de el ingresare las IP,

nombres de dominio y palabras que quiera bloquear.

File: /etc/Squid/sitios_deny

www.facebook.com

juegos

taringa

200.13.228.22

Después ingresamos al archivo /etc/Squid/squid.conf agregamos la acl y

aplicamos el filtro en http_access, asi.

#TAG: acl

acl sitios url_regex “/etc/Squid/sitios_deny”

#TAG: http_access

http_access deny sitios

Con esto podemos hacer las primeras pruebas.

Page 11: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 11

6. Probando Proxy

Para ello basta con entrar a un navegador y colocar la ip de nuestro servidor

proxy en las configuraciones de red. En mi caso utilizare el Mozilla Firefox

Abrimos el navegador damos click en “Editar/preferencias/Anvazado”

Page 12: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 12

Ahora empezamos a hacer las pruebas.

Como se puede ver el proxy está funcionando.

Page 13: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 13

7. CONFIGURACION DE PROXY TRANSPARENTE

Para esto vamos a entrar al archivo de configuración del Squid y en el TAG

http_port le vamos a poner la palabra transparent, así.

#TAG: http_port

http_port 127.0.0.1:3128 transparent

Y en la configuración del firewall vamos a agregar la regla para que re todo el

tráfico que vaya por el puerto 80 lo re direccione a la interface loopback por el

puerto 3128.

File: /etc/pf.conf

# rdr pass on $interna proto tcp to port http -> 127.0.0.1 port 3128

8. Prueba Proxy Transparente

Volvemos a ingresar al navegador y quitamos el proxy.

Entramos al navegador Firefox en “Editar/Preferencias/Avanzado/”

Page 14: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 14

Y volvemos a hacer pruebas con alguna palabra que pusimos en el filtro.

Page 15: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 15

Page 16: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 16

8. OTROS FILTROS

8.1 Filtro por Días y Horas.

Squid nos permite hacer un filtrado por medio de los días de la semana y la

hora Exacta. Con esto podemos denegar la salida a internet de los usuarios en

la hora del almuerzo por ejemplo. Maneja la siguiente sintaxis:

Para los días de la Semana.

S – Sunday

M – Monday

T – Tuesday

W - Wednesday

H – Thursday

F – Friday

A – Saturday

Sintaxis completa

acl deny_tiempo time SMH 14:00-14:30

Esta acl la vamos a ubicar en el TAG: acl asi.

#TAG: acl

acl deny_tiempo time SMH 10:00-10:30

Y luego en http_access la aplicamos, en mi caso voy a denegar la acl.

#TAG: http_access

http_access deny deny_tiempo

Lo que estoy diciendo en la anterior acl es que deniegue el Internet los días

Domingos, lunes y jueves en el horario de 10AM a 10:30AM.

Para la hora

[hora inicio: min inicio-hora fin: min fin]

Page 17: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 17

Como podemos ver en la imagen anterior son las 10:14, y al intentar abrir una

página cualesquiera nos va a decir que no se puede.

8.2 Filtrando por extensión de archivo.

Squid nos permite hacer filtrado por medio de extensiones de archivo, así,

cuando se encuentre una URL con alguna de las extensiones que se

bloquearon no dejara descargarlas.

La sintaxis es la siguiente.

Acl aclname urlpath_regex “extenciones o archivo que las contiene”

Para mi caso voy a bloquear las extenciones “mp3, zip, rar, exe, jpg”

Acl extensiones urlpatch_regex “/etc/Squid/extenciones/”, esta acl la pondré en

el TAG: acl asi.

#TAG: acl

Acl extensiones urlpath_regex “/etc/Squid/extensiones”

Page 18: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 18

La aplicamos en el TAG: http_access así.

#TAG: http_access

http_access deny extensiones

Creando el archivo

File: /etc/Squid/extensiones

\.mp3$

\.exe$

\.jpeg$

\.rar$

\.zip$

Ahora hacemos las pruebas.

Page 19: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 19

Page 20: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 20

Aquí esta filtrando los exe, y asi lo hara para las demás extenciones que se

encuentran en el archivo

Page 21: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 21

CONCLUSIONES

Como se puede ver la configuración de un proxy básicamente es muy sencilla,

ya que las sintaxis son fáciles de comprender.

Una de las ventajas que encontré es que es que hay demasiada

documentación para la implementación de Squid, y esta es válida para

cualesquier sistema en el que se quiera implementar y sea Windows, Unix o

Linux.

Page 22: Proxy en Openbsd 4.6

Proxy En OpenBsd Página 22

BIBLIOGRAFIA

Página oficial de OpenBsd Colombia

http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_c

on_Ubuntu_Server_y_Squid/index.html

http://www.linuxparatodos.net/portal/staticpages/index.php?page=19-0-

como-squid-general