Restricción de acceso a contenido por extensión (MIME)

Esta obra está bajo una
licencia de Creative Commons
.
Autor: Francisco Leonel Rubio Quintanilla (rubioq)

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. 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.

Veremos la restricción de acceso a contenido por extensiones, para esto usaremos el método mime, el
motivo de hacerlo por este método es meramente personal, pues es el que mejor resultados me ha dado.

MIME (Multipurpose Internet Mail
Extensiones
), (Extensiones de Correo Internet Multipropósito), son una serie de convenciones o especificaciones dirigidas a que se puedan intercambiar a través de Internet todo tipo de archivos (texto, audio, vídeo, etc.) de forma transparente para el usuario.
Una parte importante del MIME está dedicada a mejorar las posibilidades de transferencia de texto en distintos idiomas y alfabetos.


Para mas información visita la wikipedia.

Ejemplo practico – Restricción de extensiones ejecutables

1.- Buscas en tu instalación de SquidNT el archivo mime.conf (suponemos que tu instalación de SquidNT esta funcionando sin problemas, si no es así, revisa el  HOWTO SquidNT).

Típicamente…

C:squidetcmime.conf

Allí veras una lista de extensiones ya catalogadas, en este caso evitaremos que nuestros usuarios puedan bajar ejecutables, así de este modo les complicamos que instalen malware, virus y una buena cantidad de programas que nos afectan en el rendimiento de los equipos.

En este caso los ejecutables son los archivos con extensiones .com, .exe, .msi, .scr, etc…

Si le das una mirada a la lista veras lo siguiente respecto a este tipo de archivos.

.exe$ application/octet-stream anthony-unknown.gif – image +download
.com$ application/octet-stream anthony-unknown.gif – image +download
.pif$ application/octet-stream anthony-unknown.gif – image +download
.bat$ application/octet-stream anthony-unknown.gif – image +download
.scr$ application/octet-stream anthony-unknown.gif – image +download

Como podrás ver el archivo mime.conf cataloga a los ejecutables como
application/octet-stream
.

Están casi todas las extensiones que necesitamos bloquear y algunas mas que ni sabíamos que existían así que pasamos al siguiente paso.

2.- Abrimos nuestro archivo de configuración squid.conf y agregamos la acl que se encargara de controlar las extensiones que deseamos bloquear.

acl banext rep_mime_type ^application/octet-stream

Aquí con esta acl le estamos diciendo al squid que ponga atención a los ejecutables (application/octet-stream) que se descargan. Y a esa instrucción le estamos dando el nombre de banext, que puede ser cualquier nombre alfanumérico, procura no usar caracteres extraños.

3.- Buscamos dentro del archivo squid.conf

http_reply_access allow all

Justo arriba de esa regla ponemos.

http_reply_access deny banext

Lo que le estamos diciendo allí es que restrinja las extensiones reconocidas por squid como ejecutables.

Te vas al administrador de servicios y recetas SquidNT. (Inicio>Panel de Control>Herramientas administrativas>Servicios)

4.- Ahora si a divertirte mientras observas a los usuarios intentar descargar ejecutables una y otra vez.

Bloqueo de otro tipo de archivos

Si revisas a detalle el contenido del archivo mime.conf veras que en el se encuentran casi todas las extensiones que necesitamos controlar, así que si deseas controlar la descarga por ejemplo de pdf’s o zip’s
solo debes buscar su catalogación dentro de este archivo.

Por ejemplo application/pdf para pdf’s y application/zip parazip’s.así que en caso de que desees restringirlos solo crea la acl necesaria y luego la regla de acceso.

En caso de que no exista la extensión que desees bloquear puedes añadirla, como en el ejemplo anterior no esta bloqueando las extecniones msi porque esta extensión no esta en el archivo mime.conf, así que procedemos a añadirla justo debajo de las demás.

.exe$ application/octet-stream anthony-unknown.gif – image +download
.com$ application/octet-stream anthony-unknown.gif – image +download
.pif$ application/octet-stream anthony-unknown.gif – image +download
.bat$ application/octet-stream anthony-unknown.gif – image +download
.scr$ application/octet-stream anthony-unknown.gif – image +download
.msi$ application/octet-stream anthony-unknown.gif – image +download

Como podrás ver fue un copy & paste y solo le tecleamos el msi.

Nota: antes de añadir extensiones a diestra y siniestra revisa bien el archivo para que no la dupliques.