You are on page 1of 9

Configuracin de Squid: Restriccin de acceso a Sitios de Internet

Autor:dark Joel Barrios Dueas Correo electrnico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
1999-2011 Joel Barrios Dueas. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicacin, a travs de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La informacin contenida en este documento y los derivados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad alguna si el usuario o lector, hace mal uso de stos.

Introduccin.
Denegar el acceso a ciertos Sitios de Red permite hacer un uso ms racional del ancho de banda con el que se dispone. El funcionamiento es verdaderamente simple y consiste en denegar el acceso a nombres de dominio o direcciones de Internet que contengan patrones en comn. Este documento considera que se ha ledo previamente, a detalle y en su totalidad el documento titulado Configuracin de Squid: Servidor Proxy, y que ha configurado exitosamente Squid como servidor proxy.

Restriccin por expresiones regulares.


Se debe crear un archivo donde se definir la lista de expresiones regulares.
vim /etc/squid/listas/expreg-denegadas

Esta lista puede contener cualquier expresin regular que se considere sea usualmente utilizadas en las direcciones de ciertos sitios.
adult celebri mp3 otrositioindeseable.com playstation porn sex sitioindeseable.com taringa torrent warez

wii

Esta lista, la cual deber ser completada con todas las palabras (muchas de ests son palabras obscenas en distintos idiomas) y direcciones de Internet que el administrador considere pertinentes, la guardaremos como /etc/squid/listas/expreg-denegadas. Edite el archivo /etc/squid/squid.conf:
vim /etc/squid/squid.conf

Aada una lista de control, denominada expreg-denegadas, de acceso tipo url_regex (expresiones regulares del URL), que defina al la lista en el archivo /etc/squid/listas/expregdenegadas:
acl expreg-denegadas url_regex "/etc/squid/listas/expregdenegadas"

Habiendo hecho lo anterior, deberemos tener en la seccin de Listas de Control de Acceso algo similar a lo siguiente:
# # Recommended minimum configuration: acl all src 0.0.0.0/0 acl manager proto cache_object acl localhost src 127.0.0.1/8 acl localnet src 192.168.1.0/24 acl password proxy_auth REQUIRED acl expreg-denegadas url_regex "/etc/squid/listas/expregdenegadas"

A continuacin especificaremos modificaremos una Regla de Control de Acceso existente agregando con un smbolo de ! que se denegar el acceso a la Lista de Control de Acceso denominada expreg-denegadas:
http_access allow localnet !expreg-denegadas

La regla anterior permite el acceso a la Lista de Control de Acceso denominada localnet, pero le niega el acceso a todo lo que coincida con lo especificado en la Lista de Control de Acceso denominada expreg-denegadas. Ejemplo aplicado a una Regla de Control de Acceso combinando el mtodo de autenticacin explicado en el documento Configuracin de Squid: Acceso por Autenticacin: Reglas de control de acceso: denegacin de sitios.
#

# INSERT YOUR OWN RULE(S) HERE TO allow ACCESS FROM YOUR CLIENTS # http_access allow localhost http_access allow localnet password !expreg-denegadas http_access deny all

Restriccin por expresiones regulares.


Para restringir el acceso por dominios, se crea un archivo con lista con dominios.
vim /etc/squid/listas/dominios-denegados

Los nombres pueden ser nombres de dominio especficos:


www.facebook.com www.twitter.com plus.google.com

O bien puede definirse todo el dominio completo, incluyendo sub-dominios:


.facebook.com .twitter.com

Nota.
Si define .dominio.com, es innecesario definir www.dominio.com o mail.dominio.com o ftp.dominio.com, etc., pues todos son subdominios de .dominio.com:

O bien se pueden definir dominios de nivel superior genricos o geogrficos.


.co.jp .com.cn .im .tv .xxx

O bien una combinacin de todo lo anterior.


.co.jp .com.cn .facebook.com plus.gogle.com .tv .twitter.com.im .xxx

Edite el archivo /etc/squid/squid.conf.


vim /etc/squid/squid.conf

Aada una lista de control, denominada dominios-denegados, de acceso tipo dstdomain (dominios de destino), que defina al la lista en el archivo /etc/squid/listas/dominiosdenegados.
acl dominios-denegados dstdomain "/etc/squid/listas/dominiosdenegados"

Aada una regla de control de acceso que deniegue el acceso a sitios que estn incluidos en la lista de dominios.
http_access allow localnet !expreg-denegadas !dominiosdenegados

Permitiendo acceso a sitios inocentes incidentalmente bloqueados.


Si por ejemplo, el incluir una expresin regular en particular, en la lista de expresiones regulares denegadas, afecta incidentalmente el acceso a un sitio de Internet en particular, tambin puede generarse una lista de dominios que sern excluidos de las restricciones. Utilice el editor de texto para crear el archivo /etc/squid/dominios-inocentes.
vim /etc/squid/dominios-inocentes

El contenido puede ser una lista de dominios o bien dominios de nivel superior, que se considere deban ser accedidos por la red local en cualqueir momento y sin restricciones.
.alcancelibre.org .edu .edu.mx .eluniversal.com.mx .gob.mx .gov .milenio.com .org .org.mx .unam.mx www.google.com www.google.com.mx

Este archivo ser definido en una Lista de Control de Acceso del mismo modo en que se hizo anteriormente con el archivo que contiene dominios y palabras denegadas.
acl dominios-inocentes dstdomain "/etc/squid/dominios-

