Cómo proteger con contraseña un sitio web de Apache usando .htaccess
Paso 1: Configure su archivo .htaccess
Todo el trabajo se hará utilizando su archivo .htaccess. Puede encontrar este archivo en la raíz de la mayoría de los sitios web de Apache.
La captura de pantalla se tomó de una instalación original de WordPress que se ejecuta en Windows 2003 Server:
Apache verifica el archivo .htaccess antes de mostrar páginas web. Normalmente se usa para ReWrites o ReDirects, sin embargo, también puede usarlo para aprovechar las características de seguridad integradas de Apache.
Entonces, el primer paso es agregar algunos parámetros al archivo. A continuación se muestra un archivo .htaccess de ejemplo. (CONSEJO: uso notepad ++ para editar la mayoría de los archivos PHP y relacionados)
AuthUserFile c: apachesecurity.htpasswd AuthName "Introduzca el usuario y PW" AuthType Basic requiere un usuario válido
Algunas explicaciones:
AuthUserFile: APACHE necesita la ubicación del archivo de Usuario / Contraseña. Simplemente ingrese la ruta completa a su archivo de base de datos de contraseñas como se muestra arriba. El ejemplo anterior está tomado de mi caja de Windows. Si estás ejecutando Linux, sería algo como: AuthUserFile /full/path/to/.htpasswd
Nombre de autor: Este campo define el Título y el Texto para el cuadro emergente que solicitará el Nombre de usuario y el PW. Puedes hacer esto CUALQUIER COSA que quieras. Aquí hay un ejemplo en mi caja de prueba:
Tipo de autenticación: Este campo le dice a Apache qué tipo de autenticación se está utilizando. En casi todos los casos, "Básico" está bien (y el más común).
Requerir usuario valido: Este último comando le permite a Apache saber quién está permitido. Mediante el uso "usuario valido", le está diciendo a Apache que CUALQUIERA tiene autorización para autenticarse si tienen un nombre de usuario y contraseña válidos.
Si prefiere ser más EXACTO, puede especificar un USUARIO o USUARIOS específicos. Este comando se vería así:
Requerir usuario mrgroove groovyguest
En este caso, solo los usuarios mrgroove y groovyguest podrán ingresar a la página / directorio que está protegiendo (después de proporcionar el nombre de usuario y la contraseña correctos, por supuesto). A todos los demás usuarios (incluidos los válidos) se les negará el acceso. Si desea permitir más usuarios, simplemente sepárelos con espacios.
Entonces, ahora que hemos realizado todos los ajustes de configuración, aquí está el aspecto del archivo .htaccess finalizado:
La captura de pantalla se toma de un cuadro de Windows 2003 Server que ejecuta WordPress:
Paso 2: Crea el archivo .htpasswd
Crear el archivo .htpasswd es un proceso simple. El archivo no es más que un archivo de texto que contiene una lista de Usuarios y sus contraseñas encriptadas. Cada cadena de usuario debe estar separada en su línea. Personalmente, solo uso notepad ++ o Windows Notepad para crear el archivo.
La imagen a continuación es un ejemplo de archivo .htpasswd con dos usuarios:
Aunque Apache no le "exige" que cifre las contraseñas, es un proceso simple para los sistemas Windows y Linux.
Windows
Navegue a su carpeta BIN de Apache (que generalmente se encuentra en C: \ Archivos de programa \ Apache Group \ Apache2bin) y ejecute la herramienta htpasswd.exe para generar una cadena de nombre de usuario / contraseña cifrada con MD5. También puede usar la herramienta para crear el archivo .htpasswd por usted (lo que sea que funcione ...). Para todos los detalles, simplemente ejecute el cambio de ayuda desde la línea de comando (htpasswd.exe /?).
En casi todos los casos, sin embargo, simplemente ejecute el siguiente comando:
htpasswd -nb nombre de usuario contraseña
Una vez que se ejecuta el comando, la herramienta htpasswd.exe generará la cadena de usuario con la contraseña cifrada..
La captura de pantalla a continuación es un ejemplo de cómo ejecutar la herramienta htpasswd.exe en Windows 2003 Server
Una vez que tenga la cadena de usuario, cópiela en su archivo .htpasswd.
Linux:
Vaya a: http://railpix.railfan.net/pwdonly.html para crear sus cadenas de usuario con contraseñas encriptadas. Proceso muy simple.
Paso 3: Verifique que Apache esté configurado correctamente * opcional
Por defecto, Apache tiene los módulos correctos habilitados. Dicho esto, nunca está de más ser un poco proactivo y además es un "control" rápido..
Abra su archivo httpd.conf de Apache y verifique que el módulo AUTH esté habilitado:
Si encuentra que el módulo no está habilitado, simplemente corríjalo como se muestra arriba. No te olvides necesita reiniciar Apache para que los cambios en su httpd.conf tengan efecto.
Eso debería cuidar de él. Todo listo.
Etiquetas: Apache, cifrado, htaccess, seguridad, windows