seguridad con .htaccess.pdf

15
Tutorial de .htaccess Posted on April 3, 2006 Para aquellos que pelean contra WP y el formato de links. Y también para quien lo necesite una pequeña recopilación de consejos para poder crear y modificar el archivo misterioso que todo lo puede :p. Notas de traducción Esta traducción fue realizada bajo permiso expreso y por escrito en e-mail del autor: Paolo Tagliaferri (que le manda saludos a Pampita) Tanto el artículo original como su traducción se encuentra bajo licencia Creative Commons Atribución-NoComercial-SinDerivadas Los vínculos fueron mantenidos así que éstos seguramente se encontrará en inglés Artículo Original: Apache .htaccess tweaking tutorial Si a alguien se le ocurre algo para agregar/modificar/corregir al tutorial sólo deje un comentario y vemos cómo hacemos. La traducción En este tutorial mejoraremos nuestro sitio web modificando el archivo .htaccess.¿Por qué escribí este artículo? Porque en la red encontré un montón de artículos sobre esta pequeña bestia pero cada uno de ellos englobaba un problema en particular y no el uso general del archivo, o eran demasiado grandes cuando uno necesitaba algo en poco tiempo. Por lo que estoy intentando recopilar todas los datos útiles en un tutorial sencillo pero monolítico, que será actualizado a medida que consiga más información. Primero sin embargo, veamos qué es un archivo .htaccess. Esto es lo que dice la definición de la wikipedia [en inglés]: .htaccess (Acceso de Hiper-Texto) es el nombre por defecto del archivo de configuración de directorios de Apache. Provee de la habilidad para personalizar la configuración de las directivas definidas en el archivo de configuración principal. Las directivas de configuración necesitan estar en el contexto de .htaccess y el usuario necesita los permisos apropiados. Ahora veamos los problemas más comunes. Índice (Última actualización: 28 de Febrero de 2006) 1. Control de acceso a carpetas 2. Listado de carpetas 3. Activación de compresión 4. Escondiendo archivos 5. Páginas de error HTTP 404 personalizadas 6. Bloqueo de referers maliciosos Nada de hotlinking 7. Bloqueo de robots maliciosos 8. No mostrar ‘wwww’

Upload: ariel-ruiz

Post on 26-Dec-2015

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Seguridad con .htaccess.pdf

Tutorial de .htaccess

Posted on April 3, 2006

Para aquellos que pelean contra WP y el formato de links. Y también para quien lo necesite una pequeña

recopilación de consejos para poder crear y modificar el archivo misterioso que todo lo puede :p.

Notas de traducción

Esta traducción fue realizada bajo permiso expreso y por escrito – en e-mail – del autor: Paolo

Tagliaferri (que le manda saludos a Pampita)

Tanto el artículo original como su traducción se encuentra bajo licencia Creative Commons

Atribución-NoComercial-SinDerivadas

Los vínculos fueron mantenidos así que éstos seguramente se encontrará en inglés

Artículo Original: Apache .htaccess tweaking tutorial

Si a alguien se le ocurre algo para agregar/modificar/corregir al tutorial sólo deje un comentario y vemos

cómo hacemos.

La traducción

En este tutorial mejoraremos nuestro sitio web modificando el archivo .htaccess.¿Por qué escribí este

artículo? Porque en la red encontré un montón de artículos sobre esta pequeña bestia pero cada uno de ellos

englobaba un problema en particular y no el uso general del archivo, o eran demasiado grandes cuando uno

necesitaba algo en poco tiempo. Por lo que estoy intentando recopilar todas los datos útiles en un tutorial

sencillo pero monolítico, que será actualizado a medida que consiga más información. Primero sin embargo,

veamos qué es un archivo .htaccess.

Esto es lo que dice la definición de la wikipedia [en inglés]:

.htaccess (Acceso de Hiper-Texto) es el nombre por defecto del archivo de configuración de directorios de

Apache. Provee de la habilidad para personalizar la configuración de las directivas definidas en el archivo

de configuración principal. Las directivas de configuración necesitan estar en el contexto de .htaccess y el

usuario necesita los permisos apropiados.

Ahora veamos los problemas más comunes.

Índice (Última actualización: 28 de Febrero de 2006)

1. Control de acceso a carpetas

2. Listado de carpetas

3. Activación de compresión

4. Escondiendo archivos

5. Páginas de error HTTP 404 personalizadas

6. Bloqueo de referers maliciosos – Nada de hotlinking

7. Bloqueo de robots maliciosos

8. No mostrar ‘wwww’

Page 2: Seguridad con .htaccess.pdf

9. Escondiendo la extensión del lenguaje de scripting

10. Consejos y trucos varios

11. Protección con contraseña mediante htpasswd

12. Activando SSI

13. Cambiando la página por defecto

14. Evitando el error 500

15. Directiva CheckSpelling [Control de Ortografía]

16. Agregar sumario MD5

17. Fuentes

18. Herramientas

Control de acceso a carpetas

Podrías querer deshabilitar totalmente el acceso a una carpeta (por ejemplo, una carpeta con librerías de

programación que se incluyen en los archivos principales. En este caso sólo los archivos principales

accederána ellos mediante el sistema de archivos, pero no se podrán acceder via web). Bueno, simplemente

crea un archivo .htaccess en esa carpeta que contenga:

#deny all access

deny from all

Si se quiere permitir el acceso desde una IP específica

#deny all access

deny from all

allow from 10.0.0.1

o para un rango específico de IPs (forzado mediante la máscara de red)

allow from 192.168.0.0/24

también se puede bloquear el acceso a un archivo específico

<Files privado.html>

Order allow,deny

Deny from all

Volver al índice

Listado de carpetas

Si se quiere hacer las carpetas navegables, entonces necesitamos agregar esta línea al archivo .htaccess

Options +Indexes +MultiViews +FollowSymlinks

Y esta si se tiene el módulo apropiado en el servidor web

IndexOptions FancyIndexing

Page 3: Seguridad con .htaccess.pdf

También se podría querer prevenir el listado de carpetas

IndexIgnore *

Volver al índice

Activar compresión

Se puede habilitar la compresión de datos inherente de PHP para ahorrar ancho de banda

php_value zlib.output_compression 16386

Volver al índice

Escondiendo archivos

Para deshabilitar el acceso a un archivo en particula se puede utilizar una expresión regular y la directiva

Files para denegar acceso a cualquier archivo que comience con .ht

Se puede modificar esto para restringir un archivo en particular (como archivos de configuración, robots.txt,

archivos de logs o lo que se desee).

Order allow,deny

Deny from all

Satisfy All

Volver al índice

Páginas de error HTTP 404 personalizadas

Si se quisiera redireccionar los visitantes cada vez que se encuentran con una página de error HTTP 404,

utiliza éste código:

ErrorDocument 404 /errores/noencontrado.html

Esto redirije el usuario hacia /errores/noencontrado.html cada vez que sucede un error 404. Obviamente, se

puede redefinir para que capture otros errores http (403, 5000, etc). Sigue leyendo para ver lo que encontré

Consejo: Internet Explorer tiene una “funcionalidad” poco documentada que previene la utilización de

cualquier página de error 404 personalizada que sea menor a 512 bytes de largo. Los visitantes serán

enviados, en cambio, a la página propia de IE, que es genérica y sugiere que utilizen una búsqueda en MSN

para buscar la información en internet. ¡Esa es una forma de perder visitantes! Asegúrate que tu página

personalizada esté por sobre este límite – algo así como 10 líneas completas de texto y HTML deberían ser

suficientes.

Volver al índice

Page 4: Seguridad con .htaccess.pdf

Bloqueo de referers maliciosos – Nada de hotlinking

Si se desea bloquera algunas partes del sitio de cualquier referer malicioso:

RewriteEngine on

RewriteCond %{HTTP_REFERER} ejemplo\.com [NC,OR]

RewriteCond %{HTTP_REFERER} otroejemplo\.com

RewriteRule .* - [F]

Utilizando el motor rewrite [de reescritura] se denegará el acceso al sitio a cualquier visitante que venga de

chicomalo.com u otrositiodesagradable.com. Para evitar el robo de ancho de banda, se puede bloquear el

acceso a un archivo en particular (o extensión de archivos).

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?example\.com[NC]

RewriteRule .*\.(zip|mp3|avi|wmv|mpg|mpeg)$ http://www.example.com/images/nohotlink.gif

[R,NC,L]

Esto dice: “si el visitante no proviene de misitio.net, entonce redirije todos los pedidos de archivos

(zip,mp3,avi,wmv,mpg,mpeg) a una imagen que dice “No permitimos hotlinking” De esa forma, puedes

redirigir a una página, o lo que desees, o p uedes modificar la lista de extensíones de archivo para

incluir/quitar otros archivos. Cuidado: cuando se decide bloquera el hotlinking de imágenes recuerda que

puedes estar bloqueando todo tráfico fuera del alcance de tu dominio. Por ejemplo, si se posee un archivo de

sindicación tomado por bloglines necesitarás modificar la regla para permitirles a los lectores obtener las

imágenes – o el RSS se verá mal.

Volver al índice

Bloqueo de robots maliciosos

En algunos casos se querrá bloquear algunos robots maliciosos, como spiders o descargadores. Para ello

utilizaremos mod_rewrite nuevamente. Normalmente los robots maliciosos ignoran el archivo de directivas

robots.txt por lo que se podría querer forzar un error 403 cada vez que quieran recorrer o descargar tu sitio:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]

RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:[email protected] [OR]

RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]

RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]

RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]

RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]

RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]

RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]

RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]

RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]

RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]

RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]

Page 5: Seguridad con .htaccess.pdf

RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]

RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]

RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]

RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]

RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]

RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]

RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]

RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]

RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]

RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]

RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]

RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]

RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]

RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]

RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]

RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]

RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]

RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]

RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]

RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]

RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]

RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]

RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]

RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]

RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]

RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]

RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]

RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]

RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]

RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]

RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]

RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]

RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]

RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]

RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]

RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]

RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]

RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]

RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]

RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]

RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]

RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]

RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]

RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]

RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]

RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]

RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]

RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]

Page 6: Seguridad con .htaccess.pdf

RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]

RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]

RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]

RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]

RewriteCond %{HTTP_USER_AGENT} ^Zeus

RewriteRule .* - [F]

(La lista se obtuvo de aquí)

Volver al índice

No mostrar ‘wwww’

Para hacer esto, basta con una simple regla de re-escritura:

Options +FollowSymlinks

RewriteEngine on

RewriteCond %{http_host} ^www\.example\.com[nc]

RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc]

¿Por qué querría quitar ‘www’? En ese link los fundamentos

Volver al índice

Escondiendo la extensión del lenguaje de scripting

Se puede aumentar la seguridad cambiando la extensión de los scripts para que los visitantes desconozcan

qué lenguaje estás utilizando:

# Make PHP code look like unknown types

AddType application/x-httpd-php .cool

De esta forma, los archivos .cool serán tratados como si fuesen archivos PHP. Se deben renombrar los

archivos que se quiera con esta nueva extensión.

Volver al índice

Consejos y trucos varios

Mantiene el archivo .htaccess pequeño: este archivo es procesado por el servidor web en cada

pedido (pudiendo causar problemas de performance).

Mantiene tu archivo .htaccess organizado. Utiliza comentarios (líneas que comienzan en #) y

se lógicamente consistente. Es complicado entender un archivo .htaccess desorganizado una

vez que crece lo suficiente.

Cuando se utilicen reglas de reescritura de URLs, agrega la opción [L] a aquellas páginas

finales (como la de hotlinking y demás). Esto le dirá al servidor que no procese más reglas

(aumentando la performance).

Page 7: Seguridad con .htaccess.pdf

Cuidado con la herencia: el archivo .htaccess a nivel raíz es aplicado también en las carpetas,

cuaquier regla .htaccess en la carpeta puede reemplazar las reglas de la carpeta raíz.

Volver al índice

Protección con contraseña mediante .htpasswd

Esto es útil cuando se quiere agregar una contraseña a ciertas páginas y/o archivos

Crea un archivo .htpasswd en la carpeta a protejer.

El archivo contendrá la información de registro de la forma usuario:contraseña. El nombre

de usuario es en texto plano. La contraseña debe de estar encriptada o no funcionará. Utiliza

esta herramienta para saber qué texto agregar.

Si se crea el archivo en la PC local, acuérdate de subirlo al servidor en modo ASCII.

Normalmente, se puede modificar el archivo .htaccess. La autenticación se aplicará a la

carpeta en la que se encuentre y las subcarpetas.

AuthUserFile /home/pathto/.htpasswd

AuthType Basic

AuthName "Mi Carpeta Secreta"

require valid-user

Se puede protejer un sólo archivo incluyendo este código dentro de una directiva

Asegúrate de protejer el acceso al archivo .htaccess utilizando el primer consejo.

Volver al índice

Activando SSI

Utiliza éstas instrucciones para activar la interpretación SSI

AddType text/html .html

AddType text/html .shtml

AddHandler server-parsed .html

AddHandler server-parsed .shtml

Volver al índice

Cambiando la página por defecto

Se puede utilizar esta instrucción para cambiar la página por defecto (el orden es importante)

DirectoryIndex inicio.html index.htm index.html index.php

Volver al índice

Evitando el error 500

Page 8: Seguridad con .htaccess.pdf

Pasando el juego de caracteres se evita el mostrar un error 500

AddDefaultCharset utf-8

Volver al índice

Directiva CheckSpelling [Control de Ortografía]

Esta directiva puede ser útil para auto-corregir errores de ortografía simple en la URL

CheckSpelling On

Volver al índice

Agregar sumario MD5

Si no se está preocupado por problemas de performance, se peude agregar un cálculo de llave MD5 para

agregar un MIC [Control de Integridad de Mensaje en inglés] en cada pedido. Esto es útil para controlar la

integridad del mensaje.

ContentDigest On

Volver al índice

Fuentes

http://corz.org/serv/tricks/htaccess.php

http://underscorebleach.net/jotsheet/2004/06/htaccess-prevent-hotlinking

http://brainstormsandraves.com/archives/2005/10/09/htaccess/

http://www.usphp.com/security.hiding.html

Volver al índice

Herramientas

Generador de contraseñas .htaccess

.htaccess

.htaccess es un archivo de texto oculto que contiene una serie de directivas para el servidor Apache. Cuando

un cliente solicita un archivo al servidor, este busca desde el directorio raíz hasta el subdirectorio que

contiene el archivo solicitado el archivo .htaccess y tiene en cuenta estas reglas antes de proceder con la

petición, es decir, se aplican las normas especificadas al directorio en el que se encuentre .htaccess y los

directorios por debajo de él.

Page 9: Seguridad con .htaccess.pdf

Ejemplos de usos para .htaccess pueden ser restringir el acceso a determinados archivos, impedir el listado

de los archivos de un directorio, redireccionar, personalizar las páginas de error o impedir el acceso a

determinadas IPs o rangos de IP.

Impedir el listado del contenido de un directorio Cuando se intenta acceder a un directorio, en ausencia de un archivo de índice, Apache muestra por defecto

el contenido del directorio. Si queremos impedir al usuario ver el contenido de un directorio, bastaría con

crear un archivo de índice, por ejemplo index.html, pero existe una solución más elegante mediante la

directiva Options. Basta crear un archivo .htaccess que contenga la línea: Options -Indexes También podríamos utilizar la directiva DirectoryIndex, que especifica qué archivos actúan como índice por

defecto, y que archivo mostrar en el caso de que estos no se encuentren. Por ejemplo la línea: DirectoryIndex index.php index.html index.htm /prohibido.php

indicaría al servidor que debe buscar los archivos index.php, index.html o index.htm, en ese orden, y en el

caso de no encontrar ninguno de ellos, cargar el archivo prohibido.php.

Redireccionar el tráfico web Si nos encontramos con la necesidad de enviar al usuario a una determinada dirección web cuando pida una

cierta página, por ejemplo porque la hallamos movido, podemos utilizar la directiva Redirect de Apache.

Redirect /antiguo.php http://mundogeek.net/otros/nuevo.php

Crear un mensaje de error personalizado Este es uno de los usos más frecuentes para el archivo .htaccess. En ocasiones se pueden producir errores

que deben ser notificados al usuario, por ejemplo en el caso de que se intente acceder a una página que no

existe, bien por un fallo del usuario al introducir la url, o bien porque la página haya sido movida o

eliminada. Estos mensajes suelen estar escritos en inglés, no ofrecen demasiada información al usuario, y

rompen la estética general del sitio, por lo que es imprescindible personalizarlos.

Para lograrlo utilizamos la directiva ErrorDocument, del que tenemos un ejemplo a continuación: ErrorDocument 403 "Acceso denegado

ErrorDocument 404 /404.php

ErrorDocument 500 /500.php

Los códigos de error 403, 404 y 500 son los más comunes, y se producen respectivamente cuando no se tiene

permiso para acceder a una página, cuando no se encuentra un archivo y debido a un error interno del

servidor.

La primera línea indica al servidor que muestre el mensaje ‘Acceso denegado’ siempre que se produzca el

error 403. Las otras líneas ilustran la forma de indicar al servidor que muestre una determinada página

cuando se produzca un error (se puede usar direcciones relativas o absolutas).

Evitar listado de directorios, archivo en Apache y IIS

Si bien muchas veces nuestros servidores instalados, por default vienen con la característica de permitir el

listado de directorios, en ocasiones este puede convertirse en un problema de seguridad , por lo que seria

conveniente que restrinjamos esa opción.

Apache

Page 10: Seguridad con .htaccess.pdf

Para apache tenemos 3 métodos distintos:

Método 1

El primer método precario y hasta un grado tedioso es colocar un archivo index.html | index.php |

index.htm a cada uno de los directorios donde no queremos que se listen los archivos.

en el ejemplo coloque un archivo index.html en el directorio images, para que no se listaran los archivos del

mismo.

Método 2

Page 11: Seguridad con .htaccess.pdf

El siguiente método consiste en crear un archivo .htaccess para ello abrimos un símbolo de sistema, nos

movemos al directorio raíz de nuestro sitio (en este caso prueba) y escribimos la siguiente línea:

echo Options -Indexes > .htaccess

con esto evitaremos que cualquier directorio que se encuentra debajo del directorio principal liste los

archivos, apareciendo lo siguiente:

de esta forma hasta podemos seleccionar que tipo de archivos queremos que se listen y cuales no; para

mayor información:

http://www.enespanol.com.ar/2006/04/03/tutorial-de-htaccess/

http://mundogeek.net/archivos/2005/05/04/htaccess/

http://www.webmasterlibre.com/2006/09/04/los-htaccess/

Page 12: Seguridad con .htaccess.pdf

Método 3

Este método es directamente en archivo de configuración de apache (en mi caso estoy utilizando XAMPP,

por lo que mi archivo de configuración es C:\xampp\apache\conf\httpd.conf ).

Abrimos el archivo de configuración de apache con nuestro editor favorito (Notepad++) y buscamos la linea

“Options Indexes FollowSymLinks”

modificaremos la línea agregando un “-“ al inicio de “Indexes”, quedando de la siguiente forma: “Options -

Indexes FollowSymLinks”

Page 13: Seguridad con .htaccess.pdf

Guardamos el archivo y reiniciamos nuestro servidor apache.

IIS (Versión 7)

En IIS la cosa es sencilla (Al estilo Microsoft) , primero probaremos si nuestro IIS tiene habilitada la

característica de listado de directorio

En este caso podemos comprobar que si, por lo que iremos al panel de configuración de Internet Information

Services (IIS) , para ello abrimos un explorador y colocamos la siguiente ruta: “Panel de control\Sistema y

seguridad\Herramientas administrativas” , una vez echo esto , damos doble clic sobre “Administrador de

Internet Information Services (IIS)” una vez en el Administrador nos ubicamos en el sitio en el que

queremos evitar el listado de directorios, en este ejemplo es el Default Web Site.

Page 14: Seguridad con .htaccess.pdf

Damos sobre clic sobre el icono se abrirá la siguiente ventana:

Aquí daremos clic sobre la opción de deshabilitar :

Page 15: Seguridad con .htaccess.pdf

Y listo :) , con eso tendremos nuestro listado de directorios deshabilitado

Si queremos manejar los errores de nuestro servidor para personalizar nuestras paginas, podemos visitar los

siguientes links:

http://www.psicobyte.com/html/taller/errores.html

Fuente:

Listado de archivos apache:

http://httpd.apache.org/docs/2.2/mod/core.html#options

http://www.respuestaexpress.com/566/seguridad-evitar-listado-directorios-varios-metodos/

http://sauaslp.wordpress.com/2011/01/04/ocultar-listado-de-archivos-en-iis/

Los códigos de estado HTTP en IIS 7.0 y 7.5 de IIS

http://support.microsoft.com/kb/943891

http://support.microsoft.com/kb/324064#6

Configuración básica de Apache.

http://www.alcancelibre.org/staticpages/index.php/como-apache

Proteger directorios en el Servidor

http://www.forosdelweb.com/f58/proteger-directorios-servidor-151498/