Bagaimana cara saya mencatat port SSH ke depan?

8

Katakanlah saya memiliki server SSH, dengan port forwarding diaktifkan. Ini cukup sederhana bagi pengguna untuk mengatur koneksi SSH dan meneruskan lalu lintas BitTorrent atau lalu lintas ilegal atau kasar lainnya. Bagaimana cara saya mengatur logging untuk mencatat port apa yang dibuat pengguna?

memotong
sumber
Untuk tingkat keamanan yang wajar, Anda harus memastikan tingkat pencatatan yang sama tersedia di semua program lain di sistem Anda yang dapat digunakan untuk meneruskan lalu lintas - termasuk program yang ditulis / dikompilasi sendiri oleh pengguna.
Alex Holst
2
Jika Anda tidak memercayai seseorang, hampir pasti lebih baik tidak memberi mereka akses ke jaringan Anda.
Zoredache
@Zoredache Jadi jawabannya adalah jangan beri siapa pun akses ke jaringan Anda?
rox0r

Jawaban:

2

Saya mengajukan pertanyaan di sini. Bagaimana proses host SSH mendeteksi port mana yang telah diteruskan oleh klien (-R bukan -L) untuk menemukan cara yang lebih elegan untuk melakukan hal yang sama.

Namun, karena sepertinya tidak ada cara yang lebih baik, saya melakukannya dengan lsof:

sudo lsof [email protected] -Fn -p99999 | grep "^n" | grep -v '\->' | awk -F: '{print $NF}' | sort | uniq

99999 adalah PID dari sshdpenanganan koneksi yang Anda minati.

Ada beberapa cara untuk menggunakan cuplikan ini. Entah memiliki proses jangka panjang yang mengawasi contoh baru sshddan kemudian mengintrospeksi mereka menggunakan perintah di atas, atau Anda mengawali semua .ssh/authorized_keysentri dengan perintah kustom yang melakukan ini, mencatatnya di suatu tempat, kemudian execperintah yang dimaksud asli ( SSH_ORIGINAL_COMMANDatau shell login di sebagian besar kasus).

Bo Jeanes
sumber
0

Anda mungkin mencoba wireshark . Jujur saya tidak yakin apakah itu akan melakukan secara spesifik apa yang Anda inginkan, tetapi tentu saja dapat menentukan apa yang dilakukan pengguna di jaringan. Spiceworks adalah opsi gratis lain

MaQleod
sumber
0

netstat, psdan beberapa pemotongan & greping yang pintar. Netstat dapat memberi Anda ID Program dan ps dapat memberi Anda pengguna.

user@myhome:~$ ssh [email protected] -R 12345:other.server:22

Sementara itu di sisi lain konsol

[email protected]# 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!

Tentu saja Anda tidak akan tahu port yang ditentukan dalam grep, grep ada di sini untuk membatasi output saya

dan

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

et voila! Anda tahu bahwa pengguna "pengguna" mengarahkan ulang port 12345 menggunakan sshd

script & cron menggunakan sesuatu ini

teis
sumber