Come posso registrare la porta SSH in avanti?


8

Supponiamo di avere un server SSH, con il port forwarding abilitato. È abbastanza semplice per un utente impostare una connessione SSH e inoltrare il traffico BitTorrent o altro traffico illegale o offensivo su di esso. Come posso impostare la registrazione per registrare quali port forwarding gli utenti fanno?


Per qualsiasi ragionevole livello di sicurezza, devi assicurarti che lo stesso livello di registrazione sia disponibile in tutti gli altri programmi sul tuo sistema che potrebbero essere utilizzati per inoltrare il traffico, compresi i programmi che gli utenti scrivono / compilano.
Alex Holst,

2
Se non ti fidi di qualcuno, sarebbe quasi sicuramente meglio non dare loro l'accesso alla tua rete.
Zoredache,

@Zoredache Quindi la risposta è non dare a nessuno l'accesso alla tua rete?
rox0r,

Risposte:



2

Sto ponendo una domanda qui Come può un processo host SSH rilevare quali porte sono state inoltrate dal client (-R non -L) per trovare un modo più elegante di fare la stessa cosa.

Tuttavia, poiché non sembra che ci sia un modo migliore, lo faccio con lsof:

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

99999 è il PID della sshdgestione della connessione a cui sei interessato.

Esistono alcuni modi per utilizzare questo snippet. O hai un processo di lunga durata che cerca nuove istanze di sshde poi le introspetta usando il comando sopra, oppure aggiungi un prefisso a tutte le .ssh/authorized_keysvoci con un comando personalizzato che lo fa, lo registra da qualche parte, quindi execil comando originale previsto ( SSH_ORIGINAL_COMMANDo la shell di login nella maggior parte casi).


0

potresti provare WireShark . Onestamente non sono sicuro che farà esattamente quello che vuoi, ma può sicuramente determinare cosa stanno facendo gli utenti sulla rete. Spiceworks è un'altra opzione gratuita


0

netstat, psE alcuni cuting & greping intelligente. Netstat può darti l'ID del programma e ps può darti l'utente.

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

nel frattempo dall'altra parte della console

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!

Ovviamente non conoscerai la porta specificata in grep, grep è qui per limitare il mio output

e

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

et voilà! sai che l'utente "user" sta reindirizzando la porta 12345 usando sshd

script e cron qualcosa usando questo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.