Create auditd formula
According to linked prod's we need to create fully functional
auditd formula. This formula allows install and configure auditd, as
well as generate auditd rules and install/configure audisp
plugins if necessary.
Change-Id: Ieb6c889c7fceec7281e1ad019b1f07daf689c3f7
Related-PROD: https://mirantis.jira.com/browse/PROD-20233
Related-PROD: https://mirantis.jira.com/browse/PROD-20138
diff --git a/metadata/service/audisp/init.yml b/metadata/service/audisp/init.yml
new file mode 100644
index 0000000..432e5dc
--- /dev/null
+++ b/metadata/service/audisp/init.yml
@@ -0,0 +1,15 @@
+applications:
+- auditd
+classes:
+- service.auditd.support
+parameters:
+ auditd:
+ audisp:
+ plugins:
+ syslog:
+ active: 'yes'
+ direction: out
+ path: builtin_syslog
+ type: builtin
+ args: LOG_INFO
+ format: string
diff --git a/metadata/service/rules/ciscat.yml b/metadata/service/rules/ciscat.yml
new file mode 100644
index 0000000..8482c09
--- /dev/null
+++ b/metadata/service/rules/ciscat.yml
@@ -0,0 +1,115 @@
+applications:
+- auditd
+classes:
+- service.auditd.support
+parameters:
+ auditd:
+ rules:
+ options:
+ enabled: 1
+ bufsize: 8192
+ rules:
+ MAC_policy:
+ enabled: true
+ rule_list:
+ - '-w /etc/apparmor/ -p wa'
+ - '-w /etc/apparmor.d/ -p wa'
+ access:
+ enabled: true
+ rule_list:
+ - '-a always,exit -F arch=b64 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b64 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295'
+ actions:
+ enabled: true
+ rule_list:
+ - '-w /var/log/sudo.log -p wa'
+ delete:
+ enabled: true
+ rule_list:
+ - '-a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295'
+ identity:
+ enabled: true
+ rule_list:
+ - '-w /etc/group -p wa'
+ - '-w /etc/passwd -p wa'
+ - '-w /etc/gshadow -p wa'
+ - '-w /etc/shadow -p wa'
+ - '-w /etc/security/opasswd -p wa'
+ logins:
+ enabled: true
+ rule_list:
+ - '-w /var/log/faillog -p wa'
+ - '-w /var/log/lastlog -p wa'
+ - '-w /var/log/tallylog -p wa'
+ modules:
+ enabled: true
+ rule_list:
+ - '-w /sbin/insmod -p x'
+ - '-w /sbin/rmmod -p x'
+ - '-w /sbin/modprobe -p x'
+ - '-a always,exit -F arch=b64 -S init_module -S delete_module'
+ mounts:
+ enabled: true
+ rule_list:
+ - '-a always,exit -F arch=b64 -S mount -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b32 -S mount -F auid>=1000 -F auid!=4294967295'
+ perm_mod:
+ enabled: true
+ rule_list:
+ - '-a always,exit -F arch=b64 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b32 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b64 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b32 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b64 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F arch=b32 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>=1000 -F auid!=4294967295'
+ privileged:
+ enabled: true
+ rule_list:
+ - '-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/lib/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=4294967295'
+ - '-a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=4294967295'
+ scope:
+ enabled: true
+ rule_list:
+ - '-w /etc/sudoers -p wa'
+ - '-w /etc/sudoers.d -p wa'
+ session:
+ enabled: true
+ rule_list:
+ - '-w /var/run/utmp -p wa'
+ - '-w /var/log/wtmp -p wa'
+ - '-w /var/log/btmp -p wa'
+ system_locale:
+ enabled: true
+ rule_list:
+ - '-a always,exit -F arch=b64 -S sethostname -S setdomainname'
+ - '-a always,exit -F arch=b32 -S sethostname -S setdomainname'
+ - '-w /etc/issue -p wa'
+ - '-w /etc/issue.net -p wa'
+ - '-w /etc/hosts -p wa'
+ - '-w /etc/network -p wa'
+ - '-w /etc/networks -p wa'
+ time_change:
+ enabled: true
+ rule_list:
+ - '-a always,exit -F arch=b64 -S adjtimex -S settimeofday'
+ - '-a always,exit -F arch=b32 -S adjtimex -S settimeofday -S stime'
+ - '-a always,exit -F arch=b64 -S clock_settime'
+ - '-a always,exit -F arch=b32 -S clock_settime'
+ - '-w /etc/localtime -p wa'
diff --git a/metadata/service/server/init.yml b/metadata/service/server/init.yml
new file mode 100644
index 0000000..4632e12
--- /dev/null
+++ b/metadata/service/server/init.yml
@@ -0,0 +1,32 @@
+applications:
+- auditd
+classes:
+- service.auditd.support
+parameters:
+ auditd:
+ service:
+ enabled: true
+ log_file: /var/log/audit/audit.log
+ log_format: RAW
+ log_group: root
+ priority_boost: 4
+ flush: INCREMENTAL
+ freq: 20
+ num_logs: 5
+ disp_qos: lossy
+ dispatcher: /sbin/audispd
+ name_format: NONE
+ max_log_file: 6
+ max_log_file_action: ROTATE
+ space_left: 75
+ space_left_action: SYSLOG
+ action_mail_acct: root
+ admin_space_left: 50
+ admin_space_left_action: SUSPEND
+ disk_full_action: SUSPEND
+ disk_error_action: SUSPEND
+ tcp_listen_queue: 5
+ tcp_max_per_addr: 1
+ tcp_client_max_idle: 0
+ enable_krb5: 'no'
+ krb5_principal: auditd
diff --git a/metadata/service/support.yml b/metadata/service/support.yml
new file mode 100644
index 0000000..099b032
--- /dev/null
+++ b/metadata/service/support.yml
@@ -0,0 +1,18 @@
+parameters:
+ auditd:
+ _support:
+ collectd:
+ enabled: true
+ heka:
+ enabled: true
+ sensu:
+ enabled: false
+ sphinx:
+ enabled: false
+ grafana:
+ enabled: true
+ telegraf:
+ enabled: true
+ prometheus:
+ enabled: true
+