Google EL TIPO DE INFORMATICA: febrero 2013

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.

miércoles, 20 de febrero de 2013

Programar Backups Routers Cisco

Regularmente hago copias de la conflagración de los Routers de mi red, lo hago copiando la "running-config" a un archivo de texto vía TFTP con el comando "copy running-config tftp:". En estos dias pense "mm, seguro que debe haber una forma de programar esto, alguna especie de cron", y efectivamente, se pueden programar tareas en los equipos Cisco con el comando Kron. El procedimiento es bastante sencillo,  primero se crea una lista de los comandos que queremos ejecutar y luego se especifica cuando se realizara esta tarea creando un "ocurrence". Bien, lo primero que necesitaran es un servidor TFTP, les recomiendo este. Luego que tengan su TFTP server funcionando, se logean a su Router para configurar el Kron. Una vez estén dentro, crearemos la lista de comandos que queremos ejecutar:

Router(config)#kron policy-list NombrePolitica

Donde "NombrePolitica" es el nombre que le daremos al listado que estamos creando. Presionamos enter y como podremos ver en el Promp, estaremos dentro del "Policy-list" que acabamos de crear. Aquí entonces agregaremos los comandos o acciones que queremos que se realicen automaticamente, en nuestro caso, sera copiar la configuración del Router al servidor TFTP. Ejecutaremos entonces lo siguiente:

Router(config-kron-policy)#cli sh run | redirect tftp://IP-TFTP-SERVER/nombre-archivo.cfg

luego:

Router(config-kron-policy)#exit

En la primera de las 2 lineas anteriores, iniciamos escribiendo "cli" y luego escribimos "sh run", como saben este comando mostrara la configuracion actual del router. Luego agregamos " | redirect tftp://ip-tftp-server/archivo.conf", lo que hacemos con esto es tomar la salida del comando anterior y redireccionarla a nuestro TFTP server. Como se imaginaran tendran que sustituir "IP-TFTP-SERVER" por la dirección IP de su servidor TFTP, luego escriben el nombre del archivo que se creara con la conflagración del router. Esto sera un archivo de texto, pueden ponerle o no extensión, en mi caso prefiero ponerle ".cfg". Como en este caso solo queremos programar la copia de la configuración, salimos de la edición de la lista con la segunda linea: "exit". En caso de que quieran programar otros comandos, deben tener pendiente que kron no soporta comandos interactivos, o sea, comandos que necesiten alguna acción o respuesta del usuario. Ya tenemos el listado de las acciones que realizara kron, ahora tenemos que indicarle cuando las realizara. Para esto ejecutamos el siguiente comando:

Router(config)#kron occurrence Nombre-ocurrance at 23:00 Sun recurring
luego:

Router(config-kron-occurrence)#policy-list NombrePolitica

En las lineas anteriores creamos el "occurrence" con el comando "kron occurrence", a este tambien le asignaremos un nombre que no tiene necesariamente que coincidir con el listado que creamos anteriormente. Luego especificamos el horario en que se ejecutara, en el caso de este ejemplo correra a las 11 de la noche de cada Domingo (23:00 Sun), como queremos que estas acciones se realicen recurrentemente agregamos al final "recurring", y presionamos "enter". Como pueden ver, el promp cambiara nuevamente indicando que estamos dentro de la configuracion del "occurrence". Aqui entonces indicaremos el listado que creamos anteriormente con el comando "policy-list NombrePolitica", y que como se imaginaran tienen que remplazar "NombrePolitica" por el nombre que le hayan puesto al listado (Policy-list) que crearon al inicio. Con esto ya tenemos nuestra "tarea" programada en nuestro router o switch. Podemos confirmar o verificar que se haya programado correctamente con el siguiente comando:

Router#sh kron schedule

Con esto veremos la fecha próxima en que se realizara la tarea que acabamos de programar. Bueno, hasta aqui este post, el primero del 2013, y como siempre espero que les haya sido de utilidad. En caso de que no hayan entendido mi explicación pueden leer mas sobre esto en esta pagina.