proxy en openbsd 4.6
TRANSCRIPT
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
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
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.
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.
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
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.
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
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.
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
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.
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”
Proxy En OpenBsd Página 12
Ahora empezamos a hacer las pruebas.
Como se puede ver el proxy está funcionando.
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/”
Proxy En OpenBsd Página 14
Y volvemos a hacer pruebas con alguna palabra que pusimos en el filtro.
Proxy En OpenBsd Página 15
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]
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”
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.
Proxy En OpenBsd Página 19
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
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.
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