Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

¿Cómo proteger una página con contraseña en Apache, Nginx, WordPress, Hosting?

Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Es posible que tenga alguna página confidencial que desee proteger con la contraseña. Esto también se conoce como autenticación básica.

La buena noticia es que es posible y muy fácil.

¿Por qué proteger la página web con contraseña?

Bueno, podría haber muchas razones, entre ellas.

  • Contener datos sensibles en la página
  • La página no está lista y no desea que sea visible públicamente, sino compartirla con alguien.

Sea lo que sea, exploremos cómo puede protegerse.

Requisito

Tomemos un ejemplo; Quiero proteger /client en lab.geekflare.com, lo que significa que si alguien accede https://lab.geekflare.com/client debe solicitar una contraseña.

Apache

Comencemos con Apache primero.

Lo primero que debemos crear es un archivo de contraseña donde se almacenarán todas las credenciales. El nombre del archivo sería .htpasswd y puede colocarlo en cualquier lugar del servidor. Lo crearé debajo /etc/httpd/conf carpeta

  • Puede crear el archivo con el touch comando
touch /etc/httpd/conf/.htpasswd
  • Agreguemos el usuario al que se le permitiría acceder a / client. Necesitamos usar htpasswd comando para esto.
htpasswd /etc/httpd/conf/.htpasswd geekflare
  • La última sección geekflare, es el nombre de usuario. Cambia eso con lo que quieras y presiona Enter.
  • Ingrese la contraseña y verá una confirmación de que se agregó el usuario.
[root@lab html]# htpasswd /etc/httpd/conf/.htpasswd geekflare
New password: 
Re-type new password: 
Adding password for user geekflare
[root@lab html]#

Si captura el archivo, notará que la contraseña se almacena en un formato cifrado. ¡Es bueno!

[root@lab html]# cat /etc/httpd/conf/.htpasswd 
geekflare:$apr1$EHvl0Bc5$nh4u0w3.Cj3wzPT7XUXqW1
[root@lab html]#

A continuación, debemos indicarle a Apache que proteja el URI que queremos.

  • Modifique el archivo httpd.conf o el archivo de configuración que está utilizando para la instancia de Apache. Estoy usando la instalación predeterminada, así que estoy usando /etc/httpd/conf/httpd.conf
  • Agregue lo siguiente en cualquier lugar del archivo
<Directory "/var/www/html/client">
Options Indexes FollowSymLinks
AuthType Basic
AuthName "Protected Content for Client"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Directory>

Si ya tienes un /var/www/html/client Directiva de directorio, luego, en lugar de agregar una nueva sección, debe agregar lo siguiente en la directiva existente.

AuthType Basic
AuthName "Protected Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
  • Reiniciar Apache
service httpd restart
  • Intente acceder a la página / client, y debería pedirle una contraseña.

  • Ingrese la credencial que estableció anteriormente para ver el contenido.

Lujoso .htaccess ¿método?

Claro, puede implementar la autenticación básica a través de .htaccess archivo también. Aún necesita generar credenciales usando htpasswd como se explicó anteriormente. Una vez hecho esto, puede agregar lo siguiente en la carpeta respectiva .htaccess archivo.

AuthType Basic
AuthName "Protected Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user

Lo bueno es que no es necesario reiniciar Apache.

Nginx

Implementemos la autenticación básica en Nginx siguiendo.

Tomaremos la ayuda de Apache Utils para generar las credenciales. Si el servidor no tiene Apache HTTP instalado, debe instalar las utilidades por separado como se muestra a continuación. Si no está seguro, puede ejecutar htpasswd para ver si funciona. Si no es así, entonces sabrá que necesita instalarlo.

CentOS / RHEL 8

dnf install httpd-tools

CentOS / RHEL 7

yum install httpd-tools

Ubuntu

apt-get install apache2-utils
  • Creemos las credenciales de forma similar a como lo hicimos en Apache.
htpasswd -c /etc/nginx/.htpasswd chandan
  • No te olvides de reemplazar chandan con el nombre de usuario real que desee

A continuación, necesitamos configurar Nginx, por lo que restringe el URI particular con la contraseña.

  • Asumamos que necesitamos proteger /admin URI
  • Agregue lo siguiente en nginx.conf u otro archivo de configuración activo de Nginx
location /admin {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}
  • Reiniciar Nginx

¿Qué sucede si tiene que restringir el servicio de todo el sitio web a través de Nginx?

¡Fácil!

Agregue lo siguiente en nginx.conf o el archivo de configuración activo en location / { Directivas

auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;

SiteGround

La plataforma de alojamiento ha evolucionado. Hay muchas plataformas que ofrecen herramientas útiles y Iart es uno de ellos.

Si está utilizando SiteGround para alojar su sitio web, puede proteger fácilmente la URL desde su consola de administración. Supongamos que está usando WordPress y necesito proteger /wp-admin.

  • Inicie sesión en SiteGround y vaya al sitio donde necesita habilitar la autenticación básica.
  • Haga clic en Seguridad >> URL protegidas >> Usuarios
  • Ingrese el nombre y la contraseña para crear la credencial

A continuación, protegeremos wp-admin con la credencial que acabamos de crear.

  • Ir a la pestaña URL
  • Ingrese wp-admin en la ruta y haga clic en proteger
  • Haga clic en Administrar acceso y asigne el usuario que acaba de crear

Intente acceder a la página y SiteGround le pedirá que ingrese las credenciales.

Fácil, ¿no?

WordPress

¿Utiliza WordPress y le gustaría proteger con contraseña una publicación, página, categoría, por función o todo el sitio en particular?

¡Por supuesto!

Conoce a PPWP (Complemento de WordPress protegido con contraseña)

Instale el complemento y configure la forma en que desea proteger los recursos de WordPress. Esto funciona con constructores de páginas como Elementor, divi, Castor.

Alternativamente, si necesita una publicación o página simple protegida con contraseña, puede aprovechar la función WP incorporada. No necesitas ningún complemento para esto.

  • Vaya a la publicación o página en la que desea habilitar una contraseña.
  • En la sección de publicación, haga clic en Editar junto a la visibilidad: Público
  • Seleccione Protegido con contraseña e ingrese la contraseña.

  • Haga clic en Aceptar, ¡y listo!

¿Necesita más formas de proteger WordPress? Mira esto guía.

cPanel

Si estás en alojamiento compartido, lo más probable es que tenga cPanel. La buena noticia es que cPanel ofrece una utilidad llamada Directory Privacy; desde allí, puede establecer una contraseña para el directorio.

  • Inicie sesión en cPanel
  • Buscar privacidad en el directorio

  • Seleccione la carpeta que desea proteger. Como a continuación, he seleccionado una carpeta llamada chandan, que está bajo public_html
  • Crea el usuario que se debe permitir y guarda

  • Una vez hecho esto, notará que la carpeta tiene un candado

Y eso es. El directorio está protegido con contraseña ahora. Como puede ver arriba, he probado en Alojamiento A2y funciona muy bien

Conclusión

Espero que lo anterior le ayude a proteger cierta carpeta URI con la contraseña mediante autenticación básica. Si está buscando una seguridad completa para su sitio web, debería considerar implementar WAF.

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre Nginx
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder