Скажем, у меня есть 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 что-то используя это