DirectAdmin: Cambiar el puerto SSH por defecto
¿Por qué deberÃas cambiar el puerto SSH por defecto en DirectAdmin?
Cuando instalas un servidor con DirectAdmin, el servicio SSH (Secure Shell) se configura automáticamente para escuchar en el puerto 22, que es el estándar mundial. Este puerto es conocido por todos, incluidos los atacantes informáticos. Cada dÃa, millones de bots escanean internet buscando servidores con el puerto 22 abierto para intentar acceder mediante fuerza bruta o explotar vulnerabilidades.
Cambiar el puerto SSH por defecto es una de las medidas de seguridad más básicas y efectivas que puedes implementar. Aunque no es una solución definitiva, reduce drásticamente el ruido de ataques automatizados, ya que los bots suelen centrarse exclusivamente en el puerto 22. Al mover SSH a un puerto no estándar, dificultas que los escáneres automáticos te encuentren fácilmente.
En este artÃculo te explicaré paso a paso cómo cambiar el puerto SSH en un servidor gestionado con DirectAdmin, qué precauciones debes tomar y cómo solucionar los problemas más comunes. No necesitas ser un experto en Linux para seguir esta guÃa, solo tener acceso al panel de control y a la terminal.
Antes de empezar: requisitos y precauciones
Requisitos previos
Para realizar este cambio necesitarás:
- Acceso al panel de DirectAdmin como administrador (usuario
admin). - Acceso a la terminal del servidor vÃa SSH (aunque parezca paradójico, necesitas entrar por el puerto actual para cambiarlo).
- Conocimientos básicos de edición de archivos con
nanoovi. - Tener a mano las credenciales de root o de un usuario con privilegios sudo.
Precauciones importantes
[!WARNING]
Si cometes un error al configurar el nuevo puerto y no abres el firewall correctamente, podrÃas quedarte bloqueado fuera de tu propio servidor. Asegúrate de tener un método alternativo de acceso, como el panel de control de tu proveedor de hosting (VPS) que te permita acceder por consola web.
[!TIP]
Antes de cambiar el puerto SSH, es recomendable que te conectes por SSH y dejes una sesión abierta mientras haces los cambios. Si algo falla, podrás revertir la configuración desde esa sesión activa sin necesidad de reconectarte.
Paso 1: Elegir un nuevo puerto seguro
No todos los puertos son adecuados para SSH. Debes elegir un número que:
- Esté entre 1024 y 65535 (los puertos por debajo de 1024 requieren privilegios especiales).
- No esté en uso por otro servicio (por ejemplo, 80 para HTTP, 443 para HTTPS, 3306 para MySQL, etc.).
- Sea fácil de recordar pero no obvio (evita 2222, 22222 o 2022, que son los alternativos más conocidos).
Algunas opciones recomendadas son: 4822, 65123, 31000 o cualquier número aleatorio en el rango alto. Cuanto más alto y menos común, mejor.
[!INFO]
Algunos proveedores de hosting gestionado bloquean puertos no estándar en su red. Consulta con tu proveedor si tienes dudas sobre si el puerto que has elegido está permitido.
Paso 2: Editar el archivo de configuración de SSH
El archivo de configuración principal de SSH en sistemas Linux es /etc/ssh/sshd_config. DirectAdmin no modifica este archivo directamente, por lo que puedes editarlo con total libertad.
Conectarse al servidor
Abre tu terminal y conéctate a tu servidor con el usuario root o un usuario con permisos sudo:
ssh root@tu-servidor.com
Abrir el archivo de configuración
Una vez dentro, ejecuta:
nano /etc/ssh/sshd_config
Si prefieres usar vi, puedes hacerlo también. Busca la lÃnea que dice:
#Port 22
Elimina la almohadilla (#) al inicio y cambia el número:
Port 65123
Guardar y salir
En nano, pulsa Ctrl + O para guardar y Ctrl + X para salir. En vi, escribe :wq y pulsa Enter.
Paso 3: Abrir el nuevo puerto en el firewall
Este es el paso más crÃtico de todo el proceso. DirectAdmin suele integrarse con el firewall del sistema, que puede ser CSF (ConfigServer Security & Firewall) o el firewall nativo de Linux (iptables/nftables).
Si usas CSF (el más común en servidores DirectAdmin)
Accede al panel de DirectAdmin como administrador y navega hasta Administración de plugins o Configuración del servidor. Busca la opción de Firewall (CSF).
Alternativamente, desde la terminal:
nano /etc/csf/csf.conf
Busca la lÃnea que dice TCP_IN y añade tu nuevo puerto a la lista, separado por comas:
TCP_IN = "20,21,25,53,80,110,143,443,465,587,993,995,65123"
Guarda el archivo y reinicia CSF:
csf -r
[!WARNING]
No olvides este paso. Si no abres el puerto en el firewall, el servidor seguirá escuchando en el nuevo puerto pero el firewall bloqueará todas las conexiones entrantes, dejándote sin acceso SSH.
Si usas iptables directamente
Ejecuta:
iptables -A INPUT -p tcp --dport 65123 -j ACCEPT
service iptables save
service iptables restart
Paso 4: Reiniciar el servicio SSH
Con el archivo editado y el firewall configurado, es hora de reiniciar el servicio SSH para que los cambios surtan efecto.
Desde la terminal:
systemctl restart sshd
O en sistemas más antiguos:
service sshd restart
[!WARNING]
Al reiniciar SSH, la sesión actual se mantendrá activa, pero no podrás crear nuevas conexiones en el puerto 22. Si tienes una sesión abierta, úsala para probar la nueva conexión desde otra terminal antes de cerrarla.
Paso 5: Probar la nueva conexión SSH
Desde tu ordenador local, intenta conectarte al nuevo puerto:
ssh -p 65123 root@tu-servidor.com
Si la conexión es exitosa, verás el prompt de acceso normal. Si falla, revisa:
- Que el puerto esté correctamente escrito en el archivo de configuración.
- Que el firewall tenga abierto el puerto.
- Que el servicio SSH se haya reiniciado correctamente.
[!TIP]
Si algo falla y no puedes conectarte, usa la consola web de tu proveedor de hosting para acceder al servidor y revertir los cambios en el archivo de configuración.
Paso 6: Actualizar la configuración en DirectAdmin
DirectAdmin no necesita una configuración especÃfica para el nuevo puerto SSH, pero es recomendable actualizar la información en el panel para que las herramientas de diagnóstico y monitoreo funcionen correctamente.
Accede a DirectAdmin como administrador, ve a Configuración del servidor y busca la opción Configuración de SSH. Indica el nuevo puerto en el campo correspondiente y guarda los cambios.
Paso 7: Configurar el acceso por clave SSH (opcional pero recomendado)
Cambiar el puerto es solo el primer paso. Para una seguridad SSH realmente sólida, te recomiendo desactivar la autenticación por contraseña y usar solo claves SSH.
En el mismo archivo /etc/ssh/sshd_config, busca y modifica:
PasswordAuthentication no
PubkeyAuthentication yes
Guarda, reinicia SSH y asegúrate de tener tu clave pública instalada en ~/.ssh/authorized_keys antes de hacer este cambio.
[!WARNING]
Si desactivas la autenticación por contraseña sin tener una clave configurada, te quedarás sin acceso SSH. Hazlo solo si estás seguro de que tu clave funciona.
Solución de problemas comunes
No puedo conectarme después del cambio
Si tras reiniciar SSH no puedes acceder, verifica:
- El firewall:
csf -loiptables -L -npara ver las reglas. - El servicio:
systemctl status sshdpara ver si está activo. - El puerto:
netstat -tlnp | grep sshpara confirmar que SSH escucha en el nuevo puerto.
El firewall bloquea mi IP por intentos fallidos
CSF tiene protección contra fuerza bruta. Si fallas varias veces al conectar, tu IP puede ser bloqueada automáticamente. Para desbloquearla:
csf -a tu-ip
O desde DirectAdmin, en la interfaz de CSF, añade tu IP a la lista blanca.
DirectAdmin muestra alertas de seguridad
Algunas versiones de DirectAdmin pueden mostrar alertas si detectan que SSH no está en el puerto 22. Esto es normal y no afecta al funcionamiento. Puedes ignorarlo o actualizar la configuración en el panel como se explicó en el paso 6.
Preguntas frecuentes (FAQ)
¿Es obligatorio cambiar el puerto SSH?
No es obligatorio, pero es altamente recomendable. Es una capa extra de seguridad que, combinada con claves SSH y autenticación de dos factores, hace que tu servidor sea mucho más difÃcil de comprometer.
¿Puedo usar cualquier número de puerto?
Técnicamente sÃ, pero evita puertos reservados o muy conocidos. Los puertos por debajo de 1024 requieren privilegios de root y algunos rangos están reservados para servicios especÃficos.
¿Afecta esto a otros servicios como FTP o SFTP?
No, el cambio solo afecta al servicio SSH. SFTP usa el mismo puerto que SSH, por lo que también cambiará. FTP (puerto 21) no se ve afectado.
¿Necesito cambiar algo en mis clientes FTP o de conexión?
SÃ, cualquier cliente que se conecte por SFTP o SSH deberá actualizar el puerto. Por ejemplo, en FileZilla deberás indicar el nuevo puerto en la configuración de conexión.
¿Qué pasa si uso Syspanel (HestiaCP) en lugar de DirectAdmin?
Si usas Syspanel (el antiguo HestiaCP), el proceso es muy similar. La principal diferencia es que el panel de control de Syspanel se accede por el puerto 2106 y la configuración del firewall puede variar ligeramente. En Syspanel, el archivo de configuración SSH es el mismo (/etc/ssh/sshd_config) y el proceso de edición y reinicio es idéntico.
¿Puedo cambiar el puerto SSH desde el panel de DirectAdmin?
DirectAdmin no tiene una opción nativa para cambiar el puerto SSH, por lo que necesitas hacerlo manualmente vÃa terminal. Sin embargo, puedes gestionar el firewall y las reglas de acceso desde el panel.
Conclusión
Cambiar el puerto SSH por defecto es una acción sencilla pero poderosa para mejorar la seguridad de tu servidor. Aunque no detiene a atacantes determinados, elimina la gran mayorÃa de ataques automatizados que buscan explotar el puerto 22.
Recuerda siempre:
- Elegir un puerto alto y poco común.
- Abrir ese puerto en el firewall antes de reiniciar SSH.
- Probar la nueva conexión antes de cerrar la sesión actual.
- Combinar este cambio con claves SSH y desactivar la autenticación por contraseña.
Siguiendo estos pasos, tu servidor DirectAdmin será mucho más seguro y estarás un paso más cerca de una configuración robusta y profesional. Si encuentras algún problema durante el proceso, no dudes en consultar la documentación oficial de DirectAdmin o contactar con tu proveedor de hosting para obtener asistencia adicional.
