Как я могу войти в порт SSH?


8

Скажем, у меня есть SSH-сервер с включенной переадресацией портов. Для пользователя довольно просто установить SSH-соединение и перенаправить трафик BitTorrent или другой незаконный или оскорбительный трафик по нему. Как я могу настроить ведение журнала, чтобы записать, какой порт перенаправляют пользователи?


Для любого разумного уровня безопасности вам необходимо убедиться, что один и тот же уровень ведения журнала доступен во всех других программах вашей системы, которые могут использоваться для пересылки трафика, включая программы, которые пользователи пишут / компилируют сами.
Алекс Холст

2
Если вы не доверяете кому-то, было бы лучше просто не предоставлять им доступ к вашей сети.
Зоредаче

@Zoredache Итак, ответ: не дать никому доступ к вашей сети?
rox0r

Ответы:



2

Я задаю здесь вопрос: как процесс хоста SSH может определить, какие порты были перенаправлены клиентом (-R, а не -L), чтобы найти более элегантный способ сделать то же самое.

Тем не менее, поскольку это не выглядит, как есть лучший способ, я делаю это с lsof:

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

99999 - это PID sshdобработки интересующего вас соединения.

Есть несколько способов использовать этот фрагмент. Либо у вас есть длительный процесс, который отслеживает новые экземпляры sshdи затем анализирует их, используя вышеупомянутую команду, либо вы добавляете к префиксам все .ssh/authorized_keysзаписи с помощью специальной команды, которая делает это, регистрирует ее где-то, а затем execисходную предполагаемую команду ( SSH_ORIGINAL_COMMANDили оболочку входа в большинстве случаев). случаев).


0

Вы можете попробовать Wireshark . Я, честно говоря, не уверен, что он будет делать именно то, что вы хотите, но он, безусловно, может определить, что пользователи делают в сети. Spiceworks - еще один бесплатный вариант


0

netstat, psИ некоторые умные и greping резка. Netstat может дать вам идентификаторы программ, а ps может дать вам пользователя.

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

тем временем в другой части консоли

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!

Конечно, вы не будете знать порт, указанный в grep, grep здесь для ограничения моего вывода

а также

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

и вуаля! вы знаете, что пользователь "пользователь" перенаправляет порт 12345 с помощью sshd

скрипт и cron что-то с помощью этого

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.