On Fri, Aug 11, 2023 at 6:58 AM Tetsuo Handa
<penguin-kernel(a)i-love.sakura.ne.jp> wrote:
When an unexpected system event occurs, the administrator may want to
identify which application triggered the event. For example, unexpected
process termination is still a real concern enough to write articles
like
https://access.redhat.com/solutions/165993 .
This patch adds a record which emits TOMOYO-like task history information
into the audit logs for better understanding of unexpected system events.
type=UNKNOWN[1340] msg=audit(1691750738.271:108):
history="name=swapper/0;pid=1;start=20230811194329=>name=init;pid=1;start=20230811194343=>name=systemd;pid=1;start=20230811194439=>name=sshd;pid=3660;start=20230811104504=>name=sshd;pid=3767;start=20230811104535"
While I respect your persistence, we've talked about this quite a bit
already in other threads. What you are trying to do is already
possible with audit and/or TOMOYO enabled and configured so I see no
reason why we want to merge this. I understand your frustration that
TOMOYO is not enabled by your prefered distribution, but adding
additional (and arguably redundant code) code to the upstream kernel
is not a solution I am willing to support and maintain long term.
To be able to avoid bloating audit log files due to this information,
this
patch uses audit_history= kernel command line parameter that controls max
length of history in bytes (default is 1024, and setting to 0 disables
recording and emitting).
Unlike execve()'s argv record, records in this history information is
emitted as one string in order to reduce bloat of the audit log files.
This information can be split into an array using => as the tokenizer.
But don't expect that you can compare array elements throughout the whole
audit logs by splitting into an array, for old records get removed from
history when history became too long to append the newest record. This
history information is meant to be interpreted by humans rather than be
analyzed by programs.
Signed-off-by: Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
---
fs/exec.c | 1 +
include/linux/audit.h | 5 ++
include/linux/sched.h | 1 +
include/uapi/linux/audit.h | 1 +
init/init_task.c | 7 +++
kernel/audit.c | 1 +
kernel/auditsc.c | 108 +++++++++++++++++++++++++++++++++++++
7 files changed, 124 insertions(+)
--
paul-moore.com