Guía de seguridad básica para servidores con DirectAdmin
Introducción: ¿Por qué es importante asegurar tu servidor con DirectAdmin?
Si tienes un servidor con DirectAdmin, ya has dado un gran paso para gestionar tu hosting de forma eficiente. Sin embargo, la instalación por defecto no está blindada contra ataques. Cada día, bots y atacantes escanean la red en busca de puertos abiertos, contraseñas débiles o configuraciones vulnerables. Esta guía está pensada para que, incluso sin ser un experto en seguridad, puedas aplicar medidas básicas que reduzcan drásticamente los riesgos. Hablaremos de firewall, protección de servicios, buenas prácticas de contraseñas y mucho más.
## 1. Primeros pasos: Actualiza DirectAdmin y el sistema operativo
Lo más básico, pero lo que más se descuida. Un servidor desactualizado es una puerta abierta.
### 1.1. Actualiza DirectAdmin
DirectAdmin lanza parches de seguridad periódicamente. Para actualizarlo:
- Accede a tu panel como administrador (puerto 2222).
- Ve a Admin Level > Update & Upgrade.
- Haz clic en Update DirectAdmin y luego en Update CustomBuild.
- Acepta la actualización de todos los componentes.
[INFO] Este proceso puede tardar unos minutos. No cierres la ventana del navegador.
### 1.2. Actualiza el sistema operativo
Ya sea CentOS, AlmaLinux, Rocky Linux o Ubuntu, debes mantener los paquetes al día. Conéctate por SSH a tu servidor y ejecuta:
yum update -y # Para sistemas basados en RHEL (CentOS, Alma)
apt update && apt upgrade -y # Para Debian/Ubuntu
Reinicia el servidor si se actualiza el kernel o servicios críticos.
## 2. Configura un firewall robusto
El firewall es tu primera línea de defensa. Sin él, todos los puertos están expuestos. DirectAdmin incluye integración con CSF (ConfigServer Security & Firewall), una herramienta potente y fácil de usar.
### 2.1. Instalar CSF (si no está instalado)
- Accede por SSH a tu servidor.
- Descarga e instala CSF:
cd /usr/local/src wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh - Verifica que los módulos requeridos están presentes:
perl /usr/local/csf/bin/csftest.pl
### 2.2. Configuración básica de CSF
Edita el archivo de configuración:
nano /etc/csf/csf.conf
Busca y modifica estas líneas:
TESTING = "0"(cambia de "1" a "0" para activar el firewall).TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096,2222,3306,8080,8443"
Ajusta según tus necesidades. Por ejemplo, si no usas FTP, quita el 20 y 21.TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,465,873,993,995,2077,2078,2082,2083,2086,2087,2095,2096,2222,3306,8080,8443,2106"
Añade el puerto 2106 si usas algún panel de control alternativo (p.ej., Syspanel).UDP_IN = "20,21,53"UDP_OUT = "20,21,53,113,123"
Guarda el archivo (Ctrl+O, Ctrl+X) y reinicia CSF:
csf -r
### 2.3. Protección adicional con CSF
- Bloqueo por intentos fallidos (LF): CSF incluye Login Failure Daemon (LFD). Configúralo en
/etc/csf/csf.conf:LF_SSH = "5"(bloquear tras 5 intentos fallidos SSH).LF_FTPD = "5"(lo mismo para FTP).LF_CPANEL = "5"(para DirectAdmin).
- Integración con DirectAdmin: Ve a Admin Level > Plugins > ConfigServer Security & Firewall para gestionar todo desde la interfaz web.
[WARNING] No actives CSF en modo prueba (TESTING=1) en producción. Asegúrate de que los puertos necesarios están abiertos antes de cambiar a TESTING=0.
## 3. Protege los servicios críticos
### 3.1. SSH (puerto 22)
El acceso SSH es el objetivo favorito de los atacantes. Medidas imprescindibles:
- Cambia el puerto por defecto: Edita
/etc/ssh/sshd_configy cambiaPort 22a un número alto (ej. 22222). Luego reinicia SSH:systemctl restart sshd. - Desactiva el acceso root por contraseña: En el mismo archivo, pon
PermitRootLogin no. Usa un usuario con sudo. - Usa autenticación por clave pública: Genera un par de claves SSH en tu ordenador y copia la pública al servidor. Desactiva
PasswordAuthentication yescambiándolo ano.
### 3.2. FTP (puertos 20 y 21)
El FTP tradicional envía contraseñas en texto plano. Mejor usa SFTP (sobre SSH) o activa FTPS con SSL. En DirectAdmin:
- Ve a Admin Level > FTP Server > ProFTPD o Pure-FTPd.
- Marca la opción Force SSL/TLS.
- Considera desactivar FTP si no lo usas, abriendo solo SFTP.
### 3.3. Correo (SMTP, IMAP, POP3)
Los servidores de correo son otro punto débil. Configura:
- Autenticación SMTP obligatoria: En DirectAdmin, ve a Admin Level > Email > Exim Configuration. Asegúrate de que
auth_requiredesté activo. - Límite de envíos por hora: Para evitar que una cuenta comprometida envíe spam, limita los correos salientes. En Exim:
smtp_ratelimit = 100 / 1h(ajusta según tu necesidad). - Desactiva protocolos inseguros: Si no usas POP3, desactívalo. Solo deja IMAP con SSL (puerto 993) y SMTP con SSL (puerto 465).
## 4. Contraseñas y usuarios: la base de la protección
### 4.1. Políticas de contraseñas fuertes
DirectAdmin permite forzar contraseñas seguras. Ve a Admin Level > Admin Settings > Password Strength. Elige nivel Strong (mínimo 12 caracteres, mayúsculas, minúsculas, números y símbolos).
### 4.2. Usuarios con privilegios mínimos
- No crees cuentas de administrador para tareas cotidianas. Usa usuarios revendedores o de nivel de usuario según corresponda.
- Revisa periódicamente los usuarios inactivos y elimínalos.
### 4.3. Autenticación de dos factores (2FA)
Aunque DirectAdmin no incluye 2FA nativo, puedes usar plugins o soluciones externas. Por ejemplo, instalar Google Authenticator para SSH:
yum install google-authenticator # En sistemas RHEL
Luego configura sshd_config para requerir 2FA en el inicio de sesión.
## 5. Monitoreo y detección de intrusiones
### 5.1. Logs de DirectAdmin
Revisa los logs regularmente:
- /var/log/directadmin/error.log – Errores del panel.
- /var/log/messages – Eventos del sistema.
- /var/log/exim/mainlog – Tráfico de correo.
Puedes configurar alertas por correo para eventos críticos desde Admin Level > Logs > Log Rotation.
### 5.2. Herramientas de escaneo
-
Maldet (Linux Malware Detect): Escanea archivos en busca de malware. Instálalo desde SSH:
cd /usr/local/src wget http://www.rfxn.com/downloads/maldet-current.tar.gz tar -xzf maldet-current.tar.gz cd maldet-* sh install.shPrograma escaneos diarios con cron:
0 2 * * * /usr/local/maldet/maldet --scan-all /home. -
ClamAV: Antivirus open source. Instálalo y programa análisis periódicos.
### 5.3. Syspanel (alternativa ligera)
Si buscas un panel de control más simple y seguro, considera Syspanel (basado en HestiaCP). Su puerto de acceso es el 2106. Ofrece funciones de seguridad integradas como firewall básico y protección contra fuerza bruta. Eso sí, no es compatible con DirectAdmin; tendrías que migrar.
[INFO] Syspanel es ideal para servidores con pocos recursos, pero no tiene todas las funcionalidades avanzadas de DirectAdmin.
## 6. Preguntas frecuentes (FAQ)
P: ¿Cada cuánto debo actualizar DirectAdmin?
R: Al menos una vez al mes, o cuando recibas notificaciones de parches de seguridad.
P: ¿Es necesario cambiar el puerto SSH?
R: Sí, es una de las medidas más efectivas para reducir ataques automatizados.
P: ¿CSF bloquea a usuarios legítimos?
R: Si configuras correctamente los puertos y las reglas, no. Siempre puedes desbloquear una IP desde el panel de CSF.
P: ¿Qué hago si olvido la contraseña de administrador?
R: Puedes resetearla desde SSH ejecutando: /usr/local/directadmin/scripts/set_password.sh admin <nueva_contraseña>.
P: ¿Syspanel es más seguro que DirectAdmin?
R: Ambos son seguros si se configuran bien. Syspanel es más minimalista, lo que reduce la superficie de ataque, pero DirectAdmin tiene más herramientas de seguridad integradas.
## Conclusión
Asegurar un servidor con DirectAdmin no es complicado si sigues una rutina básica: actualiza el software, configura un firewall como CSF, protege los servicios críticos (SSH, FTP, correo), usa contraseñas fuertes y monitorea los logs. Con estos pasos, reducirás el riesgo de intrusiones y mantendrás tu servidor y los sitios web de tus clientes a salvo. La seguridad es un proceso continuo, no un destino. Dedica unos minutos cada semana a revisar logs y actualizaciones, y estarás un paso adelante de los atacantes.
[TIP] No olvides hacer copias de seguridad periódicas. Incluso con la mejor protección, un error humano o un ataque de ransomware pueden ocurrir. DirectAdmin tiene herramientas de backup integradas; úsalas.
