Назад | Перейти на главную страницу

Как мне зарегистрировать переадресацию порта SSH?

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

Я использовал патч на этой веб-странице (слегка измененный) http://blog.rootshell.be/2009/03/01/keep-an-eye-on-ssh-forwarding/ для переадресации порта ssh.

Я задаю вопрос здесь Как процесс хоста 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 или оболочка входа в систему в большинстве случаев).

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

netstat, ps и немного умной резки и грепинга. 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, он здесь, чтобы ограничить мой вывод

и

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 что-то используя это