日志审计策略配置audit

开启audit审计功能,可以监控指定用户或目录,缺省会监控root的所有登录和操作。

将如下规则添加到”/etc/audit/audit.rules”中,实现监控所有用户的登录行为,包含用户所有操作,以及shell脚本中的命令

  1. -a exit,always -F arch=b64 -S execve -kexec
  2. -a exit,always -F arch=b32 -S execve -kexec

添加后使用ausearch -k exec来列出用户操作的记录。

将如下规则添加到”/etc/audit/audit.rules”中,实现对重点配置文件的监控

centos6 或 redhat 6
  1. -w /etc/crontab -p wa -k crontab
  2. -w /etc/hosts -p wa -k hosts
  3. -w /etc/hosts.allow -p wa -k hosts-allow
  4. -w /etc/hosts.deny -p wa -k hosts-deny
  5. -w /etc/fstab -p wa -k fstab
  6. -w /etc/passwd -p wa -k passwd
  7. -w /etc/shadow -p wa -k shadow
  8. -w /etc/group -p wa -k group
  9. -w /etc/gshadow -p wa -k gshadow
  10. -w /etc/ntp.conf -p wa -k ntp
  11. -w /etc/sysctl.conf -p wa -k sysctl
  12. -w /etc/security/limits.conf -p wa -klimits
  13. -w /boot/grub/grub.conf -p wa -k grub
  14. -w /etc/ssh/sshd_config -p wa -k ssh
  15. -w /etc/udev/rules.d/ -p wa -k udev
  16. -w /etc/profile -p wa -k profile
  17. -w /etc/kdump.conf -p wa -k kdump
  18. -w /etc/lvm/lvm.conf -p wa -k lvm
  19. -w /etc/login.defs -p wa -k login-defs
  20. -w /etc/rsyslog.conf -p wa -k rsyslog
  21. -w /etc/sysconfig/i18n -p wa -k i18n
  22. -w /etc/sysconfig/network -p wa -k network
  23. -w /etc/multipath.conf -p wa -k multipath
  24. -a exit,always -F arch=b64 -S execve -kexec
  25. -a exit,always -F arch=b32 -S execve -kexec

centos 7 或 redhat 7

  1. -w /etc/crontab -p wa -k crontab
  2. -w /etc/hosts -p wa -k hosts
  3. -w /etc/hosts.allow -p wa -k hosts-allow
  4. -w /etc/hosts.deny -p wa -k hosts-deny
  5. -w /etc/fstab -p wa -k fstab
  6. -w /etc/passwd -p wa -k passwd
  7. -w /etc/shadow -p wa -k shadow
  8. -w /etc/group -p wa -k group
  9. -w /etc/gshadow -p wa -k gshadow
  10. -w /etc/chrony.conf-p wa -k ntp
  11. -w /etc/sysctl.conf -p wa -k sysctl
  12. -w /etc/security/limits.conf -p wa -klimits
  13. -w /boot/grub2/grub.cfg -p wa -k grub
  14. -w /etc/ssh/sshd_config -p wa -k ssh
  15. -w /etc/udev/rules.d/ -p wa -k udev
  16. -w /etc/profile -p wa -k profile
  17. -w /etc/kdump.conf -p wa -k kdump
  18. -w /etc/lvm/lvm.conf -p wa -k lvm
  19. -w /etc/login.defs -p wa -k login-defs
  20. -w /etc/rsyslog.conf -p wa -k rsyslog
  21. -w /etc/locale.conf-p wa -k i18n
  22. -w /etc/sysconfig/network -p wa -k network
  23. -w /etc/multipath.conf -p wa -k multipath
  24. -a exit,always -F arch=b64 -S execve -kexec
  25. -a exit,always -F arch=b32 -S execve -kexec

使用ansible批量对主机进行操作

