MSN Messenger y la que te tiro de las patas @#$#@$!!@#$@#

21 03 2007

En mis tareas diarias me toca administrar la red de un centro de capacitación en informática. Uno de los males más dañinos que hemos encontrado es la mensajería instantánea por internet personificada en el MSN Messenger, Yahoo Messenger, Google Talk, y todos sus parientes.

El principal problema con estos programas que tanto furor producen en sus adeptos, es la desatención, y si además tenemos en cuenta que alguien paga para aprender y en vez de prestar atención al docente se pone a chatear con alguien, contandole lo que va a hacer esta noche con la nueva vecina de a lado de casa, creo que es un desproposito y tirar la plata a la basura. Alguno pensará que lo mejor que puede pasarle a esta persona es jorobarse, pero yo no pienso igual, además me molesta en demasía que alguien no me preste atención mientras doy una clase (sentimiento que comparten muchos docentes).

Por este motivo se tomó la decisión de cerrar el acceso a estos programas de mensajería instantánea. En un primer momento la operación fue simple, en nuestra red utilizamos un proxy de cache para que nuestra red pueda navegar por internet (Squid). Lo que tuvimos que hacer es bloquear con reglas ACL al programa cliente que quería salir:

acl msnmessenger req_mime_type ^application/x-msn-messenger$
http_access deny msnmessenger

Con estas dos lineas alcanzaba para bloquear el acceso a MSN Messenger.

En las siguientes versiones cambiaron la forma de conectase a los servidores de Microsoft, eludiendo la regla impuesta. En algunos foros se recomendaba el siguiente juego de reglas ACL, pero por lo visto solo funcionan para la versión 7.x, pero en las versiones Live “NO FUNCIONA”.

acl msn_url url_regex -i gateway.dll
acl msnmessenger req_mime_type ^application/x-msn-messenger$
acl msn_port port 1863
acl msn_method method POST

http_access deny msnmessenger
http_access deny msn_method msn_url
http_access deny msn_port
http_access deny CONNECT msn_port

En la versión live el MSN Messenger simula ser un cliente HTML, con lo cual no se lo puede parar con las reglas anteriores y la unica manera es bloquar el puerto 1863 en los puertos seguros de Squid, con lo cual no solo bloqueo al Messenger, sino que tampoco se puede ingresar a Hotmail.

Espiando paquetes (snifiando) encuentro que las siguiente cadena donde el MSN simula ser un cliente html enviando una cabecera HTML al servidor proxy:

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MSN Messenger 7.0.0777).

Esta cadena me dio una idea, que es posible de implementar utilizando Squid, la de bloquear al cliente HTML.

por eso agregé la siguientes reglas en mis ACL a fin de bloquear al cliente HTML MSN Messenger, esto además me permite que se pueda ingresar a Hotmail por la página web:

acl MSN_Messenger browser ^Mozilla.compatible;.MSN Messenger.
http_access deny MSN_Messenger

De esta manera puedo bloquear a los clientes MSN Messenger 7.x y 8.x (Live)

;-p


Acciones

Information

16 responses

21 03 2007
Horacio

te olvidaste de blogrollearme🙂

22 03 2007
Omar

Tenes razón Horacio, ya te blogroleo!!!!!

26 03 2007
German

Tan exagerado¡¡¡ uno chatea para despejar la mente🙂

16 04 2007
Marcelo Olcese

Gracias, muy buen aporte y gracias por seguir haciendo que me odien!!!

Marcelo.-

17 04 2007
MEN

MI DUDA ES EL SQUID LO COMPRAS LO INSTALAS ? O DE DONDE LO TOMAS PARA PODERLO CONFIGURAR ASI COMO DICES ? PARA PODER PONER LAS INSTRUCIONES QUE TU MENCIONAS!!!
OJALA PUEDAS ASESORARME, YO ACABO DE SER ASIGNADO A UNA AREA Y TIENES RAZON, EN QUE EL ALUMNO NO PELA AL DOCENTE! GRACIAS OJALA PUEDAS ORIENTARME TE LO AGRADECIRIA MUCHISIMO….GRACIAS DE ANTEMANO POR LA ATENCION A LA PRESENTE!!!

18 04 2007
magnifico

