El servidor Apache es un servidor de código abierto para plataformas. Es uno de los más usados porque es gratuito y destaca por su rendimiento y seguridad.
Ofrecemos aquí algunos consejos para hacer de un servidor apache, un sitio totalmente seguro para alojar las páginas web de empresa.
Directivas y archivos de configuración
Es necesario que los archivos con los que cuenta el servidor web Apache sean configurados correctamente durante su instalación, para que el servidor tenga una funcionalidad apropiada. Esta configuración debe de llevarse a cabo a través de reglas o directivas concretas de configuración.
Lo principal es que la distribución de Linux/Unix que se utiliza con Apache, las rutas, el número y los nombres de los archivos de configuración del servidor Apache pueda variar. El archivo de configuración puede introducir del mismo modo otros archivos de configuración por medio de la directiva Include.
Control sobre los archivos publicados
DocumentRoot es una directiva que especifica el directorio donde se publican las páginas web, el problema más corriente es que no existen las directivas adecuadas para controlar los archivos ubicados en la directiva DocumentRoot.
Denegar el acceso por defecto: lo más adecuado es denegar a todos los directorios el acceso por defecto, y solo permitir el acceso a aquellos directorios que estén especificados en el DocumentRoot.
Las directiva Den y Allow sirven para denegar o permitir el acceso de un directorio y la directiva Order determina el orden por el que se evalúan.
Con la directiva Directory se aplican determinadas directivas en la carpeta especificada y sus subcarpetas. Cuando existen directivas contradictorias que se aplican a un directorio prevalecerá la más específica.
Revisar las directivas Alias: estas directivas llamadas Alias asignan tipos de rutas cualquieras, para hacer más accesible el sistema de rutas desde la web. Revisando las reglas para que no se den directorios asociados al servicio de web que puedan ser expuestos.
Evitar la resolución de enlaces simbólicos: Apache en el sistema Unix/Linux puede recibir un enlace simbólico a petición de un archivo, y así devolver el archivo anotado por Apache que este fuera del DocumentRoot. Lo que posibilita que un atacante con permiso de escritura en el DocumentRoot establezca un enlace simbólico de archivos que se encuentran fuera del DocumentRoot y acceder después a ellos por medio del navegador.
Ocultar información
Uno de los principales problemas es la muestra de información, ya que cuanta más información tenga el atacante será más fácil de localizar las debilidades que existen en un sistema que está siendo atacado. Las medidas para que esto no ocurra son:
Deshabilitar el listado de ficheros: cuando se envía a Apache una URL que requiere un directorio y no un concreto archivo, Apache enseña el contenido del directorio. El atacante puede aprovechar lo anterior para hallar archivos cuya intención del administrador no era la de publicarlos. La directiva que se encarga de lo anterior es la directiva Options.
Limitar el acceso a archivos por extensión: dentro del DocumentRoot del servidor existen determinados ficheros que no quiere que estén disponibles y para denegar su acceso se utilizan las directivas FilesMatch y Files.
Restringir la información en la cabecera “server”: estas cabeceras contienen información que es útil para el atacante. En el momento en que se realiza una petición a un servidor web, en las repuestas http que propone introduce la cabecera Server que contiene información del software que es ejecutado por el servidor web. Para restringir esta información se deberá utilizar la directiva ServeTokens. Y mediante el módulo Mod security se puede modificar completamente el valor de esta cabecera.