¿Cómo registro el puerto SSH hacia adelante?


8

Digamos que tengo un servidor SSH, con el reenvío de puertos habilitado. Es bastante simple para un usuario configurar una conexión SSH y reenviar tráfico BitTorrent u otro tráfico ilegal o abusivo sobre él. ¿Cómo puedo configurar el registro para registrar qué puertos de reenvío hacen los usuarios?


Para cualquier nivel razonable de seguridad, deberá asegurarse de que el mismo nivel de registro esté disponible en todos los demás programas en su sistema que podrían usarse para reenviar tráfico, incluidos los programas que los usuarios escriben / compilan ellos mismos.
Alex Holst

2
Si no confías en alguien, es casi seguro que sea mejor no darle acceso a tu red.
Zoredache

@Zoredache ¿Entonces la respuesta es no dar acceso a nadie a su red?
rox0r

Respuestas:



2

Estoy haciendo una pregunta aquí. ¿Cómo puede un proceso de host SSH detectar qué puertos ha reenviado el cliente (-R no -L) para encontrar una manera más elegante de hacer lo mismo?

Sin embargo, dado que no parece que haya una mejor manera, lo hago con lsof:

sudo lsof -aPni@127.0.0.1 -Fn -p99999 | grep "^n" | grep -v '\->' | awk -F: '{print $NF}' | sort | uniq

99999 es el PID del sshdmanejo de la conexión que le interesa.

Hay algunas formas de hacer uso de este fragmento. O tiene un proceso de larga duración que busca nuevas instancias sshdy luego las introspectivas utilizando el comando anterior, o prefija todas las .ssh/authorized_keysentradas con un comando personalizado que hace esto, lo registra en alguna parte, luego execel comando original previsto ( SSH_ORIGINAL_COMMANDo el shell de inicio de sesión en la mayoría casos).


0

Podrías probar Wirehark . Sinceramente, no estoy seguro de si hará específicamente lo que desea, pero ciertamente puede determinar qué están haciendo los usuarios en la red. Spiceworks es otra opción gratuita


0

netstat, psy algunos cortes y greping inteligentes. Netstat puede proporcionarle los ID del programa y ps puede proporcionarle el usuario.

user@myhome:~$ ssh user@some.server -R 12345:other.server:22

mientras tanto en el otro lado de la consola

root@some.server# netstat -plnt | grep 12345
tcp        0      0 127.0.0.1:12345         0.0.0.0:*               LISTEN     12998/15            
tcp6       0      0 ::1:12345               :::*                    LISTEN     12998/15 
                                                                                 ^ PID!

Por supuesto, no conocerá el puerto especificado en grep, grep está aquí para restringir mi salida

y

ps -aux | grep 12998 # the PID
user   12998  0.0  0.1   6624  1920 ?        S    07:57   0:00 sshd: user@pts/15

et voila! sabes que el usuario "usuario" está redirigiendo el puerto 12345 usando sshd

script y cron algo usando esto

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.