How to collect all user commands in linux

    به منظور جمع‌آوری و نگهداری تمام دستوراتی که توسط کاربران (چه کاربر root ، چه کاربران گروه sudo و …) اجرا شده است.و همچنین به منظور جمع‌آوری تمام system calls های سیستم و به طور کل تمام اتفاقاتی که درون سیستم رخ می‌دهد ، می‌توان از سرویس auditd استفاده نمود.

    برای نصب به صورت زیر عمل کنید.
# apt-get update
# apt-get install auditd
# systemctl stop auditd
  • پرونده‌ی تنظیمات را باز نمایید.
# vim /etc/audit/auditd.conf
  • تغییرات زیر را اعمال نمایید.
log_group = adm
  • اگر عبارت log_group موجود بود که مقدار آن را برابر با adm قرار دهید در غیر این صورت خط بالا را به انتهای پرونده اضافه کنید.
  • در ادامه پرونده‌ی audit.rules را باز نمایید.
# vim /etc/audit/rules.d/audit.rules
  • تنظیمات زیر را به انتهای پرونده اضافه کنید.
-a exit,always -F arch=b32 -S execve -k allcmds
-a exit,always -F arch=b64 -S execve -k allcmds
-a exit,always -F arch=b64 -F euid=0 -S execve
-a exit,always -F arch=b32 -F euid=0 -S execve
  • در ادامه نیاز است تا تغییراتی بر روی PAM در نظر گرفته شود.
# echo 'session required pam_tty_audit.so enable=* log_passwd' >> /etc/pam.d/sshd
# echo 'session required pam_tty_audit.so enable=* log_passwd' >> /etc/pam.d/su
# echo 'session required pam_tty_audit.so enable=* log_passwd' >> /etc/pam.d/systemd-user
  • در ادامه سرویس auditd را Start کنید.
# systemctl start auditd
# systemctl status auditd
  • در نهایت از پرونده‌ی زیر به منظور مشاهده‌ی لاگ‌ها استفاده کنید.
# tail -f -n 0 /var/log/audit/audit.log

  • مرتبط با این مستند :
  • مرتبط با این مستند :

  • تشت شده بر روی Ubuntu 16.04
  • تشت شده بر روی Ubuntu 20.04