Tutoriales

Cómo proteger con contraseña el directorio en el servidor web Nginx

Además de ser ligero, rápido, liviano y simple (en términos de instalación y configuración), Nginx El servidor web mejor clasificado clasificado como un sitio web de alto tráfico debido a las siguientes ventajas:

  • Dado que utiliza menos CPU y memoria principal (RAM) para lograr sus objetivos funcionales, su arquitectura sin bloqueo y basada en eventos puede adaptarse a los requisitos mínimos de hardware.
  • Instalar y configurar Nginx en un entorno multiprocesador mejorará significativamente su rendimiento.
  • Para los usuarios que desean servir contenido estático (para un entorno de desarrollo) o implementar algunas optimizaciones, Nginx viene preinstalado con muchas opciones para este tipo de trabajo.
  • No tiene que preocuparse por proteger sus aplicaciones web de Denegación de servicio distribuida Las opciones de configuración integradas de Nginx evitan este ataque.

a pesar de que Nginx Preconfigurado para satisfacer las necesidades básicas de seguridad de nuestra aplicación web, algunas precauciones de seguridad deben ser definidas por el usuario.

Por ejemplo, el directorio web de un sitio web puede contener archivos y otros subdirectorios a los que queremos evitar que accedan usuarios no autorizados. La solución a este problema es implementar la autenticación básica en el archivo de configuración de la aplicación web Nginx.

Este artículo nos guiará a través de los pasos factibles para proteger con contraseña el directorio de la aplicación web alojado por el servidor web Nginx.

LEER  Aumentar el tamaño de fuente en Emacs en Linux

planteamiento del problema

Para que este artículo sea más relevante y útil, también debemos lograr los siguientes objetivos:

  • Acceda a una computadora remota con una dirección IP conocida (192.168.100.29).
  • Esta máquina remota debe tener Nginx instalado y en funcionamiento.
  • Debe haber un directorio definido por el usuario en la ruta de la máquina remota /var/www/html/ (Nginx sirve archivos estáticos desde este directorio).
$ ls -l /var/www/html/secrets
$ cat /var/www/html/secrets/secret.txt
Directorio protegido por contraseña de Nginx

Tenemos la intención de proteger con contraseña el directorio nginx anterior.

Instalar el servidor web Nginx en Linux

Si tu no tienes Nginx Para instalar en su distribución de Linux, consulte las siguientes guías de instalación para los diferentes administradores de paquetes.Además, para proteger con contraseña el directorio, los subdirectorios y los archivos de nuestra aplicación web, necesitamos tomar prestado clave La función de la utilidad está determinada por apache2-utils o httpdherramientas También tenemos que instalarlo.

$ sudo apt install nginx apache2-utils      [On Debian, Ubuntu and Mint]
$ sudo yum install nginx httpd-tools        [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo apk add nginx apache2-utils          [On Alpine Linux]
$ sudo emerge -a nginx apache-tools         [On Gentoo Linux]
$ sudo pacman -S nginx apache2-utils        [On Arch Linux]
$ sudo zypper install nginx apache2-utils   [On OpenSUSE]    

Una vez que se instala nginx, se pueden usar los siguientes comandos para habilitar, iniciar y verificar el estado.

$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl nginx status
Comprobar el estado de Nginx
Comprobar el estado de Nginx

Crear usuario y contraseña con htpasswd

ahora usaremos clave Comando para crear credenciales de usuario y contraseña para acceder a nuestro directorio de aplicaciones web.

$ sudo htpasswd -c /etc/nginx/conf.d/.htpasswd linuxsheltips

Este -c la bandera apunta al archivo de contraseñas (.htcontraseña) ubicación de almacenamiento.reemplazar linuxshelltips Utilice el nombre de usuario de su elección. Se le pedirá que cree una contraseña de usuario.

Crear un usuario con htpasswd
Crear un usuario con htpasswd

Configurar el directorio protegido con contraseña de Nginx

Primero, abra el archivo de configuración de Nginx para su sitio:

$ sudo nano /etc/nginx/sites-available/default 

Para la configuración del host virtual, el archivo de configuración para la aplicación web es como tu_sitio.com Será a las:

$ sudo nano /etc/nginx/sites-enabled/your_site.conf  
Archivo de configuración de Nginx
Archivo de configuración de Nginx

Modificar ubicación {} Bloquear apuntando al directorio que queremos proteger con contraseña, es decir /var/www/html/secretos y línea de verificación de contraseña como se muestra.

location /secrets/ {
auth_basic "LinuxShellTips Special Access!";
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
autoindex on;
}
Configurar el directorio protegido con contraseña de Nginx
Configurar el directorio protegido con contraseña de Nginx

Este auth_basic para visualización de mensajes y auth_basic_user_file Apunta a la ubicación del archivo de contraseña creado.

Finalmente, reinicie el servidor web Nginx para que los nuevos cambios de configuración surtan efecto.

$ sudo systemctl restart nginx

Acceso al directorio protegido por contraseña de Nginx

Ahora podemos intentar acceder al directorio protegido con contraseña de nginx desde el host.

 

Nos pedirá un nombre de usuario y una contraseña.

Autenticación de usuario Nginx
Autenticación de usuario Nginx

Con las credenciales de usuario correctas, podremos acceder al directorio protegido por contraseña de nginx:

Directorio protegido por contraseña de Nginx
Directorio protegido por contraseña de Nginx

Ahora podemos proteger cualquier directorio bajo Nginx Servidor de red. Espero que esta guía de artículos te sea útil. Siéntase libre de dejar un comentario o retroalimentación.

LEER  Cómo instalar Perl en Fedora Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba