FollowSymLinks | Apache options

FollowSymLinks Apache
 
 

En Apache podemos hacer uso de Directivas y Permisos que afecten a los directorios de nuestros sitios.
Entre ellas destacaremos hoy la Directiva FollowSymLinks y la directiva Indexes.

FollowSymLinks es una directiva de los servidores web Apache , que sirve para seguir los enlaces simbólicos de un directorio.

La mayoría de enlaces simbólicos se parecen a los accesos directos de Windows.

Es parte de las opciones de Directorios y Permisos de Apache.

FollowSymLinks juega un importante papel en la seguridad de nuestro servidor web http. Se puede afirmar o negar.
 

 

–> Si ponemos

FollowSymLinks

, lo afirmamos y permitimos que se sigan los enlaces simbólicos. 

–> Si ponemos

-FollowSymLinks

, lo denegamos explícitamente. 

–> Si no colocamos la opción, no se seguirá.
 

–> FollowSymLinks dependerá en gran parte de la directiva Indexes.
 

–> Si utilizamos , por ejemplo, Options -FollowSymLinks y no utilizamos la directiva Indexes, no veremos nada,y nos mostrará acceso prohibido “Forbidden“.

 

A continuación más detalles de por qué esto es así.
 

 

La Directiva Indexes

 

Si el cliente solicita un directorio en el que no exista ninguno de los ficheros especificados en DirectoryIndex, el servidor ofrecerá un listado de los archivos del directorio.

 

Probaremos en Ubuntu Server, así que lo primero vamos a crear nuestro sitio web http de esta forma:

iremos a nuestro archivo de sitios http habilitados , en  /etc/apache2/sites-enabled
 
Allí, deshabilitaremos el sitio por defecto con :

1
a2dissite default-001

 

Posteriormente podemos copiar el archivo default con otro nombre en  /etc/apache2/sites-available/ 

de esta forma:

1
cp default-001 www1.midominio.com

 

Así, nuestro nuevo archivo para sitios http será el www1.midominio.com
 
A continuación habilitamos el sitio con:

1
a2ensite www1.midominio.com

 

Y ya solo tenemos que editarlo como deseemos (ahora estará en /sites-enabled), mientras que a cada cambio que hagamos, para poder comprobarlo , nos iremos a un cliente (puede ser otra máquina virtual de la red interna u otro equipo de la lan, dependiendo de si estamos montando el servidor sobre una interfaz interna o sobre una Bridged o puente)
 
En este caso hemos configurado como directorio raiz del sitio, el directorio /var/www/sitio1
 
A continuación se muestra el contenido del archivo /etc/apache2/sites-enabled/www1.midominio.com

1
2
3
4
5
6
7
ServerAdmin webmaster@localhost
ServerName www1.midominio.com
DocumentRoot /var/www/sitio1/
 
 
Options FollowSymLinks Indexes
AllowOverride None

 

 

Además vamos a crear un enlace simbólico para comprobar el funcionamiento de la directiva FolloSymLinks

 

Hemos creado un enlace simbolico en el directorio /var/www/sitio1/prueba1/ , que apuntará al directorio home/pruebas/ , de esta forma:

1
 ln -s /home/pruebas/ /var/www/sitio1/prueba1/

 

Si queremos comprobar dónde apunta un enlace simbólico, teclearemos:

1
ls -l

 
Podemos ver que nuestro enlace simbólico apunta al directorio /home/pruebas/
 

Comprobamos enlaces simbolicos

 

El directorio /sitio1 lo dejaremos como está, sin editar permisos del directorio, así que el servidor buscará el archivo index.html y lo mostrará.
 

sitio1 http

 

El directorio sitio1 tiene estos archivos:

 

directorio del sitio1

 

El siguiente directorio que hemos configurado, el directorio /var/www/sitio1/prueba1/  nos mostrará el contenido del directorio y mostrará los enlaces simbólicos.
 
Como el directorio está vacío, mostrará simplemente el enlace simbólico creado previamente (si además hubiera archivos , los listaría también.) Recordemos que hemos aplicado las directivas Indexes y FollowSymLinks
 

prueba1 Directorio apache

 

Podemos eliminar el enlace simbólico con unlink nombre_del_enlace
 

Otro ejemplo:

Si por ejemplo pusiéramos simplemente Options FollowSymLinks, y no permitiéramos la directiva Indexes, el resultado sería “Forbidden” (Acceso prohibido).
 

forbidden apache

 

Bueno , y con esto hemos demostrado el funcionamiento de las Directivas FollowSymLinks e Indexes en un servidor Web Apache.