🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Proteger el directorio de administración de Plesk con contraseña

Actualizado el 2 de septiembre de 2025

¿Por Qué Proteger el Directorio de Administración de Plesk?

Plesk es uno de los paneles de control de hosting más potentes y utilizados del mundo. Gestiona desde sitios web y bases de datos hasta cuentas de correo electrónico y certificados SSL. Sin embargo, precisamente por ser el centro de control de tu servidor, se convierte en un objetivo prioritario para los atacantes.

Cuando instalas Plesk, el panel de administración suele estar accesible en una URL como https://tu-dominio.com:8443 o https://tu-ip:8443. Esta interfaz es la puerta de entrada a todo tu sistema. Si un ciberdelincuente consigue acceder, podría robar datos, inyectar malware o incluso secuestrar tu servidor por completo.

Por eso, una de las mejores prácticas de seguridad es añadir una capa extra de protección al directorio donde se aloja la interfaz de administración. Básicamente, se trata de poner un candado adicional en forma de usuario y contraseña a nivel de servidor web (Apache o Nginx). De esta manera, incluso si alguien conoce la URL de acceso, primero tendrá que superar una autenticación básica HTTP antes de llegar siquiera a la pantalla de inicio de sesión de Plesk.

Este proceso se conoce como "Proteger directorio con contraseña" y es una técnica sencilla pero extremadamente eficaz. A continuación, te explico paso a paso cómo hacerlo en tu servidor Plesk, qué debes tener en cuenta y cómo solucionar los problemas más comunes.

Requisitos Previos: Antes de Empezar

Antes de lanzarnos a la acción, necesitas tener a mano los siguientes datos:

  • Acceso SSH (Shell) a tu servidor: Necesitarás conectarte por terminal con un usuario con privilegios de root (o un usuario con permisos sudo).
  • Conocimiento del usuario de sistema de Plesk: Normalmente es root o un usuario creado específicamente para la gestión.
  • Saber qué servidor web utilizas: Plesk puede funcionar con Apache, Nginx o ambos (modo proxy). Esto es crucial porque los archivos de configuración cambian según el servidor.

[INFO] Si no sabes qué servidor web tienes, entra en Plesk > Herramientas y Ajustes > Configuración del Servidor Web. Allí lo verás claramente.

Método 1: Proteger el Directorio de Plesk con Apache (Recomendado)

Si tu servidor usa Apache como servidor principal (o como proxy), este es el método más limpio y fácil de mantener. El proceso consiste en crear un archivo .htpasswd (que guarda las credenciales) y un archivo .htaccess (que le dice a Apache que lo use).

Paso 1: Conectarte por SSH

Abre tu terminal (en Windows puedes usar PowerShell o PuTTY) y conéctate a tu servidor:

ssh root@tu-servidor.com

Te pedirá la contraseña de root. Una vez dentro, estarás en el directorio /root por defecto.

Paso 2: Crear el archivo de contraseñas

El archivo .htpasswd debe estar en un lugar seguro, preferiblemente fuera de la raíz web del servidor. Plesk suele tener un directorio para esto, pero lo más seguro es crearlo en /etc/plesk/. Ejecuta el siguiente comando para crear el archivo y añadir el primer usuario (por ejemplo, adminseguro):

htpasswd -c /etc/plesk/.htpasswd adminseguro

Te pedirá que introduzcas una contraseña dos veces. Elige una contraseña muy fuerte, con mayúsculas, minúsculas, números y símbolos.

[TIP] Si necesitas añadir más usuarios más adelante, usa el mismo comando pero sin el parámetro -c (que significa "crear"). Ejemplo: htpasswd /etc/plesk/.htpasswd otro_usuario

Paso 3: Localizar el directorio de administración de Plesk

El panel de administración de Plesk se sirve desde un directorio virtual específico. En la mayoría de las instalaciones, la URL https://tu-dominio.com:8443 apunta al directorio /usr/local/psa/admin/htdocs/. Sin embargo, para protegerlo con Apache, necesitamos modificar la configuración del Virtual Host que escucha en el puerto 8443.

Paso 4: Editar la configuración del Virtual Host

Plesk guarda la configuración de Apache en archivos separados. Debes editar el archivo de configuración SSL del puerto 8443. Normalmente se encuentra en:

  • /etc/httpd/conf.d/zz010_psa_httpd.conf (CentOS/RHEL)
  • /etc/apache2/conf.d/zz010_psa_httpd.conf (Debian/Ubuntu)

Te recomiendo hacer una copia de seguridad antes de editar:

cp /etc/httpd/conf.d/zz010_psa_httpd.conf /etc/httpd/conf.d/zz010_psa_httpd.conf.bak

Abre el archivo con un editor como nano o vim:

nano /etc/httpd/conf.d/zz010_psa_httpd.conf

Busca la sección que corresponde al puerto 8443. Verás algo similar a:

<VirtualHost *:8443>
    ServerName "tu-servidor.com:8443"
    ...
</VirtualHost>

Dentro de este bloque <VirtualHost>, añade las siguientes líneas antes de la línea que contiene Include o Alias (si las hay). Lo ideal es ponerlo justo al inicio del bloque:

<Directory /usr/local/psa/admin/htdocs/>
    AuthType Basic
    AuthName "Acceso Restringido"
    AuthUserFile /etc/plesk/.htpasswd
    Require valid-user
</Directory>

Explicación de las directivas:

  • AuthType Basic: Indica que usaremos autenticación básica HTTP.
  • AuthName: Es el mensaje que verá el usuario en el cuadro de diálogo del navegador.
  • AuthUserFile: Ruta al archivo de contraseñas que creamos antes.
  • Require valid-user: Fuerza a que cualquier usuario válido (que esté en el archivo) pueda acceder.

Guarda el archivo (en nano: Ctrl+O, luego Ctrl+X).

Paso 5: Reiniciar Apache

Para que los cambios surtan efecto, debes reiniciar el servicio Apache:

systemctl restart apache2   # En Debian/Ubuntu
systemctl restart httpd     # En CentOS/RHEL

[WARNING] Si usas Nginx como proxy frontal, este método puede no funcionar directamente. Asegúrate de que Apache es el que sirve el contenido de Plesk o sigue el Método 2 (Nginx).

Método 2: Proteger el Directorio de Plesk con Nginx

Si tu servidor usa Nginx como servidor web principal (algo muy común en Plesk Obsidian), el proceso es diferente. Nginx no utiliza .htaccess, sino que se configura en bloques server dentro de archivos de configuración.

Paso 1 y 2: Igual que el Método 1

Conéctate por SSH y crea el archivo .htpasswd exactamente igual que en el método anterior. Es un estándar.

Paso 3: Editar la configuración de Nginx para el puerto 8443

Los archivos de configuración de Nginx en Plesk suelen estar en /etc/nginx/conf.d/. El archivo principal es zz010_psa_nginx.conf. Haz una copia de seguridad:

cp /etc/nginx/conf.d/zz010_psa_nginx.conf /etc/nginx/conf.d/zz010_psa_nginx.conf.bak

Ábrelo con nano:

nano /etc/nginx/conf.d/zz010_psa_nginx.conf

Busca el bloque server que escucha en el puerto 8443. Verás algo así:

server {
    listen 8443 ssl;
    server_name tu-servidor.com:8443;
    ...
}

Dentro de este bloque server, añade lo siguiente:

location / {
    auth_basic "Acceso Restringido";
    auth_basic_user_file /etc/plesk/.htpasswd;
    try_files $uri $uri/ /index.php?$args;
}

[INFO] La línea try_files es importante para que la autenticación no rompa el enrutamiento de Plesk. Si no la pones, podrías obtener errores 404.

Paso 4: Probar y Reiniciar Nginx

Antes de reiniciar, verifica que la configuración es correcta:

nginx -t

Si dice syntax is ok, reinicia el servicio:

systemctl restart nginx

Verificando la Seguridad: ¿Cómo Saber si Funciona?

Ahora viene la parte gratificante. Abre tu navegador y visita https://tu-dominio.com:8443. Deberías ver un cuadro de diálogo del navegador pidiendo usuario y contraseña. Ese es el mensaje de AuthName que configuraste. Introduce las credenciales que creaste con htpasswd.

Si las credenciales son correctas, te redirigirá a la pantalla de inicio de sesión de Plesk. Si son incorrectas, te mostrará un error 401 Unauthorized.

[TIP] Para probar más a fondo, abre una ventana de incógnito en tu navegador. A veces el navegador guarda las credenciales antiguas y no te muestra el cuadro de diálogo.

Solución de Problemas Comunes (FAQ)

1. "No me pide contraseña, entra directamente"

Esto significa que la configuración no se ha aplicado correctamente. Las causas más comunes son:

  • No reiniciaste el servicio web: Vuelve a ejecutar systemctl restart apache2 o systemctl restart nginx.
  • Ruta incorrecta del directorio: Verifica que la ruta /usr/local/psa/admin/htdocs/ es correcta. Puedes comprobarlo con ls -la /usr/local/psa/admin/htdocs/.
  • Nginx como proxy: Si usas Nginx como proxy inverso, la autenticación debe estar en el bloque location correcto. Asegúrate de que estás editando el archivo correcto (zz010_psa_nginx.conf).

2. "Tras introducir la contraseña, veo un error 500"

Esto suele deberse a un problema de permisos en el archivo .htpasswd. El usuario del servidor web (por ejemplo, www-data o apache) necesita tener permisos de lectura sobre ese archivo. Ejecuta:

chmod 644 /etc/plesk/.htpasswd
chown root:root /etc/plesk/.htpasswd

3. "¿Puedo proteger también el puerto 8880 (HTTP sin SSL)?"

Sí, el proceso es idéntico. Solo tienes que buscar el bloque VirtualHost o server que escucha en el puerto 8880 en los mismos archivos de configuración y añadir las mismas directivas.

4. "¿Qué pasa si olvido la contraseña del directorio?"

No hay problema. Vuelve a conectarte por SSH y ejecuta el comando htpasswd de nuevo para actualizar la contraseña del usuario:

htpasswd /etc/plesk/.htpasswd adminseguro

Te pedirá la nueva contraseña.

5. "¿Es esto suficiente para proteger Plesk?"

No. Esta es una capa extra, pero no sustituye a otras medidas esenciales como:

  • Usar contraseñas robustas para el usuario admin de Plesk.
  • Activar la autenticación de dos factores (2FA) en Plesk.
  • Mantener Plesk y el sistema operativo siempre actualizados.
  • Configurar un firewall (como Fail2ban) para bloquear intentos de fuerza bruta.
  • Limitar el acceso al puerto 8443 solo a IPs específicas si es posible.

Conclusión: Un Candado Más para tu Fortaleza

Proteger el directorio de administración de Plesk con una contraseña adicional es una práctica de seguridad recomendada por expertos. Es un proceso que, aunque requiere tocar la configuración del servidor, es muy gratificante y aporta una tranquilidad enorme. Saber que, incluso si alguien descubre la URL de tu panel, necesitará una segunda llave para entrar, reduce drásticamente la superficie de ataque.

Recuerda que la seguridad en hosting es un proceso continuo, no un destino. Combina este método con otras buenas prácticas y tu servidor estará mucho más seguro. Si en algún momento te sientes perdido, no dudes en consultar la documentación oficial de Plesk o contactar con tu proveedor de hosting.

[WARNING] Realiza siempre una copia de seguridad de los archivos de configuración antes de editarlos. Un error en estos archivos puede dejar tu servidor web inaccesible. Si no te sientes cómodo con SSH, considera contratar a un administrador de sistemas para que lo haga por ti.

[INFO] Si en lugar de Plesk utilizas el panel alternativo Syspanel, el proceso para proteger su directorio (accesible en el puerto 2106) es muy similar. Deberás localizar la configuración de su servidor web (Apache o Nginx) y aplicar las mismas directivas de autenticación básica apuntando a un archivo .htpasswd que crees tú. La lógica es idéntica, solo cambian las rutas de los archivos.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel