Apakah mungkin bagi pengguna root di Linux untuk memiliki tampilan real-time (atau mendekati waktu-nyata) dari perintah shell yang dijalankan oleh pengguna lain yang masuk melalui terminal atau SSH? Jelas mereka disimpan di .bash_history, tetapi itu hanya disimpan ketika pengguna log off dan dapat dinonaktifkan juga.
Sunting: idealnya sesuatu yang dapat dengan mudah dinyalakan dan dimatikan.
ttyrpld
sepertinya bagus. direkomendasikan dalam pertanyaan ini. serverfault.com/questions/40011/…Jawaban:
sebagai root, Anda bisa mengganti shell mereka dengan skrip wrapper sederhana yang mencatat perintah mereka sebelum meneruskannya ke shell asli. Ini hanya akan berfungsi sebelum mereka masuk.
sumber
Gunakan sniffy jika Anda ingin masuk ke sesi pengguna atau
screen -x
jika Anda memiliki kerja sama.Berhati-hatilah, bahwa memata-matai pengguna Anda mungkin tunduk pada peraturan atau bahkan ilegal, tergantung pada undang-undang setempat Anda.
sumber
Mengganti shell sangat mudah untuk dielakkan, menambal shell itu sendiri lebih baik, tetapi Anda harus menambal semua shell. Cracker favorit kami menggunakan ini, sebagai bonus ia tidak repot-repot menonaktifkan bash_history.
Snoopy adalah pembungkus di sekitar fungsi exec, dan mencatat setiap biner eksternal yang dijalankan (bukan shell builtin)
@ David saran Schmitt sombong menggunakan metode yang lebih baik, itu menyentuh pseudoterminal.
ttysnoop menggunakan metode yang sama, tetapi tidak dipelihara. (Saya mungkin memiliki masalah membuatnya koneksi log ssh, tidak dapat mengingat)
Anda dapat mencoba menambal ssh untuk mencatat sesi, tetapi tambalan itu sudah lama .
pseudopod dan rootsh dapat digunakan untuk mencatat sudo yang sah. Dan shwatcr adalah hal lain untuk memonitor login.
sumber
ssh host /bin/sh -i
seharusnya dilakukan?Jika Anda bersikap kooperatif, Anda dapat menggunakan layar GNU antara dua pengguna - mintalah seorang untuk membuat sesi layar, lalu mintalah yang lain bergabung menggunakan
screen -x
.Jika Anda ingin root untuk "memata-matai" pengguna lain tanpa sepengetahuan mereka, solusi terbaik dan paling efisien mungkin perangkat lunak / perangkat keras keylogger.
sumber
Sysdig adalah alat yang ampuh untuk eksplorasi tingkat sistem - inilah yang Anda inginkan;)
contoh:
sysdig -i spy_users
Kategori: Keamanan
spy_users Menampilkan aktivitas pengguna interaktif
daftar setiap perintah yang pengguna luncurkan secara interaktif (mis. dari bash) dan setiap direktori yang dikunjungi pengguna
sumber
Anda bisa mencoba patch bash-BOFH. Cari-cari tambalan.
sumber
Saya menulis metode untuk mencatat semua perintah / built 'bash' ke dalam file teks atau server 'syslog' tanpa menggunakan patch atau alat yang dapat dieksekusi khusus.
Sangat mudah untuk digunakan, karena ini adalah shellscript sederhana yang perlu dipanggil sekali pada inisialisasi 'bash'.
Lihat metode di sini: http://blog.pointsoftware.ch/index.php/howto-bash-audit-command-logger
sumber
Tampaknya bekerja cukup baik jika Anda tidak keberatan memilah-milah banyak baris.
sumber
Snoopy dimaksudkan untuk pembuatan perintah ringan.
Jika Anda ingin live view dari perintah yang dijalankan pada sistem Anda, ini mungkin itu. Peringatan: snoopy bukan solusi audit yang tepat dan dapat dengan mudah dielakkan.
Namun, jika Anda ingin melihat setiap karakter yang diketikkan di terminal, maka Anda harus menggunakan alat lain.
Pengungkapan: Saya pengelola snoopy saat ini.
sumber
coba ekspor ini HISTTIMEFORMAT = "% T" jalankan beberapa perintah dan "histori" sesudahnya ...
sumber