He notado que muchos administradores cambian el puerto ssh predeterminado. ¿Hay alguna razón racional para hacerlo?
La razón más probable es hacer que sea más difícil para las personas que intentan forzar al azar cualquier inicio de sesión SSH que puedan encontrar. Mi máquina con conexión a Internet utiliza el puerto SSH predeterminado, y mis registros solían estar llenos de cosas como esta (extraídas de un archivo de registro real):
sshd[16359]: Invalid user test from 92.241.180.96
sshd[16428]: Invalid user oracle from 92.241.180.96
sshd[16496]: Invalid user backup from 92.241.180.96
sshd[16556]: Invalid user ftpuser from 92.241.180.96
sshd[16612]: Invalid user nagios from 92.241.180.96
sshd[16649]: Invalid user student from 92.241.180.96
sshd[16689]: Invalid user tomcat from 92.241.180.96
sshd[16713]: Invalid user test1 from 92.241.180.96
sshd[16742]: Invalid user test from 92.241.180.96
sshd[16746]: Invalid user cyrus from 92.241.180.96
sshd[16774]: Invalid user temp from 92.241.180.96
sshd[16790]: Invalid user postgres from 92.241.180.96
sshd[16806]: Invalid user samba from 92.241.180.96
En estos días uso DenyHosts para bloquear IP que no se autentican demasiadas veces, pero probablemente sea igual de fácil cambiar de puerto; prácticamente todos los ataques de fuerza bruta de este tipo no van a molestar al escaneo para ver si su sshd está escuchando en otro puerto, simplemente asumirán que no está ejecutando uno y continuarán
No, es una táctica de seguridad por oscuridad .
Si su configuración sshd no es lo suficientemente adecuada como para enfrentar a los niños tontos de script que solo prueban el puerto 22, de todos modos tiene un problema.
Una reacción más racional sería:
Algunas personas también pueden estar molestas por el ruido que sshd escribe en el registro del sistema, por ejemplo:
Jan 02 21:24:24 example.org sshd[28396]: Invalid user guest from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28396]: input_userauth_request: invalid user guest [preauth]
Jan 02 21:24:24 example.org sshd[28396]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth]
Jan 02 21:24:24 example.org sshd[28398]: Invalid user ubnt from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28398]: input_userauth_request: invalid user ubnt [preauth]
Jan 02 21:24:24 example.org sshd[28398]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth
Entonces podría ser tentador ocultar el puerto sshd o usar una solución de bloqueo automático (como DenyHosts, Fail2ban o BlockHosts) para aumentar nuevamente la relación señal / ruido .
Pero existen mejores alternativas. Por ejemplo, puede configurar su demonio syslog de modo que el ruido de registro sshd solo se escriba en, digamos, /var/log/sshd-attempts.log
y la señal (es decir, los mensajes de registro sshd restantes) se escriba en /var/log/messages
etc., como antes.
La implementación de herramientas de bloqueo automático debe considerarse cuidadosamente porque agregar más complejidad a los sistemas relevantes para la seguridad también significa aumentar el riesgo de explotación . Y, de hecho, a lo largo de los años, hay varios informes de vulnerabilidad DoS para cada DenyHosts , Fail2ban y BlockHosts .
Cambiar el puerto SSH es principalmente un teatro de seguridad . Te da una sensación borrosa de haber hecho algo. Has escondido el puerto SSH debajo del felpudo.
Si ejecuta un servidor SSH en Internet, verá muchos intentos fallidos de inicio de sesión en sus registros, desde bots que buscan contraseñas estúpidamente débiles, claves débiles y exploits conocidos en versiones anteriores del servidor. Los intentos fallidos son solo eso: intentos fallidos. En cuanto a evaluar qué tan vulnerable eres, son completamente irrelevantes. De lo que debe preocuparse es de los intentos exitosos de intrusión, y no los verá en sus registros.
Cambiar el puerto predeterminado reducirá la cantidad de visitas de dichos bots, pero eso solo frustra a los atacantes menos sofisticados que son detenidos por cualquier seguridad decente (actualizaciones de seguridad aplicadas regularmente, contraseñas razonablemente seguras o autenticación de contraseña deshabilitada). La única ventaja es reducir el volumen de registros. Si eso es un problema, considere algo como Denyhosts o Fail2ban para limitar la velocidad de conexión, también hará que su ancho de banda sea bueno.
Cambiar el puerto predeterminado tiene una gran desventaja: hace que sea menos probable que pueda iniciar sesión desde detrás de un firewall. Es más probable que los firewalls dejen pasar los servicios en su puerto predeterminado que en algún otro puerto aleatorio. Si no está ejecutando un servidor HTTPS, considere hacer que SSH escuche también en el puerto 443 (o redirija las solicitudes TCP entrantes desde el puerto 443 al puerto 22), ya que algunos firewalls permiten el tráfico que no pueden decodificar en el puerto 443 porque parece como HTTPS