inocentes"

Para hacer uso de el archivo, slo bastar utilizar la expresin ! en la misma lnea utilizada para la Regla de Control de Acceso establecida para denegar el mismo.
http_access allow all dominios-inocentes

La regla anterior especifica que se permitir el libre acceso, en todo momento, a los dominios incluidos en la lista de control de acceso denominada dominios-inocentes.

Finalizando procedimiento.
Finalmente, slo bastar recargar la configuracin de Squid para que tomen efecto los cambios y se puedan realizar pruebas.
service squid reload

Cmo configurar squid con soporte para direcciones MAC.


Autor: Joel Barrios Dueas Correo electrnico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1 1999-2011 Joel Barrios Dueas. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicacin, a travs de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La informacin contenida en este documento y los derivados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad alguna si el usuario o lector hace mal uso de stos.

Introduccin.
Acerca de Squid.
Squid es un Servidor Intermediario (Proxy) de alto desempeo que se ha venido desarrollando desde hace varios aos y es hoy en da un muy popular y ampliamente utilizado entre los sistemas operativos como GNU/Linux y derivados de Unix. Es muy confiable, robusto y verstil y se distribuye bajo los trminos de la Licencia Pblica General GNU (GNU/GPL). Siendo equipamiento lgico libre, est disponible el cdigo fuente para quien as lo requiera. de modo predeterminado no est incluido el soporte para listas de control de acceso basadas sobre direcciones MAC (Media Access Control).

Equipamiento lgico necesario.


Instalacin a travs de yum.
A partir de CentOS 5.6 y Red Hat Enterprise Linux 5.6, el paquete de Squid ya incluye soporte para direcciones MAC. Solo es necesario ejecutar lo siguiente:
yum -y install squid

Procedimientos
Este documento considera que se ha ledo a detalle el documento Cmo configurar Squid: Parmetros bsicos para servidor de intermediacin (Proxy). Se requiere se hayan configurado al menos los siguientes parmetros:

http_port, ejemplo: http_port 8080 transparent cache_dir, ejemplo: cache_dir ufs /var/spool/squid 1024 16 256 error_directory, ejemplo: error_directory
/usr/share/squid/errors/Spanish

Se requiere adems determinar los valores las siguientes variables que debern ser reemplazadas por datos reales:

Las direcciones MAC especificadas en los ejemplos. las direcciones MAC de todos los equipos de la LAN se pueden obtener, si se est realizando las operaciones desde un servidor que sirve de puerta de enlace, utilizando el mandato arp con la opcin -n, es decir: arp -n. Alternativamente, la direccin MAC desde una estacin trabajo con Windows se puede obtener la direccin MAC utilizando el mandato ipconfig con la opcin /all:
ipconfig /all

Alternativamente, la direccin MAC desde una estacin trabajo con Linux se puede obtener la direccin MAC utilizando el mandato ifconfig.

Archivo /etc/squid/listas/macsredlocal.
Crear un archivo denominado /etc/squid/listas/macsredlocal
vi /etc/squid/listas/macsredlocal

Donde el contenido ser una lista de direcciones MAC a la cual se aplicarn reglas de control de acceso. Ejemplo:
00:01:80:41:9C:8A 00:08:A1:84:18:AD 00:16:E3:9D:CD:77 00:04:75:AA:2D:A1 00:19:D2:6B:41:45 00:13:10:8D:4A:EE 00:19:21:14:9B:0D

Archivo /etc/squid/squid.conf
Se edita el archivo /etc/squid/squid.conf:
vi /etc/squid/squid.conf

En ste se debe configurar la lista de control de acceso con un nombre que la identifique y diferencie claramente de las dems listas, asignado el tipo de lista como arp. En el siguiente ejemplo, se crea la lista de control de acceso denominada macsredlocal de tipo arp y cuyos elementos que la conforman estn en el archivo /etc/squid/listas/macsredlocal:
acl macsredlocal arp "/etc/squid/listas/macsredlocal"

Se crea una regla de control de acceso que permita a los miembros de la lista de control de acceso hacer algo. En el siguiente ejemplo se define que est permitido el acceso a la lista macsredlocal:
http_access allow macsredlocal

Si se creo alguna lista para limitar el acceso hacia palabras y otra para extensiones, como se describe en los documentos Cmo configurar Squid: Restriccin de acceso a Sitios de Red y Cmo configurar Squid: Restriccin de acceso a contenido por extensin , la regla de control de acceso podra quedar de la siguiente manera:
http_access allow macsredlocal !porno !extensiones

Si adems se creo alguna lista para limitar los horarios de acceso, como se describe en el documento Cmo configurar Squid: Restriccin de acceso por horarios , la regla de control de acceso podra quedar de la siguiente manera:
http_access allow matutino macsredlocal !porno !extensiones

Cualquier otra forma de utilizar la lista de control de acceso con direcciones MAC depender de la imaginacin del administrador.

Iniciar, detener y reiniciar el servicio squid.


Para ejecutar por primera vez el servicio squid con las configuraciones creadas, utilice:
service squid start

Para hacer que los cambios hechos tras modificar la configuracin surtan efecto, utilice:
service squid restart

Para detener el servicio squid utilice:


service squid stop

Para hacer que el servicio de squid est activo con el siguiente inicio del sistema, en todos los niveles de ejecucin (2, 3, 4 y 5), se utiliza lo siguiente:
chkconfig squid on

You might also like