Cómo reforzar la seguridad de DirectAdmin
¿Tu servidor con DirectAdmin es el corazón de tu negocio online, ¿verdad? Protegerlo no es un lujo, es una necesidad. Un servidor vulnerable puede traducirse en sitios web caídos, datos robados y una reputación hecha añicos. Pero no te preocupes, no necesitas ser un hacker de sombrero negro para poner tu servidor a prueba de balas.
En esta DirectAdmin guía completa, te voy a llevar de la mano por un plan de acción paso a paso para reforzar DirectAdmin y convertirlo en una fortaleza digital. Olvídate de la jerga técnica imposible; aquí hablamos claro y en español. Vamos a transformar tu configuración por defecto en un modelo de seguridad servidor DirectAdmin.
Empecemos con lo básico que marca una gran diferencia.
Actualizaciones: Tu Escudo Principal
Lo primero y más importante: mantén todo actualizado. DirectAdmin, el sistema operativo (como CentOS, AlmaLinux o Ubuntu) y todos los softwares (Apache, Nginx, PHP, MySQL) deben tener los últimos parches de seguridad.
[WARNING] Ignorar las actualizaciones es como dejar la puerta de tu casa abierta de par en par. Los hackers buscan vulnerabilidades conocidas. ¡No se las pongas fácil!
Cómo actualizar DirectAdmin
- Accede a tu panel de DirectAdmin como administrador (usuario
admin). - Ve a Admin Level -> System Info & Updates.
- Haz clic en Check for Updates y luego en Update si hay alguna disponible.
Actualiza el Sistema Operativo
Esto se hace por línea de comandos (SSH). Si no te sientes cómodo, pídele a tu proveedor de hosting que lo haga o que te active las actualizaciones automáticas.
- Para CentOS/AlmaLinux/Rocky Linux:
sudo yum update -y - Para Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y
[TIP] Programa estas actualizaciones en horas de bajo tráfico, como las 3 de la madrugada. Así minimizas el impacto en tus usuarios.
Fortalece el Acceso a tu Servidor
Aquí es donde la mayoría de los ataques comienzan. Vamos a poner varias capas de seguridad.
Contraseñas Roba-Monedas
Nada de "admin123" o "password". Usa contraseñas largas, con mayúsculas, minúsculas, números y símbolos.
- En DirectAdmin: Exige contraseñas complejas a tus usuarios desde Admin Level -> Admin Settings -> Security. Marca la opción "Strong Password Check".
- En SSH: Usa un generador de contraseñas. Una buena contraseña tiene al menos 16 caracteres.
Autenticación de Dos Factores (2FA)
Esto añade una capa extra. Aunque alguien robe tu contraseña, necesitará un código de tu teléfono para entrar.
- En tu cuenta de DirectAdmin (no como admin, sino como usuario), ve a User Level -> Account Manager -> Two-Factor Authentication.
- Escanea el código QR con una app como Google Authenticator o Authy.
- Introduce el código de 6 dígitos y ¡listo! A partir de ahora, cada inicio de sesión te pedirá este código.
Cambia el Puerto SSH por Defecto
El puerto 22 es la puerta principal que todos los bots del mundo intentan forzar. Cámbiala.
- Conéctate por SSH a tu servidor.
- Edita el archivo de configuración:
sudo nano /etc/ssh/sshd_config - Busca la línea
#Port 22y cámbiala aPort 2222(o cualquier número entre 1024 y 65535 que no uses). - Guarda el archivo (Ctrl+O, luego Ctrl+X en nano).
- Reinicia el servicio SSH:
sudo systemctl restart sshd
[WARNING] ¡CUIDADO! Si cambias el puerto SSH, asegúrate de recordarlo o de configurar tu firewall para permitirlo. Si te equivocas, ¡podrías quedarte fuera de tu propio servidor! Siempre ten una sesión SSH abierta de respaldo mientras pruebas el cambio.
Desactiva el Login Root por SSH
El usuario root es el todopoderoso. Es mejor no permitir que se conecte directamente por SSH.
- En el mismo archivo
/etc/ssh/sshd_config, buscaPermitRootLogin yesy cámbialo aPermitRootLogin no. - Crea un usuario normal con permisos sudo (puedes hacerlo desde DirectAdmin en Admin Level -> User Management).
- Conéctate con ese usuario y usa
sudo -ipara hacer tareas de administrador.
DirectAdmin Firewall: Tu Primera Línea de Defensa
El DirectAdmin firewall es tu mejor amigo. No solo protege el panel, sino todo el servidor. La herramienta estrella es ConfigServer Security & Firewall (CSF).
Instalación y Configuración de CSF
- Conéctate por SSH a tu servidor.
- Descarga e instala CSF con estos comandos:
cd /usr/src wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh - Una vez instalado, ve a DirectAdmin: Admin Level -> Plugins -> ConfigServer Security & Firewall.
- Lo primero: Habilita el firewall. En la pestaña "Firewall Configuration", busca
TESTING = "1"y cámbialo aTESTING = "0". Luego, haz clic en "Change" y después en "Restart csf+lfd".
[INFO] El modo TESTING evita que te bloquees a ti mismo. Una vez que estés seguro de que todo funciona, desactívalo.
Reglas Básicas para tu DirectAdmin Firewall
- Puertos Permitidos (TCP_IN, TCP_OUT, UDP_IN, UDP_OUT): Solo abre los puertos que uses. Por defecto, CSF ya trae una lista segura. Asegúrate de que estos estén:
- 21 (FTP): Solo si lo usas.
- 22 (SSH): O el puerto que le hayas puesto.
- 25, 465, 587 (SMTP): Para correo saliente.
- 80, 443 (HTTP, HTTPS): Para tus sitios web.
- 110, 995 (POP3): Para correo entrante (si usas POP).
- 143, 993 (IMAP): Para correo entrante (si usas IMAP).
- 2222 (DirectAdmin): El puerto por defecto de tu panel.
- Bloqueo de Países (CC_DENY): Si solo atiendes clientes en España y Latinoamérica, bloquea el resto del mundo. En la configuración de CSF, busca
CC_DENYy añade los códigos de países que quieras bloquear (ej: CN, RU, US, etc.). - Límites de Conexiones (CONNLIMIT): Evita que una IP acapare todos los recursos. Por ejemplo, puedes limitar a 20 conexiones por IP al puerto 80.
Activa el Módulo ModSecurity
ModSecurity es un firewall para aplicaciones web (WAF). Bloquea ataques comunes como inyecciones SQL o cross-site scripting (XSS).
- En DirectAdmin, ve a Admin Level -> CustomBuild -> Configure.php.
- Busca
mod_securityy ponlo enyes. - Luego, en Admin Level -> Apache Management, haz clic en Reinstall/Update Apache + PHP para que se compile con ModSecurity.
- Una vez instalado, ve a Admin Level -> ModSecurity para gestionar las reglas. Te recomiendo activar el conjunto de reglas de OWASP (las más completas).
Refuerza la Configuración de PHP
PHP es el lenguaje más usado en hosting compartido, pero también es un punto débil común.
Aísla a los Usuarios con PHP-FPM
DirectAdmin ya viene preparado para usar PHP-FPM. Esto hace que cada usuario ejecute sus scripts PHP con su propio usuario del sistema. Si un sitio es hackeado, el atacante no podrá acceder a los archivos de otros usuarios.
- Ve a Admin Level -> CustomBuild -> Configure.php.
- Asegúrate de que
php1_modeesté enphp-fpmyphp1_releaseenyes. - En Admin Level -> PHP Settings, puedes ajustar los límites por usuario (memoria, tiempo de ejecución, etc.).
Desactiva Funciones Peligrosas de PHP
Algunas funciones de PHP son un regalo para los hackers. Desactívalas.
- En Admin Level -> PHP Settings, busca
disable_functions. - Añade esta lista (puedes copiarla y pegarla):
exec, system, shell_exec, passthru, popen, proc_open, show_source, phpinfo, eval, assert, create_function, include, include_once, require, require_once
[TIP] Si algún script legítimo necesita alguna de estas funciones (como un instalador de WordPress), puedes habilitarla temporalmente o crear un archivo
php.inipersonalizado para ese dominio.
Protege tu Correo Electrónico
El correo es otro vector de ataque. Los spammers y hackers adoran los servidores de correo mal configurados.
Configura SPF, DKIM y DMARC
Estos registros DNS evitan que otros envíen correos falsos en nombre de tu dominio.
- SPF: Indica qué servidores están autorizados a enviar correo por tu dominio.
- DKIM: Firma digitalmente tus correos para que no puedan ser alterados.
- DMARC: Le dice a los servidores receptores qué hacer si un correo no pasa las pruebas de SPF y DKIM.
En DirectAdmin, ve a User Level -> Domain Setup -> MX Records. Ahí podrás generar y gestionar estos registros.
Limita el Envío de Correos
Evita que un script infectado use tu servidor para enviar spam.
- En Admin Level -> Mail Queue, puedes ver el tráfico de correo.
- Usa herramientas como Exim Stats para detectar picos anómalos.
- Considera instalar un plugin como MailWatch para monitorizar el correo.
Monitoreo y Respuesta a Incidentes
No basta con prevenir; hay que estar alerta.
Revisa los Logs Regularmente
DirectAdmin guarda registros de todo. Revisa estos archivos a menudo:
/var/log/messageso/var/log/syslog: Eventos del sistema./var/log/exim/mainlog: Registro de correo./var/log/httpd/domains/o/var/log/nginx/domains/: Accesos a tus sitios web./usr/local/directadmin/logs/: Logs del panel.
Instala un Plugin de Seguridad
Hay plugins para DirectAdmin que automatizan muchas tareas de seguridad. Por ejemplo, Imunify360 o Malware Scanner. Escanean tu servidor en busca de malware, bloquean IPs maliciosas y te envían alertas.
Preguntas Frecuentes (FAQ)
¿Cada cuánto debo cambiar las contraseñas?
Cada 90 días es una buena práctica. Pero más importante que cambiarlas es que sean fuertes desde el principio.
¿Qué hago si me olvido el puerto SSH que cambié?
Si tienes acceso a DirectAdmin (por el puerto 2222), puedes ir a Admin Level -> System Info & Updates y ver el puerto SSH configurado. Si no, deberás contactar a tu proveedor de hosting para que acceda por la consola física o virtual.
¿El firewall de DirectAdmin (CSF) afecta el rendimiento?
Mínimamente. CSF es muy ligero y apenas consume recursos. Los beneficios en seguridad superan con creces cualquier pequeña sobrecarga.
¿Es lo mismo Syspanel que DirectAdmin?
No. Syspanel (anteriormente conocido como HestiaCP) es otro panel de control. Si usas Syspanel, suele tener un enfoque similar en seguridad, pero su puerto de acceso es el 2106. Aplica los mismos principios de esta guía, pero adaptando las rutas y configuraciones a Syspanel.
Conclusión: La Seguridad es un Hábito, No un Destino
Reforzar la seguridad de tu DirectAdmin no es algo que haces una vez y te olvidas. Es un proceso continuo. Implementa estos pasos hoy mismo. Empieza por lo más básico (contraseñas y actualizaciones) y ve subiendo el nivel (firewall, 2FA, ModSecurity).
Tu servidor, tus sitios web y tus clientes te lo agradecerán. Y recuerda, si en algún momento te sientes abrumado, busca ayuda profesional. Un servidor seguro es un servidor que te da tranquilidad y te permite dormir por las noches.
¡Manos a la obra! Tu fortaleza digital te espera.
