Metode yang paling kuat tampaknya adalah auditd:
http://blog.ptsecurity.com/2010/11/requirement-10-track-and-monitor-all.html
Auditd pada dasarnya memotong semua panggilan sistem dan memeriksanya terhadap seperangkat aturan Anda. Jadi dalam /etc/audit/audit.rules
file Anda, Anda akan memiliki sesuatu seperti berikut:
# This file contains the auditctl rules that are loaded
# whenever the audit daemon is started via the initscripts.
# The rules are simply the parameters that would be passed
# to auditctl.
# First rule - delete all
-D
# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320
# Feel free to add below this line. See auditctl man page
-a always,exit -F euid=0 -F perm=wxa -k ROOT_ACTION
Aturan terakhir menjadi satu-satunya aturan non-default.
Kelemahan utama dengan pendekatan ini (dan alasan saya menemukan pertanyaan ini ketika mencari alternatif) adalah bahwa file log mentah cukup samar dan hanya membantu setelah menjalankan program kueri pada file log mentah: ausearch
Contoh kueri untuk aturan itu adalah:
ausearch -ts today -k ROOT_ACTION -f audit_me | aureport -i -f
Solusi akal sehat mungkin akan membuat cron yang akan menanyakan log audit mentah Anda dan kemudian mengirimkannya ke solusi logging Anda.
Pada distro Red Hat Anda biasanya menggunakan
/var/log/secure
log untuk mengidentifikasi siapa yang telah masuk atau memanfaatkansudo
sistem Fedora / CentOS / RHEL.Contohnya
contoh sudohasil log:
contoh suhasil log:
sumber
Jika Anda memiliki pengguna yang bekerja sama, Anda dapat mengatur rootsh untuk mencatat semua jenis pengguna root untuk syslog.
http://linux.die.net/man/1/rootsh
rootsh rpms tersedia dalam EPEL.
Versi sudo di RHEL6 juga mampu mencatat stdout ke file untuk setiap sesi sudo. Lihatlah halaman manual sudo_plugins.
Tidak satu pun dari pendekatan ini yang sepenuhnya anti peluru.
sumber