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?
ssh
ssh-tunnel
interfecto
fuente
fuente
Respuestas:
He usado el parche en esta página web (ligeramente alterado) http://blog.rootshell.be/2009/03/01/keep-an-eye-on-ssh-forwarding/ para registrar el puerto ssh hacia adelante.
fuente
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 [email protected] -Fn -p99999 | grep "^n" | grep -v '\->' | awk -F: '{print $NF}' | sort | uniq
99999 es el PID del
sshd
manejo 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
sshd
y luego las introspectivas utilizando el comando anterior, o prefija todas las.ssh/authorized_keys
entradas con un comando personalizado que hace esto, lo registra en alguna parte, luegoexec
el comando original previsto (SSH_ORIGINAL_COMMAND
o el shell de inicio de sesión en la mayoría casos).fuente
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
fuente
netstat
,ps
y algunos cortes y greping inteligentes. Netstat puede proporcionarle los ID del programa y ps puede proporcionarle el usuario.mientras tanto en el otro lado de la consola
Por supuesto, no conocerá el puerto especificado en grep, grep está aquí para restringir mi salida
y
et voila! sabes que el usuario "usuario" está redirigiendo el puerto 12345 usando sshd
script y cron algo usando esto
fuente