Como bloquear los sitios seguros facebook, imo y meebo con Squid Proxy y Shorewall

Actualización de este manual en el siguiente enlace:https://koalasoft.wordpress.com/manuales/como-bloquear-los-sitios-seguros-facebook-imo-y-meebo-con-squid-proxy-y-shorewall/

 


 

Autor: William López Jiménez

Correo electrónico: william [punto] koalasoft [arroba] gmail [punto] com
Sitio de Red: koalasoft.wordpress.com
Jabber ID: koalasoft@jabber.org

  Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 2006-2011 William López Jiménez. Usted es libre de copiar, distribuir y comunicar públicamente 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 publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos 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 legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción

Uno de los sitio más comunes en las empresas que empleado en su “tiempo muerto” usan para relajarse, son las redes sociales, en donde los sitios como Facebook, MSN, Twitter, etc son los mas visitados, pero debido a políticas de las empresas estos sitios son catalogados como prohibidos, ya que hacen perder el tiempo a los empleados y a su vez puede bajar el rendimiento laboral de estos. Pero hay una forma de poder bloquear los sitios que usan este servicio y dan a los administradores un dolor de cabeza, esto lo podemos hacer combinando dos poderosas herramientas, Squid proxy y Shorewall.

Cabe señalar que un Proxy no puede controlar el acceso a sitios seguros (https) el cual es asignado al puerto 443,  para eso debemos hacerlo a través del corafuego.

Tomando la explicación del manual de implementacion de servidores de Joel Barrios sobre Squid Proxy y cortafuegos Shorewall, definimos lo siguiente:

Un Proxy es un servidor Intermediario y se define como una computadora o dispositivo que ofrece un servicio de red que consiste en permitir a los clientes realizar conexiones de red indirectas hacia otros servicios de red. Durante el proceso ocurre lo siguiente:

  • Cliente se conecta hacia un Servidor Intermediario (Proxy).
  • Cliente solicita una conexión, fichero u otro recurso disponible en un servidor distinto.
  • Servidor Intermediario (Proxy) proporciona el recurso ya sea conectándose hacia el servidor especificado o sirviendo éste desde un caché.

En algunos casos el Servidor Intermediario (Proxy) puede alterar la solicitud del cliente o bien la respuesta del servidor para diversos propósitos, generalmente se hacen trabajar simultáneamente como muro cortafuegos operando en el Nivel de Red, actuando como filtro de paquetes, en este caso mencionaremos al firewall Shorewall.

Shorewall (Shoreline Firewall) es una robusta y extensible herramienta de alto nivel para la configuración de muros cortafuego. Shorewall solo necesita se le proporcionen algunos datos en algunos ficheros de texto simple y éste creará las reglas de cortafuegos correspondientes a través de iptables. Shorewall puede permitir utilizar un sistema como muro cortafuegos dedicado, sistema de múltiples funciones como puerta de enlace, dispositivo de  encaminamiento y servidor.

Una vez entendido esto fijemos las configuraciones que debemos usar, en este caso para bloquear definitivamente los sitios: facebook, meebo.com, imo.mi.

Usaremos el proxy para bloquear los sitios que vayan solo por el puerto 80 (http), y con el cortafuego bloquearemos el puerto 443 para el mismo sitio.


Averiguando las IP usadas por estos sitios.


En nuestra terminal de comandos de nuestro equipo tecleamos lo siguiente:

host facebook.com

Con este comando tendremos las IP de actualmente están usando, en el caso de Facebook usan un gran número de direcciones IP, estas son algunas que por ahora están funcionando, se vería de esta forma el resultado:

facebook.com has address 69.63.189.16
facebook.com has address 69.63.181.12
facebook.com has address 69.63.189.11
facebook.com mail is handled by 10 smtpin.mx.facebook.com.

Como ven, tenemos 3 direcciones en este caso, tomaremos esos datos, aplicaremos el mismo comando para los sitios meebo.com e imo.mi.

host meebo.com
meebo.com has address 74.114.28.110
meebo.com has address 208.81.191.110
host imo.im
imo.im has address 64.13.161.61

Una vez teniendo estos datos, configuramos nuestro servidor, iniciemos con el proxy Squid, en este caso usaremos una lista donde bloquearemos todo lo que vaya por el puerto 80 a estos sitios.

Configurando el servidor Squid Proxy.

Editamos nuestro archivo de configuración de squid y seguidamente agregamos lo siguiente.

vim /etc/squid/squid.conf

Creamos nuestra ACL para nuestra red, que en este caso seria por medio de MAC:

acl mired arp "/etc/squid/listas/mired-red

Después creamos una ACL en donde estaran amacenadas los sitios de redes sociales

acl redes-sociales dstdomain "/etc/squid/reglas/redes-sociales"

Y definimos nuestra reglas agregando lo siguiente:

http_access allow mired !redes-sociales

Con esto quedara configurado nuestro proxy para bloquear las redes sociales que vayan hacia el puerto http en modo normal.

Para terminar con el proxy configuramos la lista de redes sociales:

Creamos nuestra lista y colocamos lo siguiente:

vim /etc/squid/reglas/redes-sociales

Y dentro colocamos los dominios, recordando que deben poner un (punto) antes de cada dominio, ya que con eso afectara a todos los subdominio dentro de estos.

.facebook.com
.imo.im
.meebo.com

Con esto tenemos listo nuestro servidor proxy, para tener el control de estos sitios a través del puerto 80 (http).

Bloqueando los sitios a través del puerto 443 usando Shorewall.

Con shorewall solamente debemos agregar los datos que con anterioridad recopilamos, así bien comenzamos agregando la lista de direcciones IP que tenemos, estos lo guardamos dentro del fichero params

vim /etc/shorewall/params

Y agragamos las siguientes listas:

# meebo.com
IP_MEBO=208.81.191.110,74.114.28.110

# imo.mi
IP_IMO=64.13.161.61,64.13.161.58

# Facebook
IP_FACE=69.171.228.13,69.63.176.13,69.63.181.15,69.63.184.142,69.63.187.17,69.63.187.18,69.63.187.19

Lo que significa que cada variable que usamos por ejemplo IP_FACE tendremos almacenada las direcciones IP de sus servidores, el cual esta variable servirá para usarlo en nuestra reglas del cortafuego.

Seguidamente configuramos nuestras reglas:

vim /etc/shorewall/rules

Y colocamos lo siguiente:

REJECT  loc     net:$IP_FACE    tcp     443     443
REJECT  loc     net:$IP_MEBO    tcp     443     443
REJECT  loc     net:$IP_IMO     tcp     443     443

Lo que significa que el cortafuego va a rechazar todo los que vaya de la red local hacia Internet por el puerto 443.

Te darás cuenta que allí estamos usando las variables que utilizamos en el fichero (params).

Lo que resta hacer es reiniciar los servicios y probar los resultados.

service squid reload
service shorewall reload

En lo personal me ha funcionado bien, y en cuanto a las direcciones IP habrá que estar atentos si estos sitios los cambian.

Queda abierta la página para que aporten algunas direcciones IP que estos sitios usen para si fortalecer más esto.

Espero y esto les sea de utilidad.

Saludos !!

 Actualización

Otra forma de poder hacerlo es la siguiente:

Bloquear FACEBOOK por puerto 443:

REJECT          loc             net:69.171.224.12,69.171.224.0/19,69.63.176.0/20,66.220.144.0/20        tcp     443

Bloquear MEEBO.COM por puerto 443

REJECT          loc             net:208.81.188.0/22,74.114.24.0/21      tcp     443

Bloquear IMO.IM por puerto 443

REJECT          loc             net:64.13.161.61,64.13.128.0/18         tcp     443

Bloquear TWITTER.COM por puerto 443

REJECT          loc             net:199.59.148.0/22,199.59.149.0/22     tcp     443

Ahora de esta forma puedes bloquera estos sitio por rango de IP, para evitar estar pendiente de las nuevas IP que seguido cambian estos para evitar este tipo de bloqueos.

Para versión Shorewall 4.4 o superior

Lijeramente cambia la sintaxis de la siguiente forma:

Bloquear FACEBOOK por puerto 443:

HTTPS(REJECT)          loc             net:69.171.224.0-69.171.255.255,66.220.144.0-66.220.159.255        tcp

Bloquear MEEBO.COM por puerto 443

HTTPS(REJECT)          loc             net:208.81.188.0/22,74.114.24.0/21      tcp

Bloquear IMO.IM por puerto 443

HTTPS(REJECT)          loc             net:64.13.161.61,64.13.128.0/18         tcp

Bloquear TWITTER.COM por puerto 443
HTTPS(REJECT)          loc             net:199.59.148.0/22,199.59.149.0/22     tcp

Anuncios

Deja una opinión

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s