Cómo configurar la autenticación htpasswd de Apache en Ubuntu
Bloquee su sitio con Apache htpasswd en AlexHost Ubuntu VPS
¿Por qué usar htpasswd? Htpasswd de Apache es su boleto rápido para asegurar directorios web-pensar paneles de administración o sitios dev-con una puerta simple nombre de usuario / contraseña. Es ligero, perfecto para el control de acceso básico, y una brisa para configurar en un AlexHost Ubuntu VPS corriendo Apache. Esta guía le guía a través de la adición de que el bloqueo y la clave vibra a su sitio, mantener las áreas sensibles de seguridad sin romper a sudar.
Requisitos previos
- Un servidor con Ubuntu y Apache2 instalado.
- Acceso rut o sudo al servidor.
- Conocimientos básicos de uso de la línea de comandos.
Paso 1: Instalar Apache (si no está ya instalado)
Si Apache no está instalado en su servidor Ubuntu, puede instalarlo con el siguiente comando:
sudo apt update
sudo apt install apache2
Paso 2: Activar la utilidad htpasswd
La utilidad htpasswd la proporciona el paquete apache2-utils, que normalmente se instala con Apache. Si no está instalada, puede instalarla ejecutando:
sudo apt install apache2-utils
Este comando instala las herramientas de gestión de contraseñas necesarias para los archivos de autenticación htpasswd.
Paso 3: Crear el archivo .htpasswd
El archivo .htpasswd se utiliza para almacenar nombres de usuario y contraseñas de autenticación cifradas.
- Para crear un nuevo archivo .htpasswd y añadir un usuario, ejecute el siguiente comando:
sudo htpasswd -c /etc/apache2/.htpasswd your_username
Sustituye tu_nombre_de_usuario por el nombre de usuario que quieras crear.
- La opción -c crea un nuevo archivo .htpasswd . Si el archivo ya existe y utiliza -c, se sobrescribirá, por lo que sólo debe utilizarla cuando cree el archivo por primera vez.
- Introduzca y confirme la contraseña: Después de ejecutar el comando, se le pedirá que introduzca y confirme una contraseña para el usuario. se creará un archivo /etc/apache2/.ht passwd con la contraseña cifrada para su_nombre.
- Añadir usuarios adicionales (opcional): Para añadir más usuarios sin sobrescribir el archivo .htpasswd existente, ejecute:
sudo htpasswd /etc/apache2/.htpasswd another_username
Sustituya otro_nombre_usuario por el nuevo nombre de usuario. Este comando añade el nuevo usuario al archivo .htpasswd existente.
Paso 4: Configurar Apache para la protección por contraseña
Debe especificar qué directorio o ubicación desea proteger con contraseña. Esto se hace utilizando un archivo .htaccess o editando directamente el archivo de configuración de Apache.
Opción 1: Usando el archivo .htaccess
- Activando los archivos .htaccess: Si desea utilizar archivos .htaccess para configurar la protección por contraseña, asegúrese de que la directiva AllowOverride está establecida en All para el directorio que desea proteger. Edite el archivo de configuración de Apache apropiado (por ejemplo, /etc/apache2/sites-available/000-default.conf):
sudo nano /etc/apache2/sites-available/000-default.conf
Busque la sección correspondiente a su raíz web (por ejemplo, /var/www/html) y establezca AllowOverride en All:
AllowOverride All - Reinicie Apache: Después de editar la configuración, reinicie Apache para aplicar los cambios:
sudo systemctl restart apache2
- Cree un archivo .htaccess:Dentro del directorio que desea proteger (por ejemplo, /var/www/html), cree o edite un archivo .htaccess:
sudo nano /var/www/html/.htaccess
- Añada las siguientes directivas: Añada las siguientes líneas al archivo . htaccess:AuthType Básico
AuthName “Contenido restringido
AuthUserFile /etc/apache2/.htpasswd
Requiere valid-user- AuthType Basic: Especifica la autenticación básica.
- AuthName: Mensaje que se mostrará en el mensaje de autenticación.
- AuthUserFile: La ruta al archivo .htpasswd.
- Require Valid User: Restringe el acceso a los usuarios listados en el archivo .htpasswd.
- Guarde y cierre el archivo.
Opción 2: Uso directo del archivo de configuración de Apache
Si prefiere gestionar la autenticación directamente en los archivos de configuración de Apache en lugar de utilizar .htaccess, siga estos pasos:
- Edite la configuración del host virtual: Abra el archivo de configuración de Apache para el sitio que desea proteger (por ejemplo, /etc/apache2/sites-available/000-default.conf):
sudo nano /etc/apache2/sites-available/000-default.conf
- Añade las directivas de autenticación: Dentro del bloque o el bloque que corresponde al directorio que quieres proteger, añade lo siguiente:
<Directory "/var/www/html">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user - Guarde y cierre el archivo de configuración.
- Reinicie Apache: Después de hacer los cambios, reinicie Apache:
sudo systemctl restart apache2
Paso 5: Pruebe la autenticación
Ahora vaya a la URL del directorio seguro utilizando su navegador web (por ejemplo http://your_server_ip_or_domain). Aparecerá un mensaje solicitándole un nombre de usuario y una contraseña.
- Introduzca el nombre de usuario y la contraseña que creó con el comando htpasswd.
- Si las credenciales son correctas, se te concederá acceso al directorio; de lo contrario, se te denegará el acceso.
Paso 6: Proteger el archivo .htpasswd
Por motivos de seguridad, asegúrese de que el archivo .htpasswd se almacena fuera de la raíz web (por ejemplo, /etc/apache2/.htpasswd) para que no se pueda acceder a él directamente desde un navegador web.
Asegúrese de que el archivo .htpasswd tiene los permisos correctos:
sudo chmod 640 /etc/apache2/.htpasswd
sudo chown www-data:www-data /etc/apache2/.htpasswd
Esto garantiza que sólo el usuario de Apache (www-data) y root tengan acceso de lectura al archivo .htpasswd.
Conclusión: Proteja su sitio con facilidad
Apache htpasswd es su solución rápida para el bloqueo de directorios web en su AlexHost Ubuntu VPS. Instalar herramientas, crear
.htpasswd
.htaccess