3. Cómo configurar Squid: Restricción de acceso a sitios Web.
Introducción. Denegar el acceso a ciertos sitos Web permite hacer un uso más racional del ancho de banda con el que se dispone. El funcionamiento es verdaderamente simple, y consiste en denegar el acceso a sombres de dominio o direcciones Web que contengan patrones en común. Este manual considera que usted ya ha leído previamente, a detalle y en su totalidad el manual "Como configurar Squid: Servidor Proxy" y que ha configurado exitosamente Squid como servidor proxy.
Software requerido. Para poder llevar la cabo los procedimientos descritos en este manual y documentos relacionados, usted necesitará tener instalado al menos squid-2.4STABLE1.
Definiendo patrones comunes. Lo primero será generar una lista la cual contendrá direcciones Web y palabras usualmente utilizadas en nombres de ciertos dominios. Ejemplos:
www.sitioporno.com www.otrositioporno.com sitioindeseable.com otrositioindeseable.com napster sex porn mp3 xxx adult warez |
Esta lista, la cual deberá ser completada con todas las palabras (muchas de está son palabras obscenas en distintos idiomas) y direcciones Web que el administrador considere pertinentes, la guardaremos como /etc/squid/sitios-denegados.
Parámetros en /etc/squid/squid.conf Debemos definir una Lista de Control de Acceso que as u vez defina al fichero /etc/squid/sitios-denegados. Esta lista la denominaremos como denegados. De modo tal, la línea correspondiente quedaría del siguiente modo:
acl negados url_regex "/etc/squid/sitios-denegados" |
Habiendo hecho lo anterior, deberemos tener en la sección de Listas de Control de Acceso algo como lo siguiente:
# # Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl redlocal src 192.168.1.0/255.255.255.0 acl password proxy_auth REQUIRED acl negados url_regex "/etc/squid/sitios-denegados" |
A continuación especificaremos una regla de control de acceso para dicha Lista de Control de Acceso:
http_access deny negados |
Note que esta debe ir antes de cualquier otra regla que permita el acceso a cualquier otra lista. Ejemplo:
Reglas de control de acceso: denegación de sitios. |
# # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # http_access deny negados http_access allow localhost http_access allow redlocal password http_access deny all |
Si por ejemplo el incluir una palabra en particular afecta el acceso a un sitio Web, puede generarse una lista de dominios o palabras que contengan un patrón pero que consideraremos como apropiados. Como ejemplo: vamos a suponer que en la lista de sitios denegados está la palabra sex. esta denegaría el acceso a cualquier nombre de dominio que incluya dicha cadena de caracteres, como extremesex.com. Sin embargo también estaría bloqueando a sitios como sexualidadjovel.cl, el cual no tiene que ver en lo absoluto con pornografía, sino orientación sexual para la juventud. Podemos añadir este nombre de dominio en un ficheros que denominaremos /etc/squid/sitios-inocentes. Este fichero será definido en una Lista de Control de Acceso del mismo modo en que se hizo anteriormente con el fichero que contiene dominios y palabras denegadas.
acl inocentes url_regex "/etc/squid/sitios-inocentes" |
Para hacer uso de el fichero, solo bastará utilizar la expresión ! en la misma línea utilizada para la Regla de Control de Acceso establecida para denegar el mismo.
http_access deny negados !inocentes |
La regla anterior especifica que se denegará el acceso a todo lo que comprenda la Lista de Control de Acceso denominada denegados excepto lo que comprenda la Lista de Control de Acceso denominada inocentes. es decir, se podrá acceder sin dificultad a www.sexualidadjoven.cl manteniendo la restricción para la cadena de caracteres sex.
Finalmente, solo bastará reiniciar Squid para que tomen efecto los cambios y podamos hacer pruebas.
/etc/rc.d/init.d/squid restart |
4. Cómo configurar Squid: Acceso por Autenticación.
Introducción. Es muy útil el poder establecer un sistema de autenticación para poder acceder hacia Internet, pues esto permite controlar quienes si y quienes no accederán a Internet sin importar desde que máquina de la red local lo hagan. Sera de modo tal que tendremos un doble control, primero por dirección IP y segundo por nombre de usuario y contraseña. Para tal fin nos valdremos de un programa externo para autenticar, como es ncsa_auth, de la NCSA (National Center for Supercomputing Applications), y que ya viene incluido como parte del paquete principal de Squid en la mayoría de las distribuciones actuales. Este manual considera que usted ya ha leído previamente, a detalle y en su totalidad el manual "Como configurar Squid: Servidor Proxy" y que ha configurado exitosamente Squid como servidor proxy.
Software requerido. Para poder llevar la cabo los procedimientos descritos en este manual y documentos relacionados, usted necesitará tener instalado al menos lo siguiente:
- squid-2.4.STABLE1
- apache-1.3.22
Procedimientos Creación del fichero de contraseñas. Se requerirá la creación previa de un fichero que contendrá los nombres de usuarios y sus correspondientes contraseñas (cifradas). El fichero puede localizarse en cualquier lugar del sistema, con la única condición que sea asequible para el usuario squid. Debe procederse a crear un fichero /etc/squid/squid-passwd:
touch /etc/squid/squid-passwd |
Como medida de seguridad, este fichero debe hacerse leíble y escribible solo para el usuario squid:
chmod 600 /etc/squid/squid-passwd chown squid:squid /etc/squid/squid-passwd |
A continuación deberemos dar de alta las cuentas que sean necesarias, utilizando el comando htpasswd -mismo que viene incluido en el paquete apache-1.3.22-. Ejemplo:
htpasswd /etc/squid/squid-passwd joseperez |
Lo anterior solicitará teclear una nueva contraseña para el usuario joseperez y confirmar tecleando ésta de nuevo. Repita con el resto de las cuentas que requiera dar de alta.
Todas las cuentas que se den de alta de este modo son independientes a las ya existentes en el sistema. Al dar de alta una cuenta o cambiar una contraseña lo estará haciendo exclusivamente para el acceso al servidor Proxy. Las cuentas son independientes a las que se tengan existentes en el sistema como serían shell, correo y Samba.
http://www.linuxparatodos.com http://bulmalug.net http://squid.nlanr.net/ http://www.opensourcefirewall.com http://www.phpnuke-espanol.org www.squid-cache.org
Autor:
Hugo HB Macas A.
www.gratisweb.com/hugomacas/ Riobamba – Ecuador 2002 Parte de la información detallada en este documento se halla en las direcciones indicadas en Bibliografía.
Página anterior | Volver al principio del trabajo | Página siguiente |