使用ansible工具的script模块在远程主机执行本地脚本

  1. 脚本如下
  1. #! /bin/bash
  2. system_version=`uname -r | awk -F '.' '{print $1}'`
  3. #添加文件审计规则
  4. if [ "$system_version" == "2" ]
  5. then
  6. echo "-w /etc/crontab -p wa -k crontab
  7. -w /etc/hosts -p wa -k hosts
  8. -w /etc/hosts.allow -p wa -k hosts-allow
  9. -w /etc/hosts.deny -p wa -k hosts-deny
  10. -w /etc/fstab -p wa -k fstab
  11. -w /etc/passwd -p wa -k passwd
  12. -w /etc/shadow -p wa -k shadow
  13. -w /etc/group -p wa -k group
  14. -w /etc/gshadow -p wa -k gshadow
  15. -w /etc/ntp.conf -p wa -k ntp
  16. -w /etc/sysctl.conf -p wa -k sysctl
  17. -w /etc/security/limits.conf -p wa -klimits
  18. -w /boot/grub/grub.conf -p wa -k grub
  19. -w /etc/ssh/sshd_config -p wa -k ssh
  20. -w /etc/udev/rules.d/ -p wa -k udev
  21. -w /etc/profile -p wa -k profile
  22. -w /etc/kdump.conf -p wa -k kdump
  23. -w /etc/lvm/lvm.conf -p wa -k lvm
  24. -w /etc/login.defs -p wa -k login-defs
  25. -w /etc/rsyslog.conf -p wa -k rsyslog
  26. -w /etc/sysconfig/i18n -p wa -k i18n
  27. -w /etc/sysconfig/network -p wa -k network
  28. -w /etc/multipath.conf -p wa -k multipath
  29. -a exit,always -F arch=b64 -S execve -kexec
  30. -a exit,always -F arch=b32 -S execve -kexec" >>/etc/audit/audit.rules
  31. elif [ "$system_version" == "3" ]
  32. then
  33. echo "-w /etc/crontab -p wa -k crontab
  34. -w /etc/hosts -p wa -k hosts
  35. -w /etc/hosts.allow -p wa -k hosts-allow
  36. -w /etc/hosts.deny -p wa -k hosts-deny
  37. -w /etc/fstab -p wa -k fstab
  38. -w /etc/passwd -p wa -k passwd
  39. -w /etc/shadow -p wa -k shadow
  40. -w /etc/group -p wa -k group
  41. -w /etc/gshadow -p wa -k gshadow
  42. -w /etc/chrony.conf-p wa -k ntp
  43. -w /etc/sysctl.conf -p wa -k sysctl
  44. -w /etc/security/limits.conf -p wa -klimits
  45. -w /boot/grub2/grub.cfg -p wa -k grub
  46. -w /etc/ssh/sshd_config -p wa -k ssh
  47. -w /etc/udev/rules.d/ -p wa -k udev
  48. -w /etc/profile -p wa -k profile
  49. -w /etc/kdump.conf -p wa -k kdump
  50. -w /etc/lvm/lvm.conf -p wa -k lvm
  51. -w /etc/login.defs -p wa -k login-defs
  52. -w /etc/rsyslog.conf -p wa -k rsyslog
  53. -w /etc/locale.conf-p wa -k i18n
  54. -w /etc/sysconfig/network -p wa -k network
  55. -w /etc/multipath.conf -p wa -k multipath
  56. -a exit,always -F arch=b64 -S execve -kexec
  57. -a exit,always -F arch=b32 -S execve -kexec" >>/etc/audit/audit.rules
  58. else
  59. echo "It is not a valid system version!"
  60. fi
  61. #重启auditd服务,注意:该服务不能使用systemctl重启
  62. if [ "$?" == "0" ]
  63. then
  64. service auditd restart
  65. else
  66. echo "Add configs failed!"
  67. fi
  1. ansible命令
  1. cd <脚本目录>
  2. ansible 'host_inventory' -u root -m script -a '<脚本名或脚本全路径>'
文档更新时间: 2019-03-28 15:57   作者:张尚