Google Bloquear Youtube y Permitir Solo Algunos Videos con Squid | EL TIPO DE INFORMATICA

domingo, 24 de febrero de 2013

Bloquear Youtube y Permitir Solo Algunos Videos con Squid

Posiblemente les haya pasado esto, bloquean Youtube en su red con Squid, un día les informan que hay un video que necesitan que varios usuarios puedan ver. Una forma rápida sera permitir el acceso a Youtube a ese usuario o grupo de usuarios. Y que si el video deben verlo todos los usuarios? Esto me paso varias veces y estuve buscando una forma de permitir solo algunos videos pero no encontré como hacerlo, así que me puse a buscar la forma de hacerlo y aquí se la presento. Lo primero claro esta seria bloquear Youtube, esta parte me imagino que ya todos lo tienen. Para esto usaremos la forma mas sencilla, que seria bloqueando el dominio youtube.com, algo como esto:

acl youtube dstdomain .youtube.com
http_access deny youtube all

Estas reglas bloquearan el acceso al dominio Youtube, pero como saben hay cantidades de sitios Web donde se puede ver videos Online, una forma mas efectiva es bloquear el tipo de archivo (mime type) .FLV que es el que se transfiere desde estas paginas, crearíamos entonces las siguientes reglas:

acl video-files rep_mime_type video/x-flv
http_reply_access deny video-files

Con esto ya hemos bloqueado todos los videos, y seguro que esta es la configuracion que actualmente tienen. Ahora vamos a identificar el video que queremos permitir y luego modificar la regla para permitir ese video en especifico. Bien, supongamos que nos pasan el siguiente video y quieren circularlo para que todos lo puedan ver. Pongamos por ejemplo este:


Lo que haremos entonces sera tomar lo que esta despues del signo de igual "=" (en el caso del video de ejemplo seria aBhYULqQsdM)  y copiarlo. Esto es la identificacion del video. Luego iremos a nuestra regla de Squid y agregaremos lo siguiente:

acl youtube dstdomain .youtube.com
acl videos-permitidos urlpath_regex /videoplayback
acl videos-permitidos urlpath_regex aBhYULqQsdM
http_access allow youtube videos-permitidos
http_access deny youtube all
http_reply_access allow youtube videos-permitidos

Como pueden ver agregamos el acl "videos-permitidos" y estamos utilizando "urlpath_regex" y le agregamos el identificador del video que queremos permitir, también agregamos a este mismo acl la cadena de caracteres "/videoplayback",  cuando se solicita algún video esta cadena se agrega al url. Luego permitimos el acceso al dominio Youtube.com solo a las paginas que tengan esas cadena de caracteres en su URL. Con esto se podrá acceder a Youtube para las paginas que especifiquemos. Para no tener que agregar varias lineas en el caso de que queramos permitir varios videos para los usuarios, una mejor forma seria crear un archivo y agregar cada identificador de los videos que vayamos a permitir. Por ejemplo, podemos crear un archivo el archivo de texto "/etc/squid/videos-permitidos.acl" y agregar aquí los identificadores, el contenido del archivo se vería de esta forma:

/videoplayback
aBhYULqQsdM
AV-glc90fKg
kZ2NA--PFbE

Nuestra configuracion se vería entonces de esta manera:

acl youtube dstdomain .youtube.com
acl videos-permitidos urlpath_regex "/etc/squid/videos-permtidos.acl"
http_access allow youtube videos-permitidos
http_access deny youtube all
http_reply_access allow youtube videos-permitidos

Ahora, cada vez que queramos permitir un video de Youtube solo tenemos que agregar en este archivo el identificador del video. Bueno, hasta aquí esta pequeña guia. Espero que les funcione y les sea de utilidad.

11 comentarios:

  1. Soy seguidor. Felicitaciones por este blog!

    ResponderEliminar
  2. Hola! esto sirve para un modem Huawei D-100? .. quisiera bloquear los videos ... que tengo que instalar?

    ResponderEliminar
    Respuestas
    1. Efectivamente, esto sirve para Huawei D-100, solo necesitas colocarlo en el Sector-Z de la configuración. Tenés que ingresarlo a través del Telnet, en el sector 0A. Exitos!

      Eliminar
  3. Muy interesante, soy nuevo en linux pero se que gracias a estas personas maravillosas que comparten sus experiencias pronto muchas mas seremos seguidores de linux.

    ResponderEliminar
  4. En mi trabajo es necesario usar la fan page del facebook pero a veces mis trabajadores entrar con su propia cuenta de facebook, quisiera bloquear el acceso, que solo se pueda ingresar con la cuenta de facebook del trabajo se puede hacer esto? o bloquear que el al acceder no pueda ver su perfil por ejemplo bloquear el siguiente link www.facebook.com/usuariodeejemplo

    ResponderEliminar
  5. Hola, en mi trabajo tengo configurado squid para negar acceso a ciertos sitios, resulta que una mujer muy mayor pertenecientes a rrhh quizo que se le diera acceso a facebook, no he podido permitirle el acceso solo a esa persona, por la forma en que configure el squid, asi que tuve que dejar abierta la conexion a facebook a todos en la oficina, quisiera saber si puedo darle acceso solo a la direccion ip de esta persona para poder bloquear nuevamente el facebook a los demás equipo, gracias de antemano por la respuesta

    ResponderEliminar
    Respuestas
    1. Si se puede pero debes primero crear listas de control de acceso por IP o MAC, posteriormente debes crear una lista de sitios inocentes y permitirle el acceso solo a ella.

      Eliminar
  6. Estimados, como puedo bloquear los HTTPS, de igual manera para que un grupo si tenga acceso a estos y otros no

    ResponderEliminar
  7. Muchas gracias, muy bueno el aporte, quisiera saber si es posible hacer esto mismo pero no solo para un video, sino para un canal en especial de youtube

    ResponderEliminar
  8. El problema con youtube, facebook y muchas paginas de ese tipo es que son https:, tendrias que bloquear el acceso completo a https por squid para que no lo puedan usar.

    ResponderEliminar