Seguridad en Apache: control de los archivos publicados

Publicado en Ciencia y Tecnología, Noticias,


Tweet about this on TwitterShare on Google+2Share on Facebook0Share on LinkedIn0

En esta segunda entrega de la guía de seguridad del servidor Apache publicada por INTECO, se explicarán las directivas principales para definir los ficheros que servirá Apache sin que se facilite el acceso a ningún otro archivo del servidor.

El directorio especificado mediante la directiva DocumentRoot es el directorio desde el que se servirán los archivos de Apache. Aún así, existen errores de configuración que pueden posibilitar el acceso a otros directorios.

Denegar el acceso por defecto

Es conveniente denegar el acceso a todos los directorios por defecto y permitir el acceso sólo al directorio especificado en el DocumentRoot explícitamente:

En Directory:

Order Deny,Allow
Deny from all
Options None
AllowOverride None

En Directory /var/www/htdocs

Order Allow,Deny
Allow from all

Las directivas Allow y Deny son utilizadas para permitir o denegar respectivamente el acceso a un directorio y Order especifica el orden en el que serán evaluadas.

La directivasirve para aplicar un serie de directivas al directorio especificado y a todos sus subdirectorios. Lo más común es que existan varias de estas directivas y que, como también se aplican a los subdirectorios, existan directivas contradictorias aplicadas a un directorio. En este caso, la directiva delmás específico es la que prevalece. En el ejemplo anterior, existen directivas de acceso contradictorias en el directorio /var/www/htdocs, pero se imponen las que permiten el acceso por estar contenidas en unmás específico.

El cometido de las directivas Options y AllowOverride se explicarán en entregas posteriores.

Revisar las directivas Alias

Para servir un archivo Apache concatena el directorio especificado en DocumentRoot con la parte de la ruta de la URL:

Pero mediante la directiva Alias se puede modificar esta resolución. Si la URL coincide con el primer parámetro de la URL, Apache servirá desde el directorio especificado en el segundo parámetro:

Para evitar filtrar información se debe analizar la necesidad de esta directiva y de las similares AliasMatch, ScriptAlias y ScriptAliasMatch.

Vetar la resolución de enlaces simbólicos

En sistemas Unix/Linux, Apache puede recibir una petición a un archivo que es, a nivel de sistema operativo del servidor, un enlace simbólico y devolver el archivo apuntado por él aunque se encuentre fuera del DocumentRoot.

Esta funcionalidad además posibilita que un atacante, que tenga permisos de escritura sobre el DocumentRoot, cree un enlace simbólico a archivos contenidos fuera del DocumentRoot para luego acceder a ellos a través del navegador.

Para deshabilitar esta posibilidad se debe aplicar la siguiente directiva:

Options -FollowSymLinks
Como alternativa, se puede habilitar esta funcionalidad pero sólo si el archivo destino pertenece al mismo usuario que el enlace simbólico:

Options -FollowSymLinks +SymLinksIfOwnerMatch


vía INTECO

Califica esta entrada

Etiquetas:


Deja un comentario

Cuanto es 17 + 14 ?
Please leave these two fields as-is:
IMPORTANTE! Necesitas resolver la operación matemática para poder continuar.

Newsletter

Redes sociales

Centro de soporte

Centro de recursos