Control de acceso

Dirección IP, host o dominio

Nombre y contraseña

Certificados

Autenticación y autorización de usuarios en Internet

Estás en Criptonomicón > Autenticación > Dirección IP, host o dominio > Linux

Control de acceso por dirección IP, nombre de host o dominio en Linux

Supóngase que se desea proteger el directorio confidencial, que cuelga directamente de la raíz del servidor web, cuyo camino físico se denotará genéricamente por RaizDocumentos. Se edita el fichero de configuración del servidor, RaizServidor/conf/httpd.conf, y se añade al final del mismo una directiva <Directory>, en la que se especifica el camino completo del directorio cuyo acceso se desea restringir.

Esta directiva afecta a todos los ficheros y subdirectorios que cuelguen del directorio especificado en ella. Si se desea restringir el acceso a ficheros individuales, puede utilizarse en cambio la directiva <Files>. A continuación, en ambos casos, se indica a qué máquinas se permite o deniega el acceso. Para ello, primero se utilizan tres directivas: order, deny from y allow from. La directiva order va en primer lugar, para establecer el orden en que se evalúan las otras dos directivas, deny from y allow from, para denegar o permitir el acceso, respectivamente.

<Directory RaizDocumentos/confidencial>
order deny,allow deny from all
allow from 161.111.31 132.184.65
allow from frodo.mordor.es
allow from .csic.es
</Directory>

De esta forma, se indica que en primer lugar se debe denegar el acceso a todas las máquinas, excepto a aquellas que pertenezcan a las subredes 161.111.31 y 132.184.65, al dominio .csic.es y excepto a la máquina individual frodo.mordor.es. Como se ve, no es necesario especificar las máquinas una a una, ya que se pueden utilizar direcciones IP o dominios, dados de forma completa o parcial.

Para el caso de ficheros individuales, se utilizan las mismas directivas entre <Files> y </Files>. Por ejemplo, para restringir el acceso a todos los ficheros del servidor con el nombre secreto.html, se puede utilizar el siguiente bloque de directivas:

<Files */secreto.html>
order deny,allow
deny from all
allow from 161.111.31 132.184.65
allow from frodo.mordor.es
allow from .csic.es
</Files>

La directiva order puede tomar tres posibles valores:

  • deny,allow: se utiliza cuando se desea denegar el acceso a todos o algunos los ordenadores mediante la directiva deny from excepto a los que tengan una dirección IP o nombre de host determinados, que se especifican luego selectivamente mediante la directiva allow from. A todas las máquinas que no se nombre específicamente en la directiva deny from, se les concede por defecto el acceso.
  • allow,deny: realiza la acción opuesta, es decir, concede acceso a la mayoría de los ordenadores excepto a algunos pocos a los que se les niega el acceso en la directiva deny from.
  • mutual-failure: en este caso, cualquier máquina que no aparezca nombrada en una u otra directiva es rechazada por defecto. Es la forma más segura de utilizar el control por restricción de IP, ya que así es más difícil que se olvide una máquina.

Información adicional

 

Copyright © 1997-2001 Gonzalo Álvarez Marañón, CSIC. Todos los derechos reservados.

Criptonomicón es un servicio ofrecido libremente desde el Instituto de Física Aplicada del CSIC. Para información sobre privacidad, por favor consulte la declaración de política sobre privacidad. Para sugerencias, comentarios o quejas, acuda al libro de visitas. Para contribuir al Criptonomicón, lea la página de contribuciones.