Passa al contingut principal

¿Para qué sirve el archivo .htaccess de Apache?

¿Para qué sirve el archivo .htaccess de Apache?:
Tanto si ya tienes un blog como si alguna vez te has planteado arrancar uno, una de las decisiones tecnológicas que habrás tomado (o que tendrás que tomar) es la elección de la plataforma a utilizar y si optarás por un servicio gestionado (como Tumblr, Blogger o WordPress.com) o bien asumir la gestión completa desplegando un gestor de contenidos web (como WordPress o Drupal) en un servicio de hosting. Al asumir la gestión, tendremos que velar por la disponibilidad de nuestro blog y, por tanto, estar atentos a parches de seguridad y, sobre todo, optimizar la configuración para evitar accesos de terceros con no muy buenas intenciones. Si usamos un servidor web Apache (uno de los más extendidos), podremos contar con un recurso muy útil pero, a su vez, algo complejo: el archivo .htaccess.
url
¿Qué es el archivo .htaccess? El archivo .htaccess (hypertext access) es un archivo de configuración muy popular en servidores web basados en Apache que permite a los administradores aplicar distintas políticas de acceso a directorios o archivos con la idea de mejorar la seguridad de su página web y, por tanto, evitar acceso a terceros. Cuando visitamos una página web cualquiera y pulsamos sobre un enlace o queremos descargarnos un archivo, en el proceso de trámite de la petición, el servidor web consulta el archivo .htaccess con la idea de aplicar las directivas y restricciones definidas antes de cursar la petición y, lógicamente, cancelar peticiones que se encuentren prohibidas dentro de este archivo (cuyo ámbito de actuación es el directorio en el que se encuentra y todos los subdirectorios que se encuentran por debajo de éste).
¿Y qué podremos controlar con este archivo? Gracias a este archivo podremos configurar nuestro servidor web para hacerlo algo más seguro pero, además, también podremos realizar redirecciones, crear mensajes de error personalizados, restringir el acceso a carpetas, evitar el listado de directorios de nuestro servidor o permitir el uso de nuestro dominio sin usar las famosas ‘www’.
Poniendo el foco en la seguridad, vamos a dedicar unos minutos a revisar algunos puntos que deberíamos tener en cuenta a la hora de configurar nuestro servidor web:

Evitar el listado del contenido de un directorio