Squid es un proyecto de Software Libre. Como todo proyecto SL no tienen licencias restrictivas que te obliguen a pagar por su uso, aunque no limita a alguien a cobrarte por el trabajo de copiarlo, instalarlo y/o configurarlo (basicamente te cobran por el trabajo de hacerlo). Corre sobre plataformas Unix y clones de este (Yo lo uso con GNU/Linux), aunque hay un port para Windows. Te dejo unos links que te pueden servir:

http://www.squid-cache.org/
http://www.google.com.ar/search?hl=es&q=squid&btnG=Buscar+con+Google&meta=
http://bulma.net/body.phtml?nIdNoticia=441

9 05 2007
Claudio G.

estan buenas las indicaciones para bloquear el msn, pero hay alguna forma de solo bloquear el envio de ficheros?

10 05 2007
magnifico

No tengo presente la forma de bloquear el envío de archivos, pero sería cuestión de snifear los paquetes para ver que tipo de cabeceras envía y probar bloquear desde ahí o ver si abre un puerto en especial. Si tengo un poco de tiempo y puedo hacerlo lo posteo al blog.

10 06 2007
Angelv

Gracias por la informacion, con ella depure un poco la cosa para bloquear el MSN, pero descubri que las versiones superiores si se conectan, especificamente lo probe con la 8.1

segun vi en algun lado en internet, parece que la nueva version simula ser un navegador y hace el login por el puerto 443 (HTTPS)

Si encuentro alguna solucion, la comentare aqui y si usted la encuentra primero igualmente la publique con nosotros aqui.

por si las moscas, pongo mis lineas del squid.conf

acl msn_old url_regex -i gateway.dll
http_access deny msn_old
acl msn_url url_regex -i gateway.dll
acl msnmessenger req_mime_type ^application/x-msn-messenger$
acl msn_port port 1863
acl msn_method method POST
http_access deny msnmessenger
http_access deny msn_method msn_url
http_access deny msn_port
http_access deny CONNECT msn_port
acl MSN_Messenger browser ^Mozilla.compatible;.MSN Messenger
http_access deny MSN_Messenger

11 06 2007
magnifico

La solución que planteo con squid funciona siempre y cuando la única forma de salir a internet sea a travez del proxy (squid). Si por el contrario, enmascaras la salida con el firewal (iptables), entonces esta solución no funciona. En mi caso particular yo tengo el firewall cerrado inabilitando a las máquinas de la intranet para conectarse directamente hacia la red externa, solo habilito la conexión a los puertos 25 y 110 (para el correo electrónico). El resto de la conexiones, salen si o si por el proxy (squid) de manera de poder controlar a que quiero que se conecten y a que no.

12 06 2007
Angelv

Entendido…

Sabes si squid-cache puede trabajar con peticiones al 443 (https) ?

Actualmente tengo squid-2.6.13 instalado y le envio las peticiones de la lan al puerto 80 al 3128 asi:
(natd con FreeBSD 6.2)
rdr bge1 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128 tcp

De esta forma podria redireccionar lo que venga de la lan al 443 al 3128
algo asi
rdr bge1 0.0.0.0/0 port 443 -> 127.0.0.1 port 3128 tcp

Pero segun veo el squid como que no funciona con https, ya que luego de poner esta linea no se puede entrar desde la lan a las web https

En otra parte (archivo /etc/ipf.rules) estan bloqueados todos los puertos de salida y entrada y solo se abren los requeridos 80, 443, 110 25, etc. Pero el maldigo msn nuevo sale por el 443

Alguna ultima recomendacion?

Gracias!

14 06 2007
magnifico

Angel, no es posible redireccionar el flujo del cualquier puerto a squid, ya que no es un proxy sock, sino un proxy de cache. La única manera de que squid pueda atender la petición de alguno de estos puerto es si el programa cliente se lo solicita a Squid (Ej: configuración proxy del navegador). Si es posible hacer un proxy transparente para el puerto 80, pero nó para el 443.

————————

En cuanto al msn, automáticamente busca la posible salida para conectarse, detectando primero si hay algún puerto abierto y luego intentado a travez de los proxy http o sock. Creo que lo que deberías de hacer más precisamente en tu firewall es cerrar el puerto 443 para los paquetes provenientes de la intranet, de esta manera solo podrá conectarse a travez de squid.

Exitos.

26 06 2007
YINA

NO ME LO BLOQUEO:
EN LOS LOG DEL SQUID ME APARECE QUE SUPUESTAMENTE ESTA DENEGADO PERO LOS USUARIOS INGRESAN COMO TROYANO POR WINDOWS XP.

4 07 2007
AngelV

Buenas nuevas…

Recientemente vi que para activar el ftp tenia salida activada para todos, por esto se salia el msn, luego de solucionar esto ya si no contecta!

aqui dejo los datos actualizados de mi squid.conf

# MSN MESSENGER INICIO
#
acl MSN_Permitidos src 192.168.1.120
acl msn_url url_regex -i gateway.dll
acl msnmessenger req_mime_type -i ^application/x-msn-messenger$
acl msn_port port 1863
acl msn_method method POST
acl MSN_Messenger browser ^Mozilla.compatible;.MSN Messenger.
#
http_access allow MSN_Permitidos
http_access deny msnmessenger
http_access deny msn_method msn_url
http_access deny msn_port
http_access deny CONNECT msn_port
http_access deny MSN_Messenger
#
# MSN MESSENGER FIN

# Yahoo Messenger Inicio
#
acl Yahoo_Messenger_Permitidos src 192.168.1.120
acl yahoo url_regex -i http.pager.yahoo.com
acl yahoo url_regex -i http.msg.yahoo.com
acl yahoo url_regex -i messenger.yahoo.com
#
http_access allow Yahoo_Messenger_Permitidos
http_access deny yahoo
#
# Yahoo Messenger Fin

################### YouTube Edit (1/2) #############
#acl youtube url_regex youtube.com/get_video\?video_id
#http_access deny youtube
################### End YouTube Edit (1/2) #############

################### YouTube Edit (2/2) #############
# EDIT THIS —> this is where your replacement video lives
#deny_info http://jonroig.com/video/zarifisrich.flv youtube
################### End YouTube Edit (2/2) #############

# Skype Inicio
#
# UDP source port 1247 is the initial control channel.
# Once the connection is established, the rest of the
# communications is done in TCP over non-default source ports with ranges
# sweeping from 2940-3000.
#
# Your acl definitions
#acl numeric_IPs urlpath_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
#acl connect method CONNECT
# Apply your acls
#http_access deny connect numeric_IPs all
#
# Skype Fin

Espero les sirvan estos otros datos

4 07 2007
magnifico

Yina, probablemente estes permitiendo las conexiones al puerto 443 a travez del firewall enmascargando la salida para ese puerto. Si estas permitiendo esto, entonces el MSN sale por ahi.
El proceso de conexión que utiliza el MSN es el siguiente, escudriña todas las posibles forma de conexión:
* conexión directo
* conexión por HTTP
* conexión por HTTP PROXY (squid)
* conexión por PROXY SOCK
Si por alguno de estos métodos puede salir, le da para adelante.
Para que funcione el método planteado por la solución SQUID (que se muestra en este documento) se debe cerrar toda otra posibilidad de conexión que no se a travez del proxy HTTP. Es en ese momento en que la solución aquí planteada funciona.

27 07 2007
simon07

hola buenos dias:
hola ariel buenos dias:

El dia de ayer te envie un correo para ver si me puedes ayudar con el squid nt…… de echo funciona bien…… el problema es que no puedo impedir que entren a messenger, le puse las siguientes instrucciones:

acl msnmessenger req_mime_type ^application/x-msn-messenger$
http_access deny msnmessenger

acl msn_url url_regex -i gateway.dll
acl msnmessenger req_mime_type ^application/x-msn-messenger$
acl msn_port port 1863
acl msn_method method POST

http_access deny msnmessenger !accesomsn
http_access deny msn_method msn_url !accesomsn
http_access deny msn_port !accesomsn
http_access deny CONNECT msn_port !accesomsn
acl MSN_Messenger browser ^Mozilla.compatible;.MSN Messenger.
http_access deny MSN_Messenger

hice una lista de accesomsn en donde ahi coloco las ip que si pueden entrar a msn, pero ahora nadie puede entrar o entran y salen de inmediato…… servicio no disponible…. ahora nose que pasa…. please ayudame, porque cuando me conecto directo entreo a msn sin ningun problema…..

tambien tengo problermas ala entrar con ftp y http; como estamos haciendo una pagina y manejo un access necesito que algunas maquinas puedan accesar a ftp y http; como le hago.

y por ultimo necesito que algunos equipos no puedan bajar archivos ni programas de internet , ni entrar a radio., ojala me pudieses ayudar con alguna instruccion para denegar estos accesos….. bueno de antemano mil gracias ariel…espero tu mensaje…. gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

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




A %d blogueros les gusta esto: