Apakah mungkin untuk mendaftarkan sesi ssh dengan info tty / pts dan tanggal login dan logout pada klien? setara dengan perintah terakhir di server.
Pengguna saya menggunakan ssh proxy untuk terhubung ke server, tetapi dari server proxy mereka menggunakan akun umum untuk terhubung ke server. Saya akan membandingkan id tty / pts antara klien dan server. Di server saya menggunakan skrip ini untuk mendapatkan info ini untuk hari ini:
#!/bin/bash
today="$(date '+%a %b %e')"
last | awk -v pattern="$today" '$0 ~ pattern && /pts/ {print $0 "#line#"}'
exit 0
Terima kasih
sudo
). Untuk jalur yang Anda gambar, Anda harus mencocokkan kedua daftar, atau lebih baik untuk mengaktifkan ssh logging dan mencocokkan kedua daftar tersebut. Tetapi Anda tidak akan memiliki 100% kecocokan unik.Jawaban:
Dalam beberapa kata
Gunakan log ssh pada kedua mesin: ini memberi Anda PID dari shell yang dihasilkan. Ini akan memungkinkan Anda untuk menghubungkan PID shell dengan eksekusi program dan untuk memiliki kecocokan tertentu dengan tty. Untuk audit yang lebih dalam, Anda dapat menggunakan alat audit.
Dengan kata lain
last
Dengan sederhana
last
Anda dapat memiliki daftar koneksi yang terkait dengan tty yang digunakan.Anda dapat memiliki dua daftar satu dari Anda proksi mesin (saya ingin menyebutnya Gateway, GW), dan yang lain dari komputer Anda server . Perintah
last
secara default memberi Anda nama pengguna, pts / tty, IP / hostname. masuk tanggal Waktu, keluar tanggal Waktu. Anda dapat memodifikasi dalam format, dll. Dll.Maka Anda harus bekerja pada overlay periode dan tebak siapa.
Masalah yang saya lihat adalah bahwa dengan cara ini Anda harus membuat alat (skrip) yang memberi Anda semua kecocokan yang memungkinkan, dan membersihkannya sementara itu Anda menemukan kecocokan yang baik. Meskipun demikian, Anda dapat memiliki situasi yang aneh.
Mari kita lakukan studi kasus. Pengguna pertama, sebut saja Nicolas, dapat masuk di GW. Lalu dia pergi untuk minum kopi atau menjawab panggilan. Sementara itu pengguna kedua, katakanlah Hastur, masuk GW dan lebih cepat dari 1 st log pengguna ke server. Pada saat ini, double log Anda rumit. Sekarang Hastur merasa perlu kopi dan log Nicolas ke server. Siapa yang akan menjadi yang pertama menyelesaikan kopi dan yang akan terhubung terlebih dahulu dengan program ini?
/var/log/auth
(atau file log lain dari ssh) [ 1 ] ..Ada file log yang digunakan untuk memantau login dan logout di setiap sistem. Cari jalur dan nama yang benar, tergantung pada sistem tersebut. Dengan
Anda akan mendapatkan garis yang mirip dengan
di mana Anda memiliki waktu login yang tepat, dan bahkan PID (
[9024]
), dan IP. Kali ini Anda dapat mencocokkan data file ini dengan yang ada dilast
perintah untuk mengetahui tty, atau Anda dapat entah bagaimana masuk ke dalam program PID dari shell yang disebut program itu sendiri (mungkin dilakukan dengan panggilan sistem ke shell).Mengerjakan file-file itu Anda dapat memiliki kecocokan unik untuk setiap sesi. Untuk file log analog di gateway Anda akan memiliki IP dan nama pengguna asli.
audit tools
[ 2 ], [ 3 ]Jika Anda memiliki otorisasi untuk dilakukan dan itu sah, Anda dapat menggunakan alat audit dan melakukan log penuh shell pada mesin host.
Referensi
sumber