Gestión básica de acceso en Apache (Parte 1: Acceso mediante IP y nombre de dominio)

  En versiones del servidor web Apache anteriores a la 2.4 se podían definir las direcciones IP y los nombres de dominio que podían acceder a un recurso del servidor mediante las directivas "Order", "Allow" y "Deny", que se encontraban en secciones como "<Directory>" o "<File>", por ejemplo.
  Dichas directivas se pueden seguir empleando en versiones más actuales de Apache habilitando un módulo de compatibilidad llamado "mod_access_compat", pero es mejor emplear las nuevas directivas propias de estas nuevas versiones. Estas directivas son "Require", "RequireAll", "RequireAny" y "RequireNone" (puede verse la documentación oficial sobre estas en el siguiente  enlace).
  Aquí se verá el uso de las directivas mencionadas para gestionar el acceso al servidor desde una IP concreta o un nombre de dominio determinado.

  Desde el Ubuntu Server 16.04 LTS se crea un directorio dentro de la ruta "/var/www/html/" llamado (en este ejemplo) "privado" [se usa el comando mkdir (nombre del directorio); se añade sudo al principio del comando si no se es superusuario], donde se creará un archivo de página web (.html) con el nombre "privado.html" [comando (nombre del editor de texto) (nombre del archivo completo); no olvidar escribir antes sudo si no se es superusuario], y se rellena con el contenido de lenguaje html que se desee (en este ejemplo se ha utilizado el editor Mousepad).




  Luego, se edita, como superusuario o administrador, el archivo "000-default.conf" alojado en la ruta "/etc/apache2/sites-available" (o el archivo de configuración que se tenga habilitado en Apache) y se crea una sección "<Directory>" (ver el siguiente enlace para consultar cómo crear una sección de directiva si no se sabe ya) para el directorio antes creado, donde se añadirán las directivas "Require" necesarias para que se pueda acceder al servidor tanto desde el equipo local, como desde un navegador de un equipo externo con una dirección IP determinada (en este ejemplo será un Windows Server 2012 R2 con la dirección IP 192.168.1.17) dentro de la subsección de la directiva "RequireAny". Al terminar, se guardan los cambios y se cierra el archivo.
  A continuación se reinicia el servidor Apache con uno de los comandos que hay para la gestión de demonios en Linux (sudo /etc/init.d/apache2 restart, por ejemplo), y se comprueba, con un navegador de red, que, efectivamente, se puede acceder al directorio y a la página antes creados desde el equipo local y desde el otro equipo con la dirección IP indicada en el archivo; para ello hay que escribir "http://localhost (puesto que estos equipos no están integrados en un dominio) o (IP del servidor)/privado" en la barra de navegación del navegador de red. El servidor, tras comprobar que el acceso de la conexión desde el cliente está autorizado, le permitirá acceder a sus recursos.



  Sin embargo, si se accede desde cualquier otro lugar, o si se cambia nuevamente alguna de las directivas "Require", podrá verse como, por ejemplo, el servidor devuelve un código de error (403, Forbidden) al cliente con la dirección IP que antes tenía el acceso permitido, impidiéndole acceder a sus recursos.
 

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.