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

DirectAdmin: Pasos para mejorar la seguridad de tu servidor

Actualizado el 26 de noviembre de 2025

Introducción: La seguridad de tu servidor empieza por ti

Mantener un servidor web seguro es una tarea fundamental para cualquier persona que gestione sitios web, correos electrónmicos o aplicaciones. DirectAdmin es un panel de control muy popular por su facilidad de uso y eficiencia, pero como cualquier sistema, si no se configura adecuadamente, puede quedar expuesto a vulnerabilidades. En esta guía completa, DirectAdmin seguridad no será solo un concepto, sino una serie de pasos prácticos que puedes aplicar hoy mismo para fortalecer tu servidor. A lo largo de este artículo, te guiaremos por las mejores prácticas para mejorar seguridad DirectAdmin, desde la instalación hasta la configuración avanzada, todo explicado de forma sencilla para que, incluso sin ser un experto en sistemas, puedas tener un servidor seguro DirectAdmin.

Esta DirectAdmin guía está diseñada para que sigas los pasos seguridad DirectAdmin de manera ordenada. No necesitas ser un administrador de sistemas con años de experiencia; solo necesitas acceso a tu panel de DirectAdmin, un poco de paciencia y ganas de proteger tu información y la de tus usuarios. Recuerda que un servidor comprometido puede afectar no solo tu reputación, sino también la de tus clientes. ¡Empecemos!


1. Mantén DirectAdmin y el sistema operativo actualizados

El primer paso y el más importante para cualquier estrategia de seguridad es la actualización constante. Los desarrolladores de DirectAdmin y los sistemas operativos (como CentOS, AlmaLinux, Ubuntu, etc.) lanzan parches de seguridad periódicamente para corregir vulnerabilidades conocidas.

¿Por qué es crucial?

  • Corrección de fallos de seguridad: Cada actualización incluye parches para agujeros de seguridad que los atacantes podrían explotar.
  • Mejoras de rendimiento: Además de seguridad, las actualizaciones suelen optimizar el rendimiento del sistema.
  • Compatibilidad: Asegura que tu panel funcione correctamente con las últimas versiones de software.

Pasos para actualizar DirectAdmin

  1. Accede a tu servidor: Puedes hacerlo mediante SSH (terminal) o a través de la opción de actualización dentro del propio panel de DirectAdmin.
  2. Actualización vía SSH (recomendada): Ejecuta el siguiente comando como usuario root:
    /usr/local/directadmin/scripts/update.sh
    
    Este comando descargará e instalará la última versión estable de DirectAdmin.
  3. Actualización desde el panel: Ve a Admin Level -> System Info & Updates -> DirectAdmin Update. Allí verás la versión actual y podrás hacer clic en el botón de actualización si está disponible.

Actualización del sistema operativo

  • Para sistemas basados en Red Hat (CentOS, AlmaLinux, Rocky Linux):
    yum update -y
    # o para dnf en versiones más nuevas
    dnf update -y
    
  • Para sistemas basados en Debian/Ubuntu:
    apt update && apt upgrade -y
    

[TIP] Programa las actualizaciones automáticas si es posible, pero revisa siempre que no haya conflictos con tus aplicaciones. Una actualización fallida puede causar más problemas que beneficios si no se hace con cuidado.


2. Configura un firewall robusto con CSF (ConfigServer Security & Firewall)

El firewall es tu primera línea de defensa. CSF es una herramienta gratuita y muy potente que se integra perfectamente con DirectAdmin. Te permite controlar qué puertos están abiertos, bloquear IPs maliciosas y proteger contra ataques de fuerza bruta.

Instalación de CSF

  1. Accede a tu servidor por SSH como root.
  2. Descarga e instala CSF:
    cd /usr/src
    wget https://download.configserver.com/csf.tgz
    tar -xzf csf.tgz
    cd csf
    sh install.sh
    
  3. Verifica que los módulos requeridos estén instalados: El script de instalación te lo indicará. Si falta algo, normalmente puedes instalarlo con yum install perl-libwww-perl o similar.

Configuración básica de CSF

  • Archivo de configuración: El archivo principal es /etc/csf/csf.conf.

  • Abrir puertos esenciales: Por defecto, CSF bloquea casi todo. Debes asegurarte de que los puertos necesarios estén abiertos. Los más comunes son:

    • Puerto 22 (SSH): Para acceso remoto. Nunca lo dejes en el puerto por defecto si es posible.
    • Puerto 80 (HTTP): Para tráfico web.
    • Puerto 443 (HTTPS): Para tráfico web seguro.
    • Puerto 21 (FTP): Si usas FTP (mejor usa SFTP o FTPS).
    • Puerto 25, 587, 465 (SMTP): Para envío de correo.
    • Puerto 110, 143, 993, 995 (POP3/IMAP): Para recepción de correo.
    • Puerto 3306 (MySQL): Solo si necesitas acceso remoto a la base de datos (no recomendado).
    • Puerto 2222 (DirectAdmin): El puerto por defecto del panel. Cámbialo para mayor seguridad.
  • Cambiar el puerto de DirectAdmin: En el archivo /usr/local/directadmin/conf/directadmin.conf, busca la línea port=2222 y cámbiala por un número entre 1024 y 65535 que no esté en uso. Luego reinicia DirectAdmin:

    service directadmin restart
    

    No olvides actualizar también el firewall (CSF) para permitir el nuevo puerto.

  • Bloquear IPs por fuerza bruta: CSF incluye un sistema de detección de intrusiones. En el archivo csf.conf, activa las opciones LF_SSHD, LF_FTPD, etc., para que bloquee IPs después de varios intentos fallidos de inicio de sesión.

[WARNING] Nunca cierres el puerto 22 (SSH) antes de asegurarte de que puedes acceder de otra manera o que has configurado correctamente la nueva regla. Podrías quedarte fuera de tu servidor.


3. Fortalece el acceso SSH

SSH es la puerta de entrada principal para la administración remota. Un atacante que logre acceder por SSH puede tomar el control total de tu servidor. Por eso, es vital reforzarlo.

Cambia el puerto SSH por defecto

Ya lo mencionamos, pero es tan importante que merece un apartado propio. Cambiar el puerto 22 por otro número reduce drásticamente los ataques automatizados.

  1. Edita el archivo de configuración de SSH: /etc/ssh/sshd_config.
  2. Busca la línea #Port 22 y cámbiala a un puerto no estándar, por ejemplo Port 2222 (asegúrate de que no sea el mismo que usas para DirectAdmin).
  3. Reinicia el servicio SSH:
    service sshd restart
    
  4. Actualiza CSF para permitir el nuevo puerto.

Desactiva el inicio de sesión como root por SSH

Es una mala práctica permitir que el usuario root acceda directamente por SSH. Es mejor crear un usuario con privilegios sudo y usarlo para las tareas administrativas.

  1. Crea un usuario (si no lo tienes):
    adduser tuusuario
    passwd tuusuario
    usermod -aG wheel tuusuario  # En CentOS/RHEL
    # o
    usermod -aG sudo tuusuario   # En Debian/Ubuntu
    
  2. Edita /etc/ssh/sshd_config y busca la línea PermitRootLogin yes. Cámbiala a PermitRootLogin no.
  3. Reinicia SSH: service sshd restart.

Usa autenticación por clave SSH (en lugar de contraseña)

Es mucho más seguro que una contraseña, ya que es prácticamente imposible de adivinar o forzar.

  1. Genera un par de claves en tu ordenador local:
    ssh-keygen -t rsa -b 4096
    
    Esto creará dos archivos: id_rsa (clave privada, nunca la compartas) e id_rsa.pub (clave pública).
  2. Copia la clave pública a tu servidor:
    ssh-copy-id -p [puerto_ssh] tuusuario@tudominio.com
    
  3. Desactiva el inicio de sesión por contraseña: En /etc/ssh/sshd_config, cambia PasswordAuthentication yes a PasswordAuthentication no.
  4. Reinicia SSH.

[INFO] Si pierdes tu clave privada, perderás el acceso a tu servidor. Guárdala en un lugar seguro y considera tener una copia de seguridad cifrada.


4. Protege el panel de DirectAdmin

El panel de control es el corazón de tu servidor. Si alguien accede a él, puede cambiar configuraciones, crear usuarios, instalar malware, etc.

Cambia el puerto de acceso por defecto

Ya lo explicamos en el punto 2, pero insisto: cambia el puerto 2222. Es uno de los primeros puertos que los atacantes escanean.

Activa la autenticación de dos factores (2FA)

DirectAdmin ofrece soporte para 2FA, lo que añade una capa extra de seguridad. Incluso si alguien obtiene tu contraseña, necesitará un código temporal de tu teléfono para acceder.

  1. Ve a tu perfil de usuario en DirectAdmin (esquina superior derecha -> "User Profile").
  2. Busca la sección de "Two-Factor Authentication" y actívala.
  3. Escanea el código QR con una aplicación como Google Authenticator o Authy.
  4. Guarda los códigos de respaldo en un lugar seguro.

Limita el acceso por IP

Puedes configurar DirectAdmin para que solo acepte conexiones desde direcciones IP específicas. Esto es ideal si siempre accedes desde tu casa o desde una oficina fija.

  • Desde el archivo de configuración: En /usr/local/directadmin/conf/directadmin.conf, añade la línea:

    security=1
    

    Luego, crea o edita el archivo /usr/local/directadmin/data/admin/ip_allow.list y añade las IPs permitidas (una por línea). Reinicia DirectAdmin.

  • Desde CSF: También puedes crear reglas específicas en CSF para permitir solo ciertas IPs al puerto de DirectAdmin.

[WARNING] Si te equivocas al configurar la lista de IPs permitidas, puedes quedarte fuera de tu panel. Asegúrate de incluir tu IP actual antes de aplicar los cambios.


5. Gestiona las cuentas de usuario y sus permisos

Cada sitio web o aplicación en tu servidor suele tener su propio usuario. Es fundamental aplicar el principio de mínimo privilegio: cada usuario debe tener solo los permisos necesarios para realizar su trabajo.

Crea usuarios separados para cada sitio

No uses el usuario admin para todo. Crea un usuario por cada cliente o proyecto.

  • En DirectAdmin: Ve a Admin Level -> User Management -> Create User. Asigna un nombre de usuario, contraseña, dominio y paquete de recursos.

Revoca permisos innecesarios

  • Shell Access: A menos que sea estrictamente necesario, no des acceso a shell (terminal) a los usuarios. Esto limita su capacidad de ejecutar comandos en el servidor.
  • Acceso a bases de datos remotas: Por defecto, las bases de datos solo deberían ser accesibles desde localhost (el propio servidor). No abras puertos de bases de datos al exterior.
  • Acceso a archivos del sistema: Los usuarios no deben poder leer archivos de configuración del sistema o de otros usuarios.

Establece políticas de contraseñas seguras

DirectAdmin permite forzar el uso de contraseñas complejas. Ve a Admin Level -> Admin Settings -> Security y configura:

  • Longitud mínima (al menos 12 caracteres).
  • Incluir mayúsculas, minúsculas, números y símbolos.
  • Caducidad periódica de contraseñas (por ejemplo, cada 90 días).

6. Protege el correo electrónico

El correo es una de las funciones más atacadas. Los servidores mal configurados pueden ser utilizados para enviar spam o sufrir ataques de phishing.

Activa DKIM, SPF y DMARC

Estos son registros DNS que autentican tus correos y evitan que sean marcados como spam o suplantados.

  • DKIM (DomainKeys Identified Mail): Firma digitalmente tus correos.
  • SPF (Sender Policy Framework): Indica qué servidores están autorizados a enviar correo en nombre de tu dominio.
  • DMARC (Domain-based Message Authentication, Reporting & Conformance): Define qué hacer si un correo falla las verificaciones DKIM y SPF.

En DirectAdmin, puedes gestionar estos registros desde Admin Level -> DNS Management o desde el panel de cada usuario.

Limita el envío de correo por hora

Para evitar que una cuenta comprometida envíe spam masivo, configura un límite de envío por hora.

  • En Exim (el MTA por defecto): Edita el archivo /etc/exim.conf y busca la sección de límites. Puedes añadir algo como:
    # Límite de 200 correos por hora por usuario
    acl_not_smtp:
    deny message = Too many messages per hour
    condition = ${if > {${eval:${lookup{$authenticated_id}lsearch{/etc/exim/limits}{$value}{0}}}}{200}{yes}{no}}
    
    (Esta es una configuración avanzada; si no te sientes seguro, busca ayuda profesional).

Monitorea las colas de correo

Revisa periódicamente si hay correos acumulados en la cola de entrega. Una cola grande puede indicar que alguien está usando tu servidor para enviar spam.

  • En DirectAdmin: Ve a Admin Level -> Mail Queue.
  • Por SSH: Ejecuta exim -bp para ver la cola.

7. Realiza copias de seguridad periódicas

Aunque no es una medida de seguridad preventiva, tener copias de seguridad actualizadas es esencial para la recuperación ante desastres (como un ataque de ransomware o un error humano).

Configura copias de seguridad automáticas en DirectAdmin

  1. Ve a Admin Level -> Admin Settings -> Backup/Restore.
  2. Configura la frecuencia: Diaria, semanal, etc.
  3. Elige el destino: Puedes guardar las copias en el mismo servidor, en un FTP externo, en Amazon S3, etc. Siempre es mejor tener una copia fuera del servidor.
  4. Selecciona qué incluir: Bases de datos, cuentas de usuario, configuraciones, etc.

Prueba tus copias de seguridad

No sirve de nada tener una copia si no puedes restaurarla. Realiza pruebas de restauración periódicas en un entorno de prueba o en un servidor secundario.

[TIP] Programa las copias de seguridad en horas de bajo tráfico para no afectar el rendimiento del servidor.


8. Monitorea la actividad del servidor

La detección temprana de actividad sospechosa puede evitar un desastre. DirectAdmin ofrece algunas herramientas, pero puedes complementarlas con otras.

Revisa los logs de acceso

  • Log de DirectAdmin: /var/log/directadmin/error.log y /var/log/directadmin/security.log.
  • Log de SSH: /var/log/secure (en sistemas Red Hat) o /var/log/auth.log (en Debian/Ubuntu).
  • Log de Apache/Nginx: /var/log/httpd/ o /var/log/nginx/.
  • Log de correo: /var/log/maillog.

Busca patrones como múltiples intentos fallidos de inicio de sesión, accesos desde IPs desconocidas, o peticiones a archivos sensibles.

Utiliza herramientas de monitorización

  • CSF ya incluye alertas por correo cuando detecta intentos de intrusión.
  • Instala un monitor de integridad de archivos (AIDE, Tripwire): Te alertará si algún archivo del sistema es modificado sin autorización.
  • Usa servicios externos como Fail2ban (aunque CSF ya hace algo similar) o soluciones más avanzadas como Wazuh.

9. Mantén el software de tus sitios web actualizado

No solo el servidor debe estar actualizado. Las aplicaciones que

¿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