PDF de programación - BULMA: Filtrar contenidos de Internet para un instituto usando Squid

Imágen de pdf BULMA: Filtrar contenidos de Internet para un instituto usando Squid

BULMA: Filtrar contenidos de Internet para un instituto usando Squidgráfica de visualizaciones

Actualizado el 24 de Marzo del 2020 (Publicado el 14 de Abril del 2017)
512 visualizaciones desde el 14 de Abril del 2017
37,8 KB
11 paginas
Creado hace 17a (12/04/2003)
BULMA: Filtrar contenidos de Internet para un instituto usando Squid

Bisoños Usuarios de Linux de Mallorca y Alrededores | Bergantells Usuaris de Linux de Mallorca i Afegitons

Filtrar contenidos de Internet para un instituto usando Squid

Por Carlos Yaniz, cyaniz (http://www.terra.es/personal6/iescapdepera/)
Creado el 11/04/2003 22:37 y modificado por última vez el 11/04/2003 22:37

En este documento explico mi experiencia instalando un filtro de páginas web para las aulas de informática de un
instituto de educación secundaria. Para ello he utilizado un ordenador con Linux, el servidor web Apache(3), el proxy
Squid(4) y el filtro SquidGuard(5). Todos estos programas son libres y gratuitos, se pueden descargar por Internet o
instalar desde una distribución como Mandrake(6). He intentado que la explicación sea lo más detallada posible para
que un administrador con pocos conocimientos de Linux pueda seguirla.

EL CONTEXTO

El IES de Capdepera (Mallorca) tiene unos 400 alumnos de ESO, Ciclos Formativos y Garantía Social, que tienen
acceso a 2 aulas de informática de 14 ordenadores cada una. Ocasionalmente utilizan también algunos ordenadores de
la biblioteca y de las aulas de apoyo.
El centro está cableado gracias al proyecto Xarxipèlag de la Conselleria d'Educació(1). Todos los ordenadores están en
red y salen a Internet por una línea ADSL de 512 Kb.
Conectar los ordenadores de las aulas a Internet ha sido un gran avance, ¡todavía recordamos hace tan sólo unos años,
el único ordenador con módem de 56 Kb que tardaba tanto! Sin embargo el uso que se hace de Internet se puede
convertir fácilmente en abuso:









algunos alumnos que se conectan a páginas porno en cuanto el profesor se da la vuelta o se ausenta 5'
otros que con el pretexto de buscar información para un trabajo, se bajan las últimas canciones del triunfito de
moda
alumnos que no pueden ponerse a trabajar si antes no han comprobado su correo, operación que dura la mitad
de la clase
chat
...etc..

Todo esto puede hacer que ciertos profesores se desanimen y vean Internet como un problema y no como una
herramienta educativa, mostrándose reacios a utilizar el aula de informática. Está claro que el profesor no puede vigilar
la actividad de todos los ordenadores todo el tiempo, y tampoco se trata de ir al aula de informática para acabar
haciendo de policía.

Así pues sería deseable controlar el acceso a Internet de manera automática a fin de:





evitar páginas web inadecuadas mediante un filtro
registrar las páginas visitadas desde cada ordenador
establecer un horario para que Internet esté disponible únicamente en las horas en que realmente haga falta

LA SOLUCIÓN

Las funciones requeridas se pueden conseguir mediante el filtro SquidGuard, que usa una base de datos con miles de
direcciones web clasificadas en grupos (porno, violencia, publicidad...). Hay múltiples opciones de configuración:
bloqueo por grupo o por palabra clave, identificación del cliente por su dirección IP o por nombre de usuario, creación
de horarios, actualización de la base de datos por un robot,...etc... SquidGuard funciona asociado al proxy Squid que
nos va a permitir registrar las páginas web visitadas en ficheros .log y además hace de caché acelerando el acceso a las

1/11

BULMA: Filtrar contenidos de Internet para un instituto usando Squid

páginas visitadas recientemente.

A continuación, explicaré paso por paso como configurar todo esto en un ordenador (ordenador servidor) partiendo de
una distribución Mandrake 8.2 recién instalada. Evidentemente podéis usar vuestra distribución favorita ya que el
proceso de configuración es el mismo.

El ordenador que he utilizado tiene un procesador Celeron a 1,8 GHz y 256 MB de RAM. He probado también en un
AMD−K6 a 500 MHz con 64 MB de RAM y no noto la diferencia. Supongo que es porque hay pocos accesos
simultáneos por segundo.

CONFIGURACIÓN DE APACHE

En el momento que se solicite una página web inadecuada, debe aparecer un mensaje disuasorio del tipo "Página no
accesible...". Para ello, es necesario tener funcionando un servidor de páginas web, por ejemplo Apache.

Si hemos instalado la Mandrake con las opciones de servidor, Apache debería estar instalado y funcionando. Para
comprobarlo, si la dirección IP del servidor es 172.16.61.98, escribimos http://172.16.61.98 en el navegador
de Internet de un ordenador cliente. Saldrá la página inicial.

Tenemos que asegurarnos también que se puedan ejecutar las CGI ya que por defecto Apache no lo permite. En el
fichero de configuración /etc/httpd/conf/commonhttpd.conf añadimos el permiso escrito en negrita para el
directorio /var/www/cgi−bin

<Directory /var/www/cgi−bin>
AllowOverride All
Options ExecCGI
Allow from 127.0.0.1
</Directory>

archivo /etc/httpd/conf/commonhttpd.conf

Desde el terminal, reiniciamos Apache con el comando

#apachectl restart

También hay que comprobar que se pueda acceder a /var/www/cgi−bin y que test−cgi sea ejecutable. Si no
fuera ejecutable, haríamos:

#chmod +x /var/www/cgi−bin/test−cgi

Ya podemos probar desde el cliente con http://172.16.61.98/cgi−bin/test−cgi

CONFIGURACIÓN DE SQUID

Squid es el programa que hace de proxy−caché. De nuevo, si hemos instalado la Mandrake con las opciones de
servidor, Squid debería estar instalado y funcionando. Para comprobarlo, podemos hacer:

#ps −e | grep squid

Para configurarlo editamos el archivo /etc/squid/squid.conf y añadimos las líneas en negrita:

2/11

BULMA: Filtrar contenidos de Internet para un instituto usando Squid

...
acl localhost src 127.0.0.1/255.255.255.255
# el instituto tiene las IP 172.16.61.*
acl ieshosts src 172.16.61.0/255.255.255.0
...
http_access allow localhost
# autorizamos a los ordenadores del instituto
http_access allow ieshosts
...
# queremos un fichero de registro con fecha y hora
emulate_httpd_log on
...

archivo /etc/squid/squid.conf

Reiniciamos Squid

#squid −k reconfigure

Vamos a probar en un ordenador cliente. Debemos hacer que pase por el proxy para acceder a Internet. Por ejemplo, si
es Windows, vamos a "Internet Explorer > Herramientas > Opciones de Internet > Conexiones > Configuración LAN
> marcar Usar servidor proxy > Dirección 172.16.61.98 Puerto 3128". Los alumnos avispados podrían desactivar la
casilla "Usar servidor proxy" para saltarse el filtro. En ese caso protegeríamos con políticas de Windows el acceso al
panel "Opciones de Internet".

Accedemos a una página web cualquiera y luego vamos al servidor a comprobar el fichero de registro:

#cat /var/log/squid/access.log

Como este fichero aumenta de tamaño muy rápido, conviene hacer que se reinicie cada día. Guardaremos los registros
de los 7 últimos días. Para ello, en el archivo /etc/squid/squid.conf estableceremos una rotación de 7 con el
TAG logfile_rotate:

...
logfile_rotate 7
...

archivo /etc/squid/squid.conf

Reiniciamos Squid, y a partir de ahora cada vez que hagamos squid −k rotate se producirá una rotación: El
registro actual access.log pasa a access.log.0, éste pasa a access.log.1, ..etc..

Para no tener que hacer la rotación manualmente, podemos programar un trabajo que la haga y se autoprograme para el
día siguiente. Creamos el script /etc/squid/rotacion:

squid −k rotate
at −f /etc/squid/rotacion 23:00 tomorrow

script /etc/squid/rotacion

Hacemos que se ejecute por ejemplo a las 23:00

#at −f /etc/squid/rotacion 23:00

3/11

BULMA: Filtrar contenidos de Internet para un instituto usando Squid

Así pues, access.log será el registro del día actual, access.log.0 será el registro de ayer, access.log.1 será el registro de
anteayer, ...etc...

CONFIGURACIÓN DE SQUIDGUARD

SquidGuard es el filtro asociado al proxy Squid. Se instalará con la Mandrake, pero no estará funcionando.

Para configurarlo editamos el archivo /etc/squid/squidGuard.conf. Vamos a prohibir todos los grupos de
direcciones problemáticas, a excepción de los servidores de correo gratuito, que usan muchos alumnos y profesores.

#−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# SquidGuard CONFIGURATION FILE
#−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

# DIRECTORIOS DE CONFIGURACION
dbhome /usr/share/squidGuard−1.2.0/db
logdir /var/log/squidGuard

# GRUPOS DE DIRECCIONES
dest porn {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}
dest audio−video {
domainlist audio−video/domains
urllist audio−video/urls
}
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
dest warez {
domainlist warez/domains
urllist warez/urls
}
dest ads {
domainlist ads/domains
urllist ads/urls
# la publicidad es reemplazada por una imagen vacia
redirect http://127.0.0.1/nulbanner.png
}
dest aggressive {
domainlist aggressive/domains
urllist aggressive/urls
}
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
dest gambling {
domainlist gambling/domains
urllist gambling/urls
}
# permitimos los servidores gratuitos de correo
#dest mail {

4/11

BULMA: Filtrar contenidos de Internet para un instituto usando Squid

# domainlist mail/domains
#}
dest proxy {
domainlist proxy/domains
urllist proxy/urls
}
dest violence {
domainlist violence/domains
urllist violence/urls
expressionlist violence/expressions
}

# CONTROL DE ACCESO
acl {
# por defecto bloqueamos los grupos de direcciones creados
default {
pass !porn !audio−video !hacking !warez !ads !aggressive !drugs !gambling !proxy !violence all
# redireccionamos a una pagina web disuasoria
redirect http://127.0.0.1/prohibit.html
}
}

archivo /etc/squid/squidGuard.conf

Para conectar Squid con SquidGuard, editamos /etc/squid/squid.conf Buscamos el TAG redirect_program y
ponemos:

...
redirect_program /usr/bin/squidGuard −c /etc/squid/squidGuard.conf
...

archivo /etc/squid/squid.conf

Como es fácil cometer errores en el fichero de configuración de SquiGuard, conviene crear un directorio log en
/var/log/squidGuard. El propietario debe ser el usuario squid.
  • Links de descarga
http://lwp-l.com/pdf2802

Comentarios de: BULMA: Filtrar contenidos de Internet para un instituto usando Squid (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad