¿Por qué ejecutar SSH en un puerto diferente?


31

Actualmente estoy aprendiendo sobre la instalación de Kippo SSH. Del tutorial, decía que debería reconfigurar el puerto SSH del 22 a un puerto diferente (que en este caso 3389). Entonces, cada vez que intento SSH desde un cliente, se conectará al puerto 3389.

Según el tutorial, la razón detrás de esto es que "no queremos que Kippo tenga acceso de root".

Mi pregunta es, ¿qué diferencia hay al ejecutar SSH desde el puerto 22 frente al puerto 3389?


8
No hay un concepto de redireccionamiento en SSH, por lo que encuentro un poco confuso sobre qué es lo que está preguntando. (No sé si esto es debido a que el tutorial has seguido no es clara, o si se debe a que omite cierta información esencial al escribir la pregunta.)
kasperd

44
No es una respuesta, pero vale la pena saberlo: el puerto TCP 3389 a menudo se usa para RDP. Quizás 3389 fue seleccionado para tratar de ser encontrado por personas que están escaneando para obtener acceso remoto.
TOOGAM


¿Qué tutorial estás viendo ... este o este u otra cosa?
david

@david usé este tutorial youtube.com/watch?v=OyBiIjrVXgk
Adam

Respuestas:


52

La mayoría de los servidores requieren acceso de root si desea abrir puertos inferiores a 1024.

Los números de puerto TCP / IP inferiores a 1024 son especiales porque los usuarios normales no pueden ejecutar servidores en ellos. Esta es una característica de seguridad, ya que si se conecta a un servicio en uno de estos puertos, puede estar bastante seguro de que tiene la cosa real, y no una falsificación que algún hacker ha preparado para usted.

Ver: https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html


1
Siento que esta pregunta se relaciona bien con esta respuesta: superuser.com/questions/710253/… (Porque después de leer la respuesta, la gente probablemente se hará esa pregunta)
Score_Under

29

¿Qué diferencia hay al ejecutar SSH desde el puerto 22 frente al puerto 3389?

Para vincularse a un puerto por debajo de 1024 (un puerto privilegiado), un proceso debe tener acceso de root. Al hacer que se vincule a 3389, no se requiere acceso raíz.


21

Una de las razones por las que he visto esto, es para reducir el registro de spam de los escáneres de contraseña. Entonces, si alguien está tratando de forzar contraseñas, sabes que es un intento selectivo en lugar de un driveby.


8

Al redirigir SSH a un puerto no estándar, está dificultando la vida de un hacker, ya que no estará 100% seguro de qué puerto está utilizando para acceder a su sistema.

Puerto 22: es el puerto predeterminado, como ya sabe. Pero si ha modificado esto a un puerto no estándar ... ahora tengo que ir y llevar a cabo un escaneo de puertos usando Nmap u otra herramienta para intentar detectar dónde está escuchando el servidor ssh ; esto aumenta las posibilidades de su IDS (Sistema de detección de intrusiones) para detectar este tipo de comportamiento malicioso, y puede permitirle comenzar a tomar contramedidas (como negar la dirección IP del objetivo).

Si bien es cierto que para CREAR un puerto de escucha por debajo de 1024, necesita acceso root: el sshd (el demonio ssh [servidor]) se habrá iniciado en el momento del arranque, y eso solo no impedirá que los usuarios priv / non-priv accedan al proceso ssh

Si desea detener ssh para root, y esto siempre es bueno detenerlo. Luego, ssh.config (cambia un poco en su nombre dependiendo del sistema operativo que se esté utilizando; sin embargo, busque en / etc / ssh /)

El valor que controla si una cuenta raíz puede iniciar sesión es

#PermitRootLogin no

Este valor y no el número de puerto, que por cierto se configura utilizando un valor como

#Port 22

Es cómo restringir.

Ssh es un mecanismo de comunicación fantástico, flexible y seguro, pero solo si se entiende y se usa correctamente.


Hay una diferencia entre ssh que le permite iniciar sesión como root y el mismo demonio ssh que necesita acceso a la raíz para que pueda abrir un puerto privilegiado. La pregunta se refiere al segundo de esos dos, no al primero.
Mike Scott

3

En general, hay dos razones principales por las que alguien puede querer ejecutar SSH escuchando en un puerto alto:

  • Como no es el puerto "estándar", es menos probable que los intentos aleatorios de entrar (botnets) se conecten a él
  • Si el número de puerto es superior a 1024, el daemon SSH tiene un "privilegio raíz" menos con el que debe confiarse

Además, si un dispositivo NAT se encuentra frente a varios servidores que ejecutan SSH, no puede asignar el puerto 22 a todos ellos, por lo que en ese caso podría configurarse, por ejemplo, para redirigir el puerto externo 10022 al servicio interno 192.0.2.10 : 22 y puerto externo 11022 a 192.0.2.11:22.

Sin embargo, en el caso de Kippo, lo que está instalando es un "honeypot SSH", un programa que se supone que se parece a una línea de comando SSH en un sistema utilizable pero que en realidad responde lentamente y no hace nada útil. Desea ejecutar eso tanto en el puerto SSH normal (22) como en un puerto alto de uso frecuente (2222); en realidad es más fácil ejecutarlo como usuario en el puerto alto y luego usarlo iptablespara redirigir el puerto bajo al puerto alto en el mismo host. También es posible usar netcat ( nc) o xinetd para configurar una redirección.

Para que Kippo escuche en el puerto bajo (ya sea directamente o mediante una redirección), el demonio SSH del sistema normal ya no puede estar escuchando allí. Además, para que su honeypot sea más creíble, no desea que el demonio del sistema escuche en otro puerto abierto "común".

Desde el punto de vista de la seguridad, sería más efectivo tirar los dados para elegir ese puerto alternativo, pero es poco probable que RDP escuche en un servidor Linux típico, por lo que si ya recuerda ese número de puerto, puede ser divertido trabajar con él. Otras opciones "interesantes" podrían ser algo como 5190 (AOL) o 1214 (KaZAA).


1
Sin darse cuenta (o mirar hacia arriba) qué es Kippo, no tenía sentido por qué un demonio ssh no sería root: si quiere autenticarse como cualquier usuario, debe mantener algunos permisos para convertirse en un usuario diferente. Pero esta respuesta deja en claro por qué es importante que no se ejecute como root.
chexum
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.