Etiquetas

miércoles, 1 de septiembre de 2010

Filtrar fácilmente contenido web inconveniente para niños

La web está llena de contenidos que resultan inconvenientes para niños pequeños. Y posiblemente la preocupación de muchos padres sea cómo brindar algo de seguridad a la hora de que los niños naveguen la web. Existe una solución muy simple. Se llama: FamilyShield de la empresa OpenDNS. Los usuarios de Linux pueden hacer un uso "avanzado" de esa aplicación, como se muestra en este artículo. También en las escuelas esto se vuelve un tema prioritario.

El consejo general y de más sentido común que todos los expertos dan es que los niños no queden por períodos más o menos prolongados navegando por la web o chateando sin la supervisión de un adulto.
Lo más revolucionario de la web hoy nos parece de sentido común: el hipervínculo. Es decir un "enlace" en el que cliqueando en él nos deriva a otro "lugar", otra página o sitio web. Eso trajo aparejado un riesgo, ya que el vínculo podría tener como destino un sitio malicioso que realice técnicas de robo de datos o identidad, etc. También puede tener como destino un sitio que no sea conveniente para niños menores.
Una solución para colaborar con que los padres tengan mayor control de lo que sus hijos chicos hacen con Internet consiste en restringir el acceso a sitios inconvenientes como los sitios de contenido XXX.
Existen diversas soluciones para este problema. Pero acaso una de las más simples sea la de utilizar el servicio FamilyShield, de la empresa OpenDNS ( http://www.opendns.com/familyshield/ ). Es gratuito y además no requiere registración.
¿En qué consiste? En un servicio de servidores DNS (de resolución de nombres de dominios) que contiene una lista negra y que no resuelve o bloquea el acceso a sitios inconvenientes para menores.
¿Cómo se configura? Muy fácilmente: sólo hay que reemplazar las direcciones de los servidores DNS que estemos utilizando por los servidores de FamiliShield, a saber:


208.67.222.123
208.67.220.123

Esta solución es válida para cualquier sistema operativo, y puede realizarse en PCs, en routers o en celulares inclusive.

¿Qué más pueden hacer los usuarios de Linux / GNU ?

Como siempre algo más: pueden agregarle algo de funcionalidad a esta solución.
Un agregado o "hack" puede ser el de crear políticas de seguridad diferenciadas por usuario del sistema.
Si tuviéramos un equipo dedicado que funcione como firewall esto es sencillo. Pero en muchos hogares la PC o bien está conectada directamente a Internet (cablemodem, ADSL, etc) o bien a través de un router.
En este último caso existe una solución muy simple.
Supongamos que los niños usan la computadora con sus respectivos usuarios, por ejemplo, "vale" y "viki". Linux tiene un firewall integrado en el propio núcleo del sistema: Iptables.
Sin entrar en demasiados detalles, ya que la documentación es muy abundante, además el kernel o núcleo tiene un módulo adicional para iptables llamado xt_owner ¿Y qué puede hacer por nosotros? Identificar el usuario que está generando tráfico de internet y con ello podremos aplicarle alguna regla.
En la práctica sería:
# modprobe ipt_owner

# iptables -t nat -I OUTPUT -p tcp --dport 53 --match owner --uid-owner 1004 -j DNAT --to 208.67.222.123
# iptables -t nat -I OUTPUT -p udp --dport 53 --match owner --uid-owner 1004 -j DNAT --to 208.67.222.123
# iptables -t nat -I OUTPUT -p tcp --dport 53 --match owner --uid-owner 1005 -j DNAT --to 208.67.222.123
# iptables -t nat -I OUTPUT -p udp --dport 53 --match owner --uid-owner 1005 -j DNAT --to 208.67.222.123
Estas reglas pueden ingresarse por línea de comandos, como superusuario o bien, agregarlo a un script que configure la seguridad con iptables. Lo prometemos para otro artículo en breve.
El valor de --uid-owner corresponde al uid (identificador de usuario en el sistema) y en Linux/GNU puede consultarse con # id viki o # id vale.

¿Qué hacen estas reglas de Iptables?

La "cadena" OUTPUT de la tabla nat (traducción de direcciones IP) sirve en este caso para alterar la dirección de destino de los paquetes que vayan dirigidos a los servidores dns, redirigiéndolos al servidor de FamilyShield (208.67.222.123). En este caso, la cadena OUTPUT se ocupa de los paquetes que se generan dentro del proprio firewall, es decir, la máquina de escritorio a donde hemos aplicado las reglas.
Entonces, los otros usuarios del sistema (que no sean niños) no tendrán restricciones y utilizarán los servidores dns sin filtrado, definidos en el archivo /etc/resolv.conf.

Creo que sin duda es una solución práctica, que evita el trabajo de colocar equipos dedicados o servidores proxy en una configuración hogareña, en una escuela o sitio público de acceso web.

Matías Gutiérrez Reto

No hay comentarios.:

Publicar un comentario