DirectAdmin: Configuración de Seguridad Básica
Proteger tu servidor es el primer paso para garantizar que tu sitio web, correos electrónicos y datos estén a salvo de accesos no autorizados. DirectAdmin es un panel de control muy potente y, aunque viene con una configuración segura por defecto, hay varios ajustes que puedes aplicar para reforzar aún más la seguridad. En esta guía práctica, te explicaré paso a paso cómo realizar una configuración de seguridad básica en DirectAdmin, cubriendo desde contraseñas hasta certificados SSL.
Esta guía está pensada para que cualquier persona, incluso sin experiencia técnica, pueda seguirla. Si eres nuevo en la administración de servidores, no te preocupes: iremos despacio, con ejemplos claros y alertas visuales para que no te pierdas.
1. Actualiza DirectAdmin y el Sistema Operativo
Antes de tocar cualquier configuración, asegúrate de que tanto DirectAdmin como el sistema operativo (generalmente CentOS, AlmaLinux o Ubuntu) estén actualizados. Las actualizaciones corrigen vulnerabilidades conocidas.
Cómo actualizar DirectAdmin
Accede a tu panel de DirectAdmin como administrador (usuario admin). Ve a Admin Level > Update Software. Allí verás una opción para actualizar el panel. Haz clic en Check for updates y luego en Update.
[INFO] Si tu servidor usa Syspanel (antes conocido como HestiaCP), el proceso es similar pero accedes por el puerto 2106. En Syspanel, ve a Administración > Actualizaciones.
Cómo actualizar el sistema operativo
Desde la terminal (SSH), ejecuta los siguientes comandos:
# Para CentOS/AlmaLinux/Rocky
sudo yum update -y
# Para Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
[TIP] Si no te sientes cómodo con la terminal, muchos proveedores de hosting ofrecen actualizaciones automáticas. Pregunta a tu soporte técnico.
2. Cambia las Contraseñas por Defecto
Uno de los errores más comunes es dejar las contraseñas que vienen por defecto. DirectAdmin crea un usuario admin con una contraseña temporal. Cámbiala inmediatamente.
Pasos para cambiar la contraseña del admin
- Inicia sesión como
admin. - Ve a Admin Level > Admin Settings.
- Busca la opción Change Password.
- Introduce una contraseña segura: al menos 12 caracteres, con mayúsculas, minúsculas, números y símbolos.
- Guarda los cambios.
[WARNING] No uses contraseñas como
admin123opassword. Son las primeras que prueban los atacantes.
También cambia las contraseñas de los usuarios
Si tienes otros usuarios (por ejemplo, para sitios web de clientes), asegúrate de que usen contraseñas robustas. Puedes forzar una política de contraseñas desde Admin Level > Password Policies.
3. Habilita SSL/TLS en DirectAdmin
El tráfico entre tu navegador y el panel de control debe estar cifrado. SSL DirectAdmin es imprescindible. Sin un certificado SSL, cualquier persona en la misma red podría interceptar tus credenciales.
Cómo instalar un certificado SSL en DirectAdmin
Puedes usar un certificado gratuito de Let's Encrypt o uno de pago. Te explico con Let's Encrypt, que es automático.
- Accede a Admin Level > SSL Certificates.
- En la sección Let's Encrypt, haz clic en Request a free certificate.
- Asegúrate de que el dominio principal del servidor (por ejemplo,
servidor.midominio.com) tenga un registro A en tu DNS. - Espera unos segundos. DirectAdmin generará e instalará el certificado automáticamente.
[TIP] Después de instalar el certificado, ve a Admin Level > Admin Settings y marca la opción Force SSL. Así, todas las conexiones al panel serán HTTPS.
Verifica que SSL funciona
Abre tu navegador y escribe https://tudominio.com:2222 (el puerto por defecto de DirectAdmin es 2222). Deberías ver un candado verde.
4. Configura el Firewall (CSF)
DirectAdmin incluye un firewall llamado ConfigServer Security & Firewall (CSF). Es una herramienta gratuita y muy potente que bloquea ataques comunes.
Instalar CSF
Si no está instalado, sigue estos pasos:
- Conéctate por SSH a tu servidor.
- Descarga e instala CSF:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Configuración básica de CSF
Una vez instalado, accede a DirectAdmin > Admin Level > Plugins > ConfigServer Security & Firewall. Allí verás varias opciones. Lo mínimo que debes hacer:
- Enable CSF: Actívalo.
- Ports: Asegúrate de que los puertos necesarios estén abiertos (22 para SSH, 80 para HTTP, 443 para HTTPS, 2222 para DirectAdmin). Puedes cerrar puertos innecesarios como el 21 (FTP) si no lo usas.
- LF (Login Failure): Configura para que tras 3 intentos fallidos de inicio de sesión, la IP sea bloqueada durante 30 minutos.
[WARNING] No cierres el puerto 2222 si usas DirectAdmin de forma remota, o te quedarás sin acceso al panel.
5. Desactiva Servicios Innecesarios
Cada servicio abierto es una posible puerta de entrada. DirectAdmin instala varios por defecto. Revisa cuáles realmente necesitas.
Cómo ver los servicios activos
En Admin Level > Service Monitor, verás una lista de servicios (Apache, MySQL, Dovecot, etc.). Los que están en verde están funcionando.
Servicios que puedes desactivar
- FTP (ProFTPD o Pure-FTPd): Si usas SFTP (SSH), no necesitas FTP. Es inseguro porque las contraseñas viajan en texto plano.
- Dovecot (POP3/IMAP) si no usas correo: Si tu servidor no gestiona correos, puedes desactivarlo.
- BIND (DNS) si usas DNS externo: Si tus dominios apuntan a Cloudflare u otro servicio DNS, no necesitas tener BIND corriendo.
Para desactivar un servicio, ve a Admin Level > Service Monitor, haz clic en el servicio y selecciona Stop y luego Disable.
[INFO] Si tu servidor usa Syspanel, el proceso es similar: ve a Administración > Servicios y desactiva los que no uses.
6. Protege el Acceso SSH
El puerto SSH (22) es uno de los más atacados. Mejorar su seguridad es vital.
Cambia el puerto SSH
- Edita el archivo de configuración de SSH:
sudo nano /etc/ssh/sshd_config
- Busca la línea
#Port 22y cámbiala porPort 22222(elige un número alto, entre 1024 y 65535). - Guarda el archivo y reinicia SSH:
sudo systemctl restart sshd
[WARNING] Asegúrate de abrir el nuevo puerto en el firewall (CSF) antes de cerrar la sesión SSH, o te quedarás fuera.
Desactiva el login como root
En el mismo archivo, busca PermitRootLogin yes y cámbialo a PermitRootLogin no. Luego, crea un usuario normal con permisos sudo.
sudo adduser tuusuario
sudo usermod -aG wheel tuusuario # En CentOS/AlmaLinux
sudo usermod -aG sudo tuusuario # En Ubuntu
7. Activa la Autenticación de Dos Factores (2FA)
DirectAdmin permite añadir una capa extra de seguridad mediante 2FA. Incluso si alguien obtiene tu contraseña, no podrá acceder sin el código de tu móvil.
Cómo configurar 2FA en DirectAdmin
- Inicia sesión como admin.
- Ve a Admin Level > Admin Settings.
- Busca Two-Factor Authentication y haz clic en Enable.
- Escanea el código QR con una app como Google Authenticator o Authy.
- Introduce el código generado para confirmar.
[TIP] Repite este proceso para cada usuario del panel. Especialmente aquellos con acceso a cuentas de clientes.
8. Monitorea los Logs de Seguridad
Revisar los logs te ayuda a detectar intentos de ataque antes de que tengan éxito.
Logs principales en DirectAdmin
- /var/log/directadmin/error.log: Errores del panel.
- /var/log/messages: Eventos del sistema.
- /var/log/secure o /var/log/auth.log: Intentos de inicio de sesión SSH.
Puedes verlos desde Admin Level > Log Viewer o directamente por SSH con tail -f /var/log/secure.
Configura alertas por correo
En CSF, puedes configurar que te envíe un correo cada vez que se bloquee una IP. Ve a CSF > Firewall Configuration y busca LF_EMAIL_ALERT. Pon tu correo y actívalo.
9. Realiza Copias de Seguridad (Backups) Regulares
La seguridad no solo es prevenir ataques, sino también poder recuperarte si algo sale mal. DirectAdmin tiene un sistema de backups integrado.
Cómo configurar backups automáticos
- Ve a Admin Level > Backup/Transfer.
- Selecciona Create Backup.
- Elige qué incluir: cuentas de usuario, bases de datos, configuraciones.
- Marca Run daily para que se ejecute cada día.
- Guarda los backups en un lugar externo (por ejemplo, FTP remoto o Amazon S3).
[WARNING] No almacenes los backups en el mismo servidor. Si el servidor es hackeado, los backups también se perderán.
10. Mantén la Seguridad de los Sitios Web Alojados
Además del panel, los sitios web que alojas también necesitan protección.
Forza HTTPS en todos los dominios
Desde DirectAdmin, puedes habilitar Let's Encrypt para cada dominio de forma automática. En User Level > SSL Certificates, selecciona el dominio y haz clic en Auto SSL.
Desactiva la ejecución de scripts en carpetas de subida
Para evitar que alguien suba un archivo malicioso (por ejemplo, un PHP que robe datos), configura las carpetas uploads de WordPress u otros CMS para que no ejecuten scripts.
En DirectAdmin, puedes hacerlo desde User Level > File Manager, editando el archivo .htaccess de la carpeta:
<FilesMatch "\.(php|pl|py|cgi)$">
Order Deny,Allow
Deny from all
</FilesMatch>
Preguntas Frecuentes (FAQ)
¿Qué hago si olvido la contraseña de admin de DirectAdmin?
Si tienes acceso SSH, puedes restablecerla con el comando:
/usr/local/directadmin/scripts/set_passwords.sh admin nueva_contraseña
¿Es seguro usar FTP?
No recomendamos FTP porque las credenciales viajan sin cifrar. Usa SFTP (SSH File Transfer Protocol) que ya viene habilitado con DirectAdmin.
¿Cada cuánto debo cambiar las contraseñas?
Al menos cada 3 meses. Y siempre después de un incidente de seguridad.
¿DirectAdmin tiene protección contra DDoS?
No de forma nativa, pero puedes combinarlo con servicios como Cloudflare o un firewall a nivel de red.
¿Qué es Syspanel y cómo se relaciona con DirectAdmin?
Syspanel (antes HestiaCP) es otro panel de control. Si tu servidor usa Syspanel, accedes por el puerto 2106. Aunque los pasos de seguridad son similares, las rutas exactas pueden variar. Consulta la documentación de Syspanel para ajustes específicos.
Conclusión
La seguridad de tu servidor es un proceso continuo, no un evento único. Con estos 10 pasos básicos has dado un gran salto para proteger tu DirectAdmin y los sitios que alojas. Recuerda: contraseñas fuertes, SSL activo, firewall configurado y actualizaciones periódicas son tu mejor defensa.
Si tienes dudas, no dudes en contactar a tu proveedor de hosting o buscar en la documentación oficial de DirectAdmin. La ciberseguridad DirectAdmin está en tus manos. ¡Manos a la obra!
