DirectAdmin: cómo cambiar el puerto SSH para mayor seguridad
¿Cansado de que tu servidor reciba intentos de acceso por el puerto estándar 22? Es una situación muy común, y cambiar el puerto SSH en tu panel DirectAdmin es una de las medidas de seguridad más efectivas y sencillas que puedes aplicar. No te preocupes, no necesitas ser un experto en sistemas para hacerlo; te guiaré paso a paso para que lo completes en pocos minutos. Al final, tu servidor será mucho menos visible para los bots y atacantes automáticos.
¿Por qué es tan importante cambiar el puerto SSH?
Imagina que tu servidor es una casa y el puerto 22 es la puerta principal. Todo el mundo sabe dónde está esa puerta, y los ladrones (bots y atacantes) la prueban constantemente. Cambiar la puerta a un lugar menos conocido no hace tu casa impenetrable, pero reduce drásticamente el número de personas que intentarán entrar por ella. Al cambiar el puerto SSH de tu DirectAdmin, dejas de jugar al escondite con los scripts automatizados que escanean Internet en busca de puertos abiertos. Es una capa de seguridad esencial, especialmente si tu servidor tiene una IP pública.
Preparación antes de empezar
Antes de tocar nada, es fundamental que te asegures de tener acceso al servidor de otra forma. Si cometes un error al cambiar el puerto, podrías quedarte fuera de tu propio servidor. Por eso, sigue esta lista de verificación:
- Acceso alternativo: Asegúrate de tener acceso a tu panel de control de hosting (el que te da tu proveedor, como cPanel o Plesk) que te permita abrir una consola web o un visor VNC. Esto es tu red de seguridad.
- Conexión actual: Ten abierta una sesión SSH activa en otra ventana. No la cierres hasta que hayas verificado que el nuevo puerto funciona. Esto te permitirá revertir los cambios si algo sale mal.
- Conocimiento básico: Aunque te guiaré, necesitas saber cómo editar un archivo en Linux. Usaremos el editor
nano, que es el más amigable para principiantes.
Paso 1: Acceder a tu servidor por SSH
Para comenzar, necesitas conectarte a tu servidor. Abre tu terminal (en Mac o Linux) o usa un programa como PuTTY (en Windows). Conéctate usando la dirección IP de tu servidor y el puerto actual (22).
ssh root@tu_ip_del_servidor
Te pedirá tu contraseña. Escríbela y presiona Enter. Ya estás dentro.
Paso 2: Localizar y editar el archivo de configuración de SSH
El archivo que controla el comportamiento del servidor SSH se llama sshd_config. Vamos a editarlo con nano.
Escribe este comando y presiona Enter:
nano /etc/ssh/sshd_config
Verás un montón de texto. No te asustes, solo vamos a modificar una línea. Usa las flechas del teclado para desplazarte hasta la línea que dice #Port 22. Es probable que esté comentada (empiece con #). La línea exacta puede variar ligeramente, pero busca algo similar.
Paso 3: Cambiar el número de puerto
Ahora viene la parte clave. Vamos a cambiar el número 22 por el puerto que queramos. ¿Qué número elegir?
- Elige un número alto: Los puertos van del 1 al 65535. Los puertos por debajo de 1024 requieren privilegios especiales. Te recomiendo elegir un número entre el 1024 y el 65535, pero que no sea muy común.
- Evita puertos conocidos: No uses puertos como 80 (web), 443 (web segura), 21 (FTP), 3306 (MySQL), etc. Usa uno aleatorio, como
2200,4567o7890. - Un consejo: Elige un número que puedas recordar fácilmente, pero que no sea obvio.
Para descomentar la línea y cambiar el puerto, borra el # del principio y cambia el número. Por ejemplo, si quieres usar el puerto 2200, la línea debería quedar así:
Port 2200
Guarda los cambios en nano presionando Ctrl + O (la letra O, no el número cero), luego presiona Enter para confirmar, y sal del editor con Ctrl + X.
Paso 4: Configurar el firewall de DirectAdmin
Este paso es CRÍTICO. Si no abres el nuevo puerto en el firewall, no podrás conectarte. DirectAdmin tiene su propio gestor de firewall, así que lo haremos desde la línea de comandos para ser más precisos.
-
Agregar la regla de entrada: Ejecuta este comando para permitir el tráfico entrante en tu nuevo puerto (ejemplo, 2200):
iptables -A INPUT -p tcp --dport 2200 -j ACCEPT -
Eliminar la regla del puerto antiguo: Ahora, para que nadie pueda usar el puerto 22, lo bloqueamos. Ejecuta:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT[WARNING]: Este comando elimina la regla que permitía el acceso por el puerto 22. Si tu firewall tiene otras reglas, es posible que el puerto 22 quede bloqueado. Asegúrate de haber añadido la regla del nuevo puerto antes de ejecutar este paso.
-
Guardar las reglas del firewall: Para que los cambios persistan tras un reinicio, necesitas guardarlos. El comando puede variar según el sistema, pero generalmente es:
service iptables saveo si usas
firewalld:firewall-cmd --permanent --add-port=2200/tcp firewall-cmd --reloadSi no estás seguro de cuál usar, prueba el primero. Si te da un error, prueba el segundo.
Paso 5: Reiniciar el servicio SSH
Con la configuración y el firewall listos, es momento de aplicar los cambios. Reinicia el servicio SSH con este comando:
service sshd restart
O si usas systemd (la mayoría de las distribuciones modernas):
systemctl restart sshd
[TIP]: Si este comando te da un error, es probable que haya un problema de sintaxis en el archivo de configuración. Vuelve a revisar el paso 3 y asegúrate de que la línea
Port 2200no tenga espacios extra al principio.
Paso 6: Probar la nueva conexión SSH
Este es el momento de la verdad. Abre una nueva ventana de terminal e intenta conectarte usando el nuevo puerto. No cierres la sesión antigua todavía.
ssh -p 2200 root@tu_ip_del_servidor
Si la conexión es exitosa, ¡felicidades! Has cambiado correctamente el puerto SSH. Ahora sí puedes cerrar la sesión antigua.
Si la conexión falla, no entres en pánico. Vuelve a la sesión antigua que dejaste abierta y revisa los pasos anteriores. Asegúrate de que el firewall esté bien configurado y que el puerto en el archivo sshd_config sea correcto.
Cambiar el puerto SSH en el panel de DirectAdmin
Además de la línea de comandos, DirectAdmin también te permite cambiar el puerto SSH desde su interfaz gráfica. Es una alternativa más visual y fácil de recordar.
- Inicia sesión en tu panel de control de DirectAdmin.
- Ve a la sección "Cuenta" o "Administración de Servidor" (dependiendo de tu nivel de acceso).
- Busca la opción "Configuración de SSH" o "SSH Access". Puede estar dentro de un menú llamado "Servicios" o "Gestión de Servidor".
- Verás un campo para el "Puerto SSH". Ingresa el mismo número que configuraste en la línea de comandos (ejemplo, 2200).
- Guarda los cambios. DirectAdmin se encargará de actualizar la configuración y el firewall automáticamente.
[INFO]: Si tu plan de hosting no te permite cambiar el puerto SSH desde el panel, siempre puedes usar el método de la línea de comandos que te expliqué antes. Es igual de válido y efectivo.
Configuraciones adicionales para reforzar tu seguridad
Cambiar el puerto es un gran primer paso, pero no es la única medida. Aquí tienes otras recomendaciones para blindar tu servidor:
- Deshabilitar el acceso root por SSH: Es más seguro crear un usuario con permisos
sudoy usar ese para conectarte. Para deshabilitar el acceso root, busca la líneaPermitRootLoginen el archivosshd_configy cámbiala ano. Luego reinicia el servicio. - Usar autenticación por clave pública: Es mucho más seguro que las contraseñas. Generas un par de llaves (pública y privada), colocas la pública en el servidor y te conectas con la privada. Es casi imposible de hackear.
- Instalar un software de bloqueo de IPs: Herramientas como
fail2banmonitorean los intentos de conexión fallidos y bloquean automáticamente las IPs que hagan demasiados. Es una barrera extra muy efectiva.
Preguntas frecuentes (FAQ)
¿Qué pasa si olvido el nuevo puerto SSH?
Si has configurado el firewall, el acceso por el puerto 22 estará bloqueado. Deberás acceder a través del panel de control de tu proveedor de hosting (consola web) para revisar el archivo sshd_config y ver el número que configuraste.
¿Es seguro usar cualquier número de puerto?
Sí, pero es mejor evitar puertos que ya estén en uso por otros servicios. Usa un número aleatorio por encima del 1024.
¿Puedo cambiar el puerto SSH en Syspanel también?
Syspanel, al igual que DirectAdmin, tiene su propio gestor. En Syspanel, el acceso se realiza por el puerto 2106 de forma predeterminada. Aunque no es para SSH, es un dato útil para tener en cuenta si usas ese panel.
¿Cuánto tiempo tarda en hacer efecto el cambio de puerto?
El cambio es inmediato después de reiniciar el servicio SSH y guardar las reglas del firewall.
¿Debo informar a mi proveedor de hosting sobre el cambio de puerto?
No es obligatorio, pero es una buena práctica. Algunos proveedores pueden tener reglas de firewall externas que bloqueen puertos no estándar. Si tienes problemas para conectarte desde fuera de tu red, contacta con tu proveedor.
¿Puedo revertir el cambio si tengo problemas?
Sí. Solo tienes que volver a editar el archivo sshd_config, cambiar el puerto de nuevo a 22, actualizar el firewall y reiniciar el servicio. Siempre que tengas acceso al servidor por otro medio, puedes revertir cualquier cambio.
Conclusión
Cambiar el puerto SSH en DirectAdmin es una tarea sencilla que tiene un gran impacto en la seguridad de tu servidor. Siguiendo estos pasos, has reducido significativamente tu superficie de ataque. No te detengas aquí; aplica las configuraciones adicionales que te mencioné para tener una protección robusta y en capas. La seguridad es un proceso continuo, y cada paso que das cuenta.
Si en algún momento te sientes perdido, recuerda que la sesión SSH que dejaste abierta al principio es tu salvavidas. Vuelve a ella, revisa los pasos y no tengas miedo de pedir ayuda a tu proveedor de hosting. ¡Tu servidor te lo agradecerá!
