Podes pensar, 1 minuto no es tanto, pero las personas que lo implementaron, incluyendome, saben que 2 o mas cortes de un minuto, todos los días a la misma hora, terminan cansando en poco tiempo a los usuarios y a uno mismo.
La fórmula para bloquearlo por rango horario en bridge es simple, y si bien esta orientado al MSN, se puede aplicar a cualquier programa que use puertos conocidos.
Bloquear el MSN (PROGRAMA)
1- Creamos 2 archivos block.conf, que es el que se muestra en "Editar bloqueos" del bridge y los guardamos en 2 carpetas distintas. Cada arvhivo, debe tener la configuración que se desea implementar, ejemplo, en uno bloqueamos el puerto 1863 a una determinada IP o toda la red, y en el otro estará en ausencia dicha regla. Para evitar problemas de permisos con los 2 nuevos archivos, en vez de crearlos, los duplique de su original block.conf que se encuentra en /argentobr/block.conf utilizando winscp y con este mismo editamos el contenido de los archivos a gusto. Las carpetas donde se guardarán los distintos archivos, quedan a gusto de cada quien, yo las guarde en /hdb/syslog
Archivo que bloquea: ubicación: /hdb/syslog/Sin_MSN/block.conf
- Código: Selecionar todos
block_port 137
block_port 138
block_port 139
block_port_ip 1863 192.168.0.33 #MSN
Archivo que no bloquea: ubicación: /hdb/syslog/Con_MSN/block.conf
- Código: Selecionar todos
block_port 137
block_port 138
block_port 139
Tareas en Cron
2- Bueno una vez que tenemos los 2 archivos en 2 carpetas con una ubicación bien conocida, pasamos a jugar con el cron. Nos aseguramos que el mismo este activo y ahi colocamos las reglas:
- Código: Selecionar todos
58 20 * * * rm /argentobr/block.conf
59 20 * * * cp /hdb/syslog/Sin_MSN/block.conf /argentobr/
0 21 * * * /argentobr/qosbr reload
1 21 * * * backup
58 17 * * * rm /argentobr/block.conf
59 17 * * * cp /hdb/syslog/Con_MSN/block.conf /argentobr/
0 18 * * * /argentobr/qosbr reload
1 18 * * * backup
Las primeras 3 líneas tiene la función de bloquear el MSN, indicando en la primera línea que borre el archivo block.con de su ubicación original.
En la segunda le indicamos qe copie el archivo block.conf que contiene las reglas de bloqueo a la ubicación original, y por último en la tercera recargamos el qos con las nuevas reglas. El MSN en caso de estar abierto, perderá la conexión en menos de 1 minuto.
Las últimas 3 líneas tendrán la función de permitir al MSN que se conecte nuevamente, para lo que repite el mismo procedimiento, solo que ahora estará copiando el archivo block.conf que no contiene restricciones.
Bueno, lo lindo de esto es que el resto de los usuarios ni se enteraron de lo sucediso, ya que nos ahorramos el molesto corte al no tener que reiniciar el router.
Bloquear WebMessenger y amigos con SQUID
Ahora bien, esto por si solo no nos sirve de mucho, ya que los pibes no son ningunos lentos, y podrán chatear por webmessenger que usa el protoclo http, por suerte, con squid podemos complicarselas un poco.
Vamos a crear un par de acl y conbinandolas evitaremos estos chats.
Lo primero que vamos a hacer es crear 3 archivos con winscp, en mi caso los cree en /hdb/squid pero es agusto de cada uno, el primero se llamara "red" y dentro contendrá la lista completa de las IP que no serán afectadas por el bloqueo. Otro archivo se llamará red2 y contendrá las IP que serán afectadas por el bloqueo. El 3er y último archivo se llamará chats (o como mas teguste) y contendrá una lista de sitios o de palabras a bloquear. Al final pondré una lista de los sitios mas recomendados a bloquear.
Vamos al archivo squid.conf y encontramos esto:
- Código: Selecionar todos
acl rede_interna src 192.168.0.0/24
visible_hostname internet
Esa línea lo que hace es definir la red que será filtrada por squid, nosotros lo que vamos a hacer, es separarla en 2, entre los usuarios a bloquear y lso que no. Para eso reemplazamos esa línea con estas 2:
- Código: Selecionar todos
acl red src "/hdb/squid/red"
acl red2"/hdb/squid/red2"
Listo, ya tenemos a nuestros usuarios separados en 2 grupos para poder trabajar independientemente el uno del otro.
Ahora vamos a crear otra acl que hara referencia al archivo que contiene la lista de sitio y/o palabras a denegar. Ubicammos esto en el squid.conf:
- Código: Selecionar todos
acl purge method PURGE
acl CONNECT method CONNECT
Agregamos esto a la última línea, no es mas que la ruta que indica donde esta el archivo:
- Código: Selecionar todos
acl purge method PURGE
acl CONNECT method CONNECT
acl sitios url_regex "/hdb/squid/Chats"
Bien, solo nos falta dar los accesos, es decir, definir que ambos grupos de IP definidos anteriormente puedan navegar y a cual de ellos no dejaremos que navegue por nuestra lista de sitios. Buscamos esto en el squid.conf:
- Código: Selecionar todos
#always_direct allow accdirect
http_access allow all
http_access allow rede_interna
http_reply_access allow all
y lo modificamos por esto:
- Código: Selecionar todos
#always_direct allow accdirect
#http_access allow all
http_access allow red
http_access allow red2 !sitios
http_reply_access allow all
Bueno el cambio se explica muy simple, comentamos la regla http_acces allow all, ya que esta regla le da acceso a todo el mundo y deja sin efecto nuestras reglas. Luego suplantamos la acl rede_interna, por nuestra nueva red y red2. Y por último a la red2 que contiene los ip que queremos bloquear, lo hacemos con !sitios
Una vez realizados todos los cambios, vamos al panel de squid y le damos "Aplicar cambios" y resguardamos. IMPORTANTE: al aplicar los cambios al squid no debe salin ningún error, en caso de haberlo, apareve el mensaje en que línea del squid.conf esta el error.
Lista de sitios/palabras sugeridas a bloquear
Esto es algo de lo que encontre sobre mensajeros web, cada quien la modifica su gusto.
meebo
webmessenger
koolim
ebuddy
messengerfx
iloveim
mabber
communicationtube
radiusim
nightcitychat
Espero les sirva,
Saludos
Ramiro