Memantau aktivitas di komputer saya.

16

Jadi baru-baru ini saya menemukan bahwa seseorang telah menggunakan komputer saya tanpa persetujuan, menelusuri folder, dll ....

Saya bisa mengubah semua kata sandi saya secara langsung, tetapi saya ingin tahu apa yang dicari pihak pengganggu. Jadi saya ingin membuat jebakan (seringai jahat).

Perangkat lunak apa yang akan memonitor aktivitas apa pun di komputer saya? Sementara saya tahu bahwa menangkap layar saya akan bekerja di sini. Saya lebih suka menggunakan file log.

Sebagai contoh:

/var/log/activity.log

[1 Agu 2010 20:23] / usr / bin / thunar diakses / multimedia / cctv-records /
[1 Agu 2010 20:25] / usr / bin / mplayer diakses /multimedia/cctv-records/00232.avi
[3 Agu 2010 02:34] / usr / bin / thunderbird dijalankan
[3 Agu 2010 03:33] sesi ssh masuk dari 12.32.132.123

Kegiatan yang ingin saya catat adalah:

  • Akses ke file dan folder pada sistem file
  • Perintah dijalankan (dari konsol atau lainnya)
  • Sesi Pengguna (sesi login, ssh dan usaha yang gagal)
Stefan
sumber
/var/log/auth.log harus mencakup poin-poin ketiga Anda. Yang lain akan menjadi sedikit kurang sepele.
Cascabel
@ jefromi auth.log saya hanya mencatat upaya perintah sudo dan su ... tidak ada login :(
Stefan

Jawaban:

8

Anda dapat menggunakan mekanisme in-kernel inotifyuntuk memantau file yang diakses.

Pertama, Anda harus memeriksa apakah inotifydihidupkan di kernel:

pbm@tauri ~ $ zcat /proc/config.gz | grep CONFIG_INOTIFY
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y

Selanjutnya yang harus dilakukan adalah menginstal inotify-tools. Instruksi untuk berbagai distribusi dapat Anda temukan di halaman proyek - itu harus dalam repositori semua distribusi utama.

Setelah itu inotify siap bekerja:

inotifywait /dirs/to/watch -mrq

( m= jangan keluar setelah satu peristiwa, r= rekursif, q= tenang)

Misalnya - output setelah ls /home/pbm

pbm@tauri ~ $ inotifywait /bin /home/pbm -mq 
/bin/ OPEN ls
/bin/ ACCESS ls
/bin/ ACCESS ls
/home/pbm/ OPEN,ISDIR 
/home/pbm/ CLOSE_NOWRITE,CLOSE,ISDIR 
/bin/ CLOSE_NOWRITE,CLOSE ls

Yang penting adalah mengatur direktori untuk menonton dengan benar:

  • jangan menonton /secara rekursif - ada banyak baca / tulis ke /devdan/proc
  • jangan menonton direktori home Anda secara rekursif - ketika Anda menggunakan aplikasi ada banyak direktori konfigurasi read / write to application dan browser profile browser

Di /proc/sys/fs/inotify/max_user_watchessana ada opsi konfigurasi yang menunjukkan berapa banyak file yang dapat ditonton secara bersamaan. Nilai default (untuk Gentoo) kira-kira tidak terlalu tinggi, jadi jika Anda mengatur pengamat /home/Anda bisa melebihi batas. Anda dapat meningkatkan batas dengan menggunakan echo(akses root diperlukan).

echo 524288 > /proc/sys/fs/inotify/max_user_watches

Tetapi sebelum itu Anda harus membaca tentang konsekuensi dari perubahan itu .

Opsi yang bisa menarik bagi Anda:

  • -d = mode daemon
  • -o file = keluaran ke file
  • --format = format yang ditentukan pengguna, info lebih lanjut di man inotifywait
  • -e EVENT= Apa acara harus dipantau (misalnya access, modify, dll, info lebih lanjut di man)
pbm
sumber
Agar pengaturan terakhir di antara pengaturan ulang sistem, pada Debian dapat Anda lakukan echo 524288 >> /etc/sysctl.conf && service procps restart. Apa yang setara di Gentoo?
tshepang
Aku maksudmu echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf. Di Gentoo Anda bisa menggunakan metode yang sama, tetapi sysctl.confbersumber dari /etc/init.d/bootmiscskrip init.
pbm
1
sebenarnya ini /etc/init.d/sysctl.
OneOfOne
7

Apakah pria lain itu dekat denganmu? Jika ia memiliki akses fisik atau akses root, ia dapat menghapus semua jejaknya dan bahkan menanam bug untuk memata-matai Anda . Di sisi lain, beberapa jejak menyakitkan untuk dihapus, dan sulit untuk memikirkan semuanya.

Berbagai hal sudah dicatat dalam log sistem, biasanya dalam /var/log(beberapa sistem menggunakan lokasi yang berbeda seperti /var/logsatau /var/adm). Di bawah konfigurasi normal, semua login dan mount dicatat, antara lain. Jika Anda khawatir log dihapus, Anda dapat mengatur logging jarak jauh (cara melakukannya tergantung pada implementasi syslog, tetapi umumnya satu atau dua baris untuk berubah dalam file konfigurasi pada pengirim dan penerima).

Jika Anda atau distribusi Anda belum menonaktifkan fitur ini, setiap file memiliki waktu akses ("atime") yang diperbarui setiap kali file dibaca. (Jika filesystem di-mount dengan opsi noatimeatau relatime, atime tidak diperbarui.) Atime dapat dipalsukan touch -a, tetapi ini memperbarui waktu, sehingga meninggalkan jejak. (Bahkan root tidak dapat langsung menghapus jejak ini, Anda perlu mem-bypass kode sistem file.)

Berbagai program memiliki riwayat sesi . Mudah dihapus atau dipalsukan, jika penyusup ingat melakukannya. Terus Bash ~/.bash_history, browser cenderung menulis banyak hal di direktori profil mereka, dan sebagainya. Anda juga dapat menemukan kesalahan atau peringatan yang memberi tahu di ~/.xsession-errorsatau /var/log/Xorg.0.logatau lokasi lain yang bergantung pada sistem.

Banyak uni memiliki fitur accounting akuntansi proses . Lihat misalnya manual utilitas akuntansi GNU , entri dalam buku pegangan FreeBSD atau Linux howto atau panduan Solaris . Setelah diaktifkan, ia mencatat apa yang pengguna luncurkan proses kapan (log execvepanggilan), dan mungkin sedikit lebih. Ada banyak informasi menarik yang tidak dicatat, seperti file yang diakses oleh proses.

Jika Anda ingin memantau semua akses ke sistem file, Anda dapat menyediakannya melalui logfs . Sangat mudah untuk memperhatikan jika pria itu berpikir untuk melihat.

Ada beberapa program logging yang lebih komprehensif, tetapi mereka mungkin memerlukan dukungan kernel tambahan. Pada Solaris, FreeBSD, NetBSD dan Mac OS X, ada dtrace (ada port Linux yang sedang berjalan tapi saya tidak tahu apakah sudah mencapai tahap yang dapat digunakan). Anda juga dapat melacak proses tertentu melalui antarmuka ke ptracepanggilan sistem, misalnya stracedi Linux; itu dapat menyebabkan penurunan yang nyata.

¹ Sesuatu yang tidak ada di Wikipedia? Nah, itu omongan gila.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1

Lihatlah Fail2ban dan DenyHØsts .

iamsid
sumber
1
Fail2ban melihat log akses untuk membuat tindakan tertentu (misalnya, melarang ip), tetapi tidak menghasilkan log akses semacam ini. DenyHosts mengandalkan Pembungkus TCP untuk melarang ip, sekali lagi, itu tidak terkait dengan OP.
Barthelemy
1

Ini bukan yang Anda cari, tetapi beberapa aplikasi menyimpan daftar file yang baru diakses. Selain itu, GNOME menyimpan daftar itu, yang dapat diakses dari Panelnya.

Perbaikan lain adalah dengan menggunakan Jurnal Aktivitas GNOME , meskipun terakhir kali saya memeriksa, itu tidak mencatat aktivitas CLI, dan hanya tertarik pada aktivitas terkait file (membaca, mengedit), mengabaikan kegiatan lain.

Anda juga dapat melihat /var/logdirektori di mana banyak program menyimpan log mereka.

tepang
sumber
1

Dengan asumsi cukup naif di sisi penyerang Anda, Anda bisa langsung memasukkan script -qft $USER-$$ 2> $USER-$$-timeskrip login yang sesuai untuk memantau interaksi terminalnya dan memutar ulang dengan perintah scriptreplay yang sesuai.

Untuk memantau akses tingkat file, saya sarankan melampirkan strace -fe openlog dengan yang sesuai ke sshd dan memfilter untuk sesi login (atau mungkin lebih baik hanya melakukan ini dari. Peringatan: Output besar, karena melakukan apa pun pada sistem modern menyentuh banyak file Jika Anda hanya ingin memantau file tertentu, lihat auditd dan infrastruktur pendukungnya.

Sesi dan upaya masuk dapat dikumpulkan dari syslog sesuai jawaban lain.

Thomas Themel
sumber