On 2017-10-16 22:28, Steve Grubb wrote:
On Monday, October 16, 2017 6:06:47 PM EDT Steve Grubb wrote:
> > > +/* Log information about who is connecting to the audit multicast
> > > socket
> > > */ +static void audit_log_multicast_bind(int group, const char *op, int
> > > err) +{
> > > + const struct cred *cred;
> > > + struct tty_struct *tty;
> > > + char comm[sizeof(current->comm)];
> > > + struct audit_buffer *ab;
> > > +
> > > + ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_EVENT_LISTENER);
> >
> > It really seems like this should be associated with the current task,
> > e.g. "audit_log_start(current->audit_context, ...)". After all,
the
> > whole point of this record is to capture information about the subject
> > who is binding to the multicast socket.
>
> OK, easy enough.
But wouldn't that make it an auxiliary record (if there happens to be a
syscall record) instead of a standalone event? The intention is that this
event is standalone just like AUDIT_SECCOMP or AUDIT_LOGIN. Associating with
the current task is done by using current in formatting the message as seen
below. (e.g. task_pid_nr(current), audit_get_sessionid(current))
I think it's correct as is.
Yes, this would associate this record with the tentatively generated
SYSCALL record for this task.
To use the AUDIT_TASK record idea, a local audit context would need to
be created and used for the AUDIT_CONFIG_CHANGE and AUDIT_TASK records
only.
-Steve
> > + if (!ab)
> > + return;
> > +
> > + cred = current_cred();
> > + tty = audit_get_tty(current);
> > +
> > + audit_log_format(ab, "pid=%u uid=%u auid=%u tty=%s ses=%u",
> > + task_pid_nr(current),
> > + from_kuid(&init_user_ns, cred->uid),
> > + from_kuid(&init_user_ns,
> > audit_get_loginuid(current)), + tty ? tty_name(tty)
> > : "(none)",
> > + audit_get_sessionid(current));
> > + audit_put_tty(tty);
> > + audit_log_task_context(ab); /* subj= */
> > + audit_log_format(ab, " comm=");
> > + audit_log_untrustedstring(ab, get_task_comm(comm, current));
> > + audit_log_d_path_exe(ab, current->mm); /* exe= */
--
Linux-audit mailing list
Linux-audit(a)redhat.com
https://www.redhat.com/mailman/listinfo/linux-audit
- RGB
--
Richard Guy Briggs <rgb(a)redhat.com>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635