Evitar ejecución de scripts dentro del directorio de imágenes

Dificultad: Fácil
Tiempo de Lectura: 2 minutos

Muchas veces a la hora de instalar algún CMS como Joomla o WordPress nos encontramos con problemas de permisos en directorios; es usual que los clientes al tratar de instalar algún plugin o de subir alguna imagen se encuentren con errores de tipo “no puede realizarse esta operación, permisos inadecuados” o similares.

El problema más importante luego es la solución que se propone, darle permisos 777 al directorio para que desaparezcan estos molestos mensajes; este tipo de permisos entregan en bandeja de plata nuestra web a piratas que instalan scripts en nuestros sitios y pueden llegar a causar serios problemas en nuestros negocios.

La solución real implica conocer que sucede en nuestros directorios; los sistemas en base Unix, mantienen los ficheros con 2 características principales; propietario y permisos; si bien nuestro problema inicial apunta a resolverse cambiando los permisos; en realidad muchas de las veces, pueden ser resueltos con un simple cambio de propietario, por ejemplo si el propietario del plugin luego de instalarlo es apache y no nuestro usuario ftp, tendremos un conflicto de permisos cuando queramos subir información via ftp a ese directorio.

Igualmente hay casos en los que el problema se torna mas complejo, y la necesidad de acceder a los directorios desde varias fuentes implica la necesidad de arriesgarse y darle mayores permisos a una carpeta, para estos casos en Infranetworking les brindamos una salida segura y notablemente sencilla que evitará hackeos y pérdida de información.

En el directorio de imágenes en cuestión ha de crearse un archivo .htaccess, el mismo puede realizarse mediante el block de notas y a la hora de guardar se nombra tal cual fue escrito aquí; dentro de este fichero colocaremos lo siguiente:

# Prevents any script files from being accessed from the images folder
<FilesMatch "\.(php([0-9]|s)?|s?p?html|cgi|pl|exe)$">
Order Deny,Allow
Deny from all
</FilesMatch>

En el código anterior le decimos al sistema que cualquier archivo que tenga extensión php, html, cgi, perl o exe no es permitido dentro de nuestro directorio de imágenes, aumentando la seguridad y permitiendo que los permisos se puedan aumentar sin correr tantos riesgos.

Pero tengan cuidado, no es una salida para utilizar en cada directorio de nuestro sistema, ni es una excusa para darle a todas nuestras carpetas permisos 777, recuerden que la creación de archivos .htaccess tiene sus consecuencias a la hora de gestionar los recursos, en algún caso puntual no es importante, pero tampoco puede usarse de forma indiscriminada.

¿Te resultó útil el artículo? Compártelo con tus colegas: