Professional Documents
Culture Documents
MOD_ACCESS
El mdulo de control de acceso de apache permite controlar el acceso a los diferentes directorios y ficheros del servidor dependiendo del nombre de la mquina o direccin IP del cliente. Las directivas que proporciona este mdulo se pueden utilizar dentro de los elementos y del fichero de configuracin httpd.conf, o bien dentro de ficheros .htaccess ubicados dentro de las carpetas.
DIRECTIVAS
Allow: controla los servidores que tendrn acceso al contenido, por ejemplo: Allow from desarrolloweb.com Permite el acceso desde desarrolloweb.com
ALLOW
Allow from 192.168.0.1 Allow from 192.168 Permite el acceso desde 192.168.0.1 Permite el acceso desde todas las direcciones Ip que comienzan por 192.168 Permitir todas
DIRECTIVAS
Deny: controla los servidores a los que se denegar el acceso, por ejemplo:
DENY
Deny from 192.168.0.1 Deny from 192.168 Deniega el acceso desde 192.168.0.1 Deniega el acceso desde todas las direcciones Ip que comienzan por 192.168 Denegar todas
ORDER
Order: determina el orden en el que se leern los permisos, por ejemplo para leer primero los permitidos y luego los no permitidos se pondr "Allow,Deny" en este caso si un servidor est en la lista de permitidos y en la de denegados, el acceso al mismo ser denegado, ya que la entrada dentro de la opcin Deny sobrescribir la de la entrada Allow.
Hay que tener en cuenta que el uso de order junto con Allow from all Deny from all, permite especificar configuraciones como permitir desde una mquina x y denegar del resto de una forma muy sencilla.
SETENVIF
Adicionalmente, mediante la directiva SetEnvIf del mdulo mod_setenvif, se pueden establecer variables de entorno que determinen el funcionamiento de Allow o Deny de la misma forma que se utilizan nmeros IP o nombres de mquinas. Por ejemplo, utilizando Allow from env=entrada permitir el acceso a todas las peticiones que tengan definida la variable de entorno "entrada".
CONTROLAR ACCESO
Mediante el uso conjunto de las directivas Allow, Deny, Order y SetEnvIf se puede restringir el acceso a un sitio dependiendo del tipo de navegador. Para realizarlo simplemente basta con crear una variable de entorno dependiendo del tipo del navegador, y permitir el acceso a las peticiones que cuenten con esta variable de entorno denegndoselo al resto. Para ello la configuracin necesaria es la siguiente: SetEnvId User-Agent googlebot entrar Order Deny, Allow Deny from all Allow from env=entrar
PRIMERA LNEA
SetEnvId User-Agent googlebot entrar En la primera lnea se especifica que se crear una variable de entorno llamada entrar cuando el navegador sea el motor de indexacin de google.
SEGUNDA LNEA
Order Deny, Allow En la segunda lnea se especifica el orden en el que se utilizar la lista de servidores, primero los denegados y luego los permitidos.
TERCERA LNEA
Deny from all En la tercera lnea se especifica que se deniega el acceso a cualquier peticin.
CUARTA LNEA
Allow from env=entrar En la cuarta lnea se especifica que se permite el acceso a las peticiones que tienen definida la variable de entorno entrar.
COMPROBACIN
/ETC/APACHE2/HTTPD.CONF
Ahora comprobamos que la configuracin anterior funciona desde el ordenador con ip 192.168.112.26. Entramos a la carpeta drupal del servidor 192.168.112.28 y vemos como no tenemos permiso para entrar.
Ninguna IP puede entrar a la carpeta /var/www/drupal Ni desde el equipo en el que se encuentra alojado el sitio:
Vamos a probar si permitiendo el acceso a un subdirectorio como lo es wordpress de /var/www y negndolo a /var/www podemos acceder a var/www/wordpress a pesar de no tener permisos para acceder a /var/www
Comprobamos que apache da preferencia a los permisos del directorio padre, por lo que no podemos acceder al subdirectorio wordpress