Re: [RFC] Create an audit record of USB specific details

From: Oliver Neukum
Date: Mon Apr 04 2016 - 02:48:48 EST


On Mon, 2016-04-04 at 00:02 -0400, wmealing wrote:
> From: Wade Mealing <wmealing@xxxxxxxxxx>
>
> Gday,
>
> I'm looking to create an audit trail for when devices are added or removed
> from the system.
>
> The audit subsystem is a logging subsystem in kernel space that can be
> used to create advanced filters on generated events. It has partnered userspace
> utilities ausearch, auditd, aureport, auditctl which work exclusively on audit
> records.
>
> These tools are able to set filters to "trigger" on specific in-kernel events
> specified by privileged users. While the userspace tools can create audit
> events these are not able to be handled intelligently (decoded,filtered or
> ignored) as kernel generated audit events are.

That is a goal that should be debated in general.

> I have this working at the moment with the USB subsystem (as an example).
> Its been suggested that I use systemd-udev however this means that the audit
> tools (ausearch) will not be able to index these records.

Chaining this so tightly to the USB subsystem makes no sense.
If you do this, then please hook into the generic layer, that
is add_device(), and provide a method in the generic device structure
for providing information to the audit subsystem.

Regards
Oliver