Cara melacak petualangan terbaik dari administrator pemula

8

Saya memiliki pengguna ini yang memiliki hak sudo terbatas, namun ia berhasil mengacaukan dari waktu ke waktu. Saya ingin mengawasi petualangannya, sehingga saya bisa membalikkan kerusakan dengan mengurangi penggalian. Idealnya, saya ingin layanan dengan fungsi berikut terintegrasi dengan baik dan rapi

  • Melacak input dan output shell seperti ttyrec(atau scriptatau sudojika logging diatur) dan dapat memutar ulang sesi seperti ttyplay (atau scriptreplayatau sudoreplay) Kompatibilitas dengan program ncurses akan bagus, tetapi tidak perlu, ttyrecdapat melakukannya rupanya.
  • Melacak akses file, pembuatan, dan modifikasi. Idealnya, itu juga bisa membuat cadangan file setiap kali diubah atau dihapus.

Sejauh ini saya telah menemukan beberapa alat yang harus saya atur untuk mendapatkan sebagian besar fungsionalitas yang diminta, tetapi saya belum menemukan produk OSS yang akan mengintegrasikannya dengan baik (edisi komunitas Lynis tidak begitu jelas pada fungsionalitas) .

  • Saya bisa memasukkan ttyrec $(mktemp), script $(mktemp)atau sudo -u $USER -i(dengan mengatur sudo logging) di .bashrcuntuk login shell IO.
  • Mengatur audit untuk melacak akses file dalam beberapa dirs, seperti /usr, /etc, /var.
  • Buat snapshot LVM ketika dia masuk, tapi itu sedikit berlebihan dan mungkin menurunkan kinerja sistem.

EDIT: ttyrec tampaknya menjadi alternatif yang lebih baik script, itu akan memenuhi semua persyaratan IO logging saya. Sekarang saya perlu menemukan cara yang baik untuk memanipulasi file.

Saya akan berterima kasih atas saran atau rekomendasi praktik terbaik.

Ondřej Grover
sumber
3
Petunjuk: Di beberapa negara ini mungkin tidak sah tanpa izin dari pengguna.
Cyrus
2
@Cyrus terima kasih atas pengingatnya, dia pasti tahu tentang itu. Ini lebih tentang menemukan cara yang tidak terlalu mengganggu dan lebih otomatis daripada memintanya untuk mengingat untuk selalu menjalankan semuanya dalam satu scriptsesi. Ini bukan tentang memata-matai dia, tetapi tentang memberinya jaminan bahwa kesalahannya dapat dilacak kembali.
Ondřej Grover
3
Saya pikir pengguna ini seharusnya tidak memiliki hak sudo.
dr_
1
@ dr01 idealnya ya, saya akan melakukan administrasi untuknya. Tetapi itu tidak selalu mungkin. Dia tidak selalu mengacaukan, saya hanya perlu membuat jaring pengaman.
Ondřej Grover

Jawaban:

2

Mungkin Anda bisa mendorong admin Anda untuk menggunakan praktik logging yang baik. Layar Gnu melakukan ini dengan cukup baik. Ini menambahkan fungsionalitas yang sedikit lebih banyak daripada yang Anda cari, dan juga memiliki kemampuan untuk beralih logging, sehingga ia bisa mematikannya sendiri, jika diinginkan. Itu tidak memiliki fungsi replay, tetapi bisa menjadi bagian dari solusi, karena melacak sebagian besar input dan output ketika logging aktif.

Dalam kasus penggunaan Anda, Anda ingin menambahkan deflog onke file screenrc untuk memiliki windows default baru dengan login.

Namun ini memiliki kelemahan karena dapat diubah oleh pengguna Anda.

Anda dapat melakukan pemantauan file menggunakan Monit , yang mengawasi perubahan file, dan juga dapat memeriksa kondisi berbagai layanan. Gabungkan ini dengan sesuatu seperti rsync pada cronjob (karena Anda seharusnya memiliki sesuatu seperti itu) dan Anda memiliki ide yang cukup solid tentang apa yang sebenarnya terjadi di server, terutama jika Anda mengaktifkan stempel waktu yang sangat ketat di layar dan percayai pengguna Anda tidak mengutak-atik pengaturan logging.

Dengan menggabungkan alat-alat ini, Anda harus memiliki sistem yang cukup kuat dan ringan yang memungkinkan Anda mengawasi pengguna dengan baik sambil memastikan tingkat keselamatan dasar.

James Biederbeck
sumber