You are on page 1of 21

Buenas Practicas de Configuración de Servidor Web Apache

‡ ‡ ‡ ‡ ‡ ‡

García Saavedra Jorge Humberto Perea Domper Goldman Denis Mendoza Reategui Dick Brand Panduro Gómez John Melitón Panduro Monteiro Martin Helvin Veintemillas Quinteros Alberto

Buenas Practicas de Configuración de Servidor Web Apache
y

CONFIGURACIÓN PARA SERVIDOR APACHE Los siguientes comandos son para la configuración del servidor apache, para esto se debe editar el archivo httpd.conf de la carpeta predeterminada ´C:\xampp\apache\confµ en el caso del XAMPP. ServerRoot: Indica la parte superior del árbol de directorios en las que el servidor da configuración, error y los archivos de registro se mantienen. Ejemplo: ServerRoot "C:/xampp/apache " carpeta de

1.

Esta directiva no debería cambiar a no ser que se mueva la instalación de apache a otro directorio.

en lugar del predeterminado.0. tales como documentos de error por ejemplo: admin@your-domain. Ejemplo: y Listen 12. . ServerAdmin: La dirección de correo electrónico a donde se debe enviar los mensajes cuando existen problemas con el servidor.34.Buenas Practicas de Configuración de Servidor Web Apache Listen: Sirve para enlazar Apache a determinadas direcciones IP y / o puertos.56. Esta dirección aparece en algunas páginas generadas por el servidor.0.78:8080 y Listen 8080 2. como se muestra a continuación para prevenir Apache desde glomming en todas las direcciones IP de la envolvente (0.0). Cambie esta para escuchar en direcciones IP específicas.com. Ejemplo: y ServerAdmin admin@localhost 3.

No puede estar dentro de ninguna sección. Ejemplo: y ServerName localhost: 80 Si el servidor no tiene un nombre registrado en las DNS.Buenas Practicas de Configuración de Servidor Web Apache 4. A menudo. pero es recomendable que especifique explícitamente para evitar problemas durante el inicio. Si el host no tiene un nombre DNS registrado. introduzca su dirección IP aquí. ServerName: Da el nombre y el puerto que utiliza el servidor para identificarse. se recomienda poner su número IP. esto se puede determinar de forma automática. .

DocumentRoot: El directorio de los cuales se sirven de su los documentos. pero enlaces simbólicos y alias puede ser usado para apuntar a otros lugares.Buenas Practicas de Configuración de Servidor Web Apache 5. Por defecto. No puede estar dentro de ninguna sección. Esta línea empieza por " <Directory " seguido de la carpeta raíz que originalmente hay en DocumentRoot. Si se cambia este directorio por otro. todas las solicitudes se han tomado de este directorio. no solo en esta línea. sino también en la sección <Directory> en la que se establecen los parámetros de configuración de este directorio. es muy importante que se ponga el nuevo valor. que se encuentra en la carpeta de instalación del Apache. Ejemplo: y DocumentRoot ´C:/xampp/htdocsµ Por defecto. . la carpeta raíz es la carpeta Htdocs.

html. DirectoryIndex: Es la página por defecto que entrega el servidor cuando hay una petición de índice de un directorio especificado con una barra (/) al final del nombre del directorio.cgi. cuando un usuario pide la página http://your_domain/this_directory/. . El valor por defecto para DirectoryIndex es index.shtml e index. o un listado generado por el servidor. El servidor intentará encontrar cualquiera de estos cuatro. index. 6.htm index. Por ejemplo. 7. recibe la página DirectoryIndex si existe. y entregará el primero que encuentre.Buenas Practicas de Configuración de Servidor Web Apache Directory: Las etiquetas <Directory /path/to/directory> y </Directory> se usan para agrupar directivas de configuración que sólo se aplican a ese directorio y sus subdirectorios. Las etiquetas <File> pueden aplicarse de la misma forma a un fichero específico. Cualquier directiva aplicable a un directorio puede usarse en las etiquetas <Directory>.

notice. Es el primer lugar a mirar cuando se produce un problema con el inicio del servidor o con el funcionamiento del servidor. ya que a menudo tendrá los detalles de lo que salió mal y cómo arreglarlo. 9.log No se tiene que mover la ubicación. info. Los valores posibles son: debug. Ejemplo: y LogLevel warm Esta directiva sólo se puede encontrar fuera de cualquier sección. Este es el lugar donde Apache enviará la información de diagnóstico y podrá registrar los errores que encuentra en la tramitación de solicitudes.Buenas Practicas de Configuración de Servidor Web Apache LogLevel: Controlar el número de mensajes registrados en el error_log. cuyo nombre y ubicación se especifica en el ErrorLog (Directiva). crit. emerg. . y ErrorLog logs/error. alert. ErrorLog: El registro de errores del servidor. 8. warn. error. que es el archivo de registro más importante.

Redirect: Cuando se cambia una página de sitio. ya existe un alias configurado.html.Buenas Practicas de Configuración de Servidor Web Apache 10. el servidor devolverá el nuevo URL (http://new_domain/path/fo) 11. Así que si se recibe una petición HTTP para un página que solía estar en http://your_domain/path/foo. Cualquier URL que termine en un alias será automáticamente traducido por el recorrido del alias. Por defecto. Alias: El comando Alias permite que haya directorios fuera del DocumentRoot a los que puede acceder el servidor. Ejemplo: y Alias /webpath /full/filesystem/path . el comando Redirect se puede usar para pasar del viejo URL al nuevo URL.

Se encuentra disponible a través del módulo mod_mime.cgi para que automáticamente trate a cualquier archivo con un nombre que termine en . Ejemplo: y AddHandler cgi-script . 12.cgi como un script CGI. Por ejemplo.cgi . Ejemplo: y conf TypesConfig / mime. 13.Buenas Practicas de Configuración de Servidor Web Apache TypesConfig: Permite agregar puntos al expediente que contiene la lista de asignaciones de Nombre de archivo de extensión de tipo MIME. se puede corresponder el manejador cgiscript con la extensión .types No puede estar dentro de ninguna sección. AddHandler: La directriz AddHandler hace corresponder extensiones de archivos a manejadores específicos.

que se encuentran dentro de las etiquetas <Location "/"> y </Location>. 14.Buenas Practicas de Configuración de Servidor Web Apache Location: Las etiquetas <Location> y </Location> permiten controlar el acceso específico a cada URL. son necesarias para permitir el acceso a documentos en DocumentRoot. El primer uso de Location es configurar Options y proporcionar guías extra de configuración para DocumentRoot.html: En lugar de mostrar un simple mensaje de texto cuando se produce un error. ErrorDocument 404 / missing. y ErrorDocument 404 / missing. Estas directivas de configuración. Ejemplo: 15. mostrando un mensaje amistoso junto con un enlace para seguir de nuevo Cualquier persona hurgando con algún conocimiento de cómo funciona un servidor se dará cuenta de que está correctamente la manipulación y posiblemente la monitorización de dicha actividad.html en su directorio principal de HTML. simplemente quite la marca # y crear un documento llamado missing.html . Para especificar una página web especial.

dentro de la sección <Directory> o fuera de cualquier otra sección. El acceso a una carpeta protegida se intentó (por ejemplo) domain. La solicitud había sintaxis imposibilidad de ser satisfecho. Este (debe) ser una condición temporal. incorrecta o la Usuario no facilite un nombre de usuario válido y contraseña necesarios para acceder a fichero o directorio. Esta directiva se puede encontrar tanto dentro del fichero . . según el cuadro que a continuación muestra una lista de códigos que es posible utilizar. El servidor ha detectado una condición inesperada que le impidió cumplir con la solicitud El servidor no admite la instalación requerida.com / cgi-bin El archivo solicitado no fue encontrado.htaccess.Buenas Practicas de Configuración de Servidor Web Apache Nota: Puedes añadir tantos códigos de error personalizado que desee. 400 400 401 401 402 402 403 403 404 404 500 500 501 501 502 502 503 503 Solicitud incorrecta No autorizado Pago requerido Prohibido No se ha encontrado Error del servidor No implementado Puerta de enlace incorrecta Fuera de los recursos El servidor no puede procesar la solicitud debido a una sobrecarga del sistema.

esto significa que su grado de integración con el servidor Apache es muy alto. LoadModule: Los enlaces de la directiva LoadModule en el fichero de objeto o nombre del archivo y la biblioteca añade la estructura de módulo a la lista de módulos activos.so Se encuentra disponible a través del módulo mod_so. Ejemplo: LoadModule disk_cache_modules/mod_disk_cache. y que está disponible siempre. y Core Si una directiva tiene estado "Core". . Módulo es el nombre de la variable externa de tipo module en el archivo.Buenas Practicas de Configuración de Servidor Web Apache 16. y y Nota modulo.

Buenas Practicas de Configuración de Servidor Web Apache y RECOMENDACIONESY BUENAS PRÁCTICAS Usuario apache Hacer que Apache arranque con un usuario que no sea root. Lo ideal es crear un usuario exclusivo: y y # groupadd www # useradd -g www www Luego editamos el fichero de configuración y definimos el usuario/grupo: y y User www Group www .

deny Allow from all </Directory> .Buenas Practicas de Configuración de Servidor Web Apache Impedir el uso de ficheros .htaccess No permitir que los usuarios configuren archivos .htaccess en algún directorio simplemente definimos el directorio con la opción: y y y y y y y <Directory "/ruta_del_directorio"> Options FollowSymLinks AllowOverride Authconfig Order allow.htaccess los cuales pueden anular los sistemas de seguridad configurados: y <Directory /> y AllowOverride None y Options None y Allow from all y </Directory> Si queremos usar un .

conf: y y ServerSignature Off ServerTokens Prod El ServerSignature aparece en la parte inferior de las páginas generadas por Apache tales como los famosos errores 404.3. Los usuarios maliciosos pueden utilizar esta información para atacar tu servidor. Los valores posibles son: y Minimal|ProductOnly|OS|Full . el sistema operativo y un informe de módulos de Apache están instalados en el servidor.midominio. o corregir en tu archivo de httpd. Hay dos directivas que necesitas agregar.Buenas Practicas de Configuración de Servidor Web Apache Ocultar información del sistema Por defecto muchas instalaciones de Apache muestran el número de versión que está funcionando.com Port 80 La directiva ServerTokens se utiliza para determinarse lo que pondrá Apache en la cabecera de la respuesta HTTP del servidor. Esto evita que se muestre un mensaje del estilo: y Apache/1.19 Server at www.

0/16 O por IP: Order Deny.0.0.0.Allow Deny from all Allow from 127.Buenas Practicas de Configuración de Servidor Web Apache Restringir acceso por IP Si tienes un recurso al que deba solamente tener acceso alguna red.16: y y y y Order Deny.Allow Deny from all Allow from 176. Por ejemplo si deseas restringir el acceso a tu Intranet para permitir solamente la red 176.1 y y y .16. o IP en concreto puedes configurarlo en Apache.

Buenas Practicas de Configuración de Servidor Web Apache Deshabilitar cualquier módulo innecesario Apache viene por defecto instalado con una serie de módulos. . mod_cgi. Busca en httpd. para que de esta forma pase a ser un comentario. Debes echarle un vistazo a la documentación de Apache y ver para que sirve cada uno de ellos.conf Aquí están algunos módulos que se instalan por defecto pero a menudo no son necesarios: mod_imap. mod_status. Para deshabilitar el módulo debes agregar un "#" al principio de la línea. Para buscar los módulos prueba con: y grep LoadModule httpd. mod_info. y de esta manera te darás cuenta de que hay algunos que no son útiles en tu servidor. mod_userdir.conf las líneas que contengan LoadModule. mod_include. mod_autoindex.

Allow Deny from all Options None AllowOverride None Order Allow.Buenas Practicas de Configuración de Servidor Web Apache Asegurarte de que los archivos a los que se accede son los deseados No deseamos que se pueda acceder a los directorios que no tengan permisos para ello. y Options -Indexes .Deny Allow from alll Desactiva las opciones para explorar directorios Esto lo puedes hacer con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o indexes. supongamos que el directorio raíz para nuestras webs es "/web". la configuración óptima deberá ser la siguiente: y y y y y y Order Deny.

podrías fijar este ajuste a algo parecido a esto: y LimitRequestBody 1048576 Si no estás permitiendo uploads de archivos puedes fijarlo incluso a un tamaño más pequeño. Esta directiva está fijada a ilimitado por defecto. Puedes disminuirlo por seguridad para prevenir ataques de esta manera: y Timeout 45 Limitar el tamaño máximo de peticiones Apache tiene varias directivas que permiten que limites el tamaño de una petición. . esto puede ser muy útil. Una buena manera de comenzar es con la directiva LimitRequestBody. Algunas otras directivas a mirar son LimitRequestFields. LimitRequestFieldSize y LimitRequestLine. Si estás permitiendo uploads de archivos que no sean mayores a 1MB.Buenas Practicas de Configuración de Servidor Web Apache y Disminuye el valor máximo de tiempo de espera Por el defecto el tiempo de espera es de 300 segundos.

y Options ²FollowSymLinks Desactiva las opciones múltiples Si desea desactivar todas las opciones sólo tiene que utilizar: y Options None Si sólo desea desactivar alguno separados cada una de las opciones con un espacio en su directiva Options: y Options -ExecCGI -FollowSymLinks ²Indexes Desactive los includes del lado del servidor Esto también se hace con la directiva Options dentro de una etiqueta Directory. Establecer Options None o ²Includes y Options -Includes . Establecer Options a None o -FollowSymLinks.Buenas Practicas de Configuración de Servidor Web Apache No permita que apache siga enlaces simbólicos Esto de nuevo se puede hacer usando la directiva Options dentro de una etiqueta Directory.

Gracias«. ..