Uno de los primeros indicadores que nos pueden alertar de una configuración insegura de un servidor web es poner en la barra de direcciones del navegador una url que apunte a un directorio del servidor (http://www.dominio.es/images) y que el navegador nos muestre un listado de las carpetas y archivos que ahí se alojan. Salvo que lo tengamos pensado así de manera expresa, deberíamos evitar que este tipo de cosas sucedan puesto que estamos abriendo el contenido completo de nuestra web a terceros y, precisamente, para controlar este tipo de situaciones podemos usar las directivas DirectoryIndex u -Indexes para definir índices que eviten listar el contenido de una carpeta.

Proteger archivos y carpetas importantes

Si bien es importante evitar el acceso a los directorios, también lo es proteger archivos considerados críticos, como por ejemplo los archivos de configuración. Si bien usar un gestor de contenidos web nos facilita mucho las cosas, éstos responden a esquemas fijos que se repiten en cada instalación y, por tanto, los archivos de configuración se encuentran en ubicaciones muy concretas y conocidas.
Si pensamos un momento en WordPress, el archivo wp-config.php (que se encuentra en el raíz) almacena la dirección de nuestra base de datos, la base de datos que usamos así como el usuario y la contraseña, una información de gran valor para un atacante externo. Para evitar el acceso a este tipo de archivos “singulares” podremos valernos de reglas como la siguiente para evitar que alguien acceda pueda acceder a nuestro archivo:
<files wp-config.php> order allow,deny deny from all </files> 
Otro detalle a tener en cuenta es la protección de carpetas críticas a las que nadie, salvo un administrador, debería poder entrar. ¿Y de qué tipo de carpetas estamos hablando? Si retomamos el ejemplo de WordPress, nadie debería poder entrar en la carpeta de los plugins o en la carpeta uploads y así evitar que alguien recopile más información de la cuenta. ¿Y qué podemos hacer en estos casos? Una buena forma, y elegante, de evitar el acceso es forzar una redirección hacia nuestra página principal siguiendo esquemas como:
Redirect 301 /wp-content/index.php http://www.tudominio.com/ Redirect 301 /wp-content/themes/index.html http://www.tudominio.com/ 

Evitar el hotlink

Dependiendo del tipo de licencia que utilicemos a la hora de publicar nuestros contenidos o si, por ejemplo, queremos evitar que las fotos que colgamos acaben siendo utilizadas en otras páginas, quizás nos interese aplicar algún tipo de regla que evite que alguien pueda insertar una imagen que nosotros estamos hospedando (forzando así a que, al menos, se la tengan que descargar y subir a su servidor).

Restringir el acceso por IP y luchar contra el spam

Si nuestro blog es víctima de algún tipo de ataque y tenemos localizado el origen (una dirección IP o un rango de direcciones), podemos aplicar medidas estrictas de seguridad en el archivo .htaccess para restringir el acceso y bloquear cualquier tipo de petición que provenga de las direcciones IP que agreguemos a esta lista negra.
Además, si somos algo habilidosos y no tenemos ninguna protección contra el spam (Askimet es una buena opción en WordPress), también podríamos definir reglas que eviten a ciertos usuarios (identificados por su dirección IP o por un rango de éstas) a comentar en nuestro blog (bloqueándoles el acceso a la opción de publicar comentarios).

¿Cómo pasamos de la teoría a la práctica?

Ahora que hemos entrado en materia y somos conscientes de la importancia de este archivo, le pasamos el testigo a nuestro compañero Eduardo que nos ayudará, de una manera práctica, a trabajar con este archivo y nos introducirá en la sintaxis a utilizar (el formato es igual que el fichero de configuración global de Apache) además de mostrarnos algunos ejemplos prácticos de configuraciones seguras.
Un buen archivo .htaccess combinado con unos permisos adecuados en nuestros archivos son una buena barrera de defensa contra ataques y accesos no autorizados, si bien la seguridad total no se puede garantizar, al menos se lo pondremos algo más difícil a aquéllos que no tienen muy buenas intenciones.



Comentaris

Entrades populars d'aquest blog

Learn Composition from the Photography of Henri Cartier-Bresson

“Do you see it?” This question is a photographic mantra. Myron Barnstone , my mentor, repeats this question every day with the hopes that we do “see it.” This obvious question reminds me that even though I have seen Cartier-Bresson’s prints and read his books, there are major parts of his work which remain hidden from public view. Beneath the surface of perfectly timed snap shots is a design sensibility that is rarely challenged by contemporary photographers. Henri Cartier-Bresson. © Martine Franck Words To Know 1:1.5 Ratio: The 35mm negative measures 36mm x 24mm. Mathematically it can be reduced to a 3:2 ratio. Reduced even further it will be referred to as the 1:1.5 Ratio or the 1.5 Rectangle. Eyes: The frame of an image is created by two vertical lines and two horizontal lines. The intersection of these lines is called an eye. The four corners of a negative can be called the “eyes.” This is extremely important because the diagonals connecting these lines will form the breakdown ...

El meu editor de codi preferit el 2024, que això ja se sap que va canviant 😄

Visual Code Visual Code és un editor de codi font lleuger, però potent que s’executa al teu escriptori i està disponible per a Windows, macOS i Linux. Compta amb suport integrat per a JavaScript, TypeScript i Node.js i té un ric ecosistema d’extensions per a altres llenguatges i entorns d’execució (com C++, C#, Java, Python, PHP, Go, .NET).  És una eina ideal per a desenvolupar i depurar aplicacions web i en el núvol. Per què Visual Code? Visual Code té molts avantatges com a editor de codi font, com per exemple: És gratuït, ràpid i fàcil d’instal·lar i actualitzar. Té un ampli ecosistema d’extensions que et permeten afegir funcionalitats i personalitzar la teva experiència de desenvolupament. Té un suport integrat per a molts llenguatges i entorns d’execució, i et permet depurar i executar el teu codi des del mateix editor. Té una interfície senzilla i elegant, amb diferents temes i modes de visualització. Té un sistema de sincronització de configuracions que et permet guardar les...

Las Mejores Aplicaciones Gratis para iPad de 2012

Las Mejores Aplicaciones Gratis para iPad de 2012 : ¿No tienes ni un duro? No te preocupes, pues hoy os traemos una extensa selección de las mejores apps gratuitas que puedes conseguir en la App Store para que llenes tu iPad de calidad, sin gastar nada de nada.   ¿Estás buscando juegos o apps gratis para tu iPad? En la App Store hay más de 500,000 apps y juegos, y una gran cantidad de ellos está disponible de forma totalmente gratuita. Aquí vamos con la selección de las mejores Apps gratis para iPad (todos los modelos), organizada por categoría. ¿Estás preparado? Las Mejores Apps Gratis de Redes Sociales para iPad Nombre Facebook Gratis Categoría Redes sociales Facebook es la red social más famosa del mundo , con casi mil millones de usuarios. Su app para iPad ha tardado, pero aquí está. Nombre Twitter Gratis Categoría Redes sociales Twitter es la red de microblogging por excelencia. La forma más rápida y directa de informar y mantenerse informado de las cosa...