Skip to contentSkip to conversation

SELinux AVC audit log ipaddr field support (for task_struct->curr_ip)

PATCH In review Lorenzo Hernández García-Hierro 3 participants 3 messages Mar 10, 2005 SELinux security module

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 SELinux AVC audit log ipaddr field support (for task_struct->curr_ip)

Provides support for a new field ipaddr within the SELinux AVC audit log, relying in task_struct->curr_ip (ipv4 only) provided by the task-curr_ip or grSecurity patch to be applied before.It was first implemented by Joshua Brindle (a.k.a Method) from the Hardened Gentoo project.

An example of the audit messages with ipaddr field:
audit(1110432234.161:0): avc: denied { search } for pid=19057 exe=/usr/bin/wget name=portage dev=hda3 ino=1024647 ipaddr=192.168.1.30 scontext=root:sysadm_r:portage_fetch_t tcontext=system_u:object_r:portage_tmp_t tclass=dir

It's also available at http://pearls.tuxedo-es.org/patches/selinux-avc_audit-log-curr_ip.patch

---

 linux-2.6.11-lorenzo/security/selinux/avc.c |    6 ++++++
 1 files changed, 6 insertions(+)
security/selinux/avc.c renamed from security/selinux/avc.c~selinux-avc_audit-log-curr_ip +6 -0
diff -puN security/selinux/avc.c~selinux-avc_audit-log-curr_ip security/selinux/avc.c
@@ -205,6 +205,12 @@ void avc_dump_query(struct audit_buffer 
 	char *scontext;
 	u32 scontext_len;
 
+/* CONFIG_GRKERNSEC_PROC_IPADDR if grSecurity is present */
+#ifdef CONFIG_PROC_IPADDR
+	if (current->curr_ip)
+		audit_log_format(ab, "ipaddr=%u.%u.%u.%u ", NIPQUAD(current->curr_ip));
+#endif /* CONFIG_PROC_IPADDR */
+
  	rc = security_sid_to_context(ssid, &scontext, &scontext_len);
 	if (rc)
 		audit_log_format(ab, "ssid=%d", ssid);

_
Cheers,

Signature · 2 lines
Lorenzo Hernández García-Hierro <[email protected]> 
[1024D/6F2B2DEC] & [2048g/9AE91A22][http://tuxedo-es.org]
#1 lore raw
Quoted 10 lines · Lorenzo Hernández García-Hierro

Provides support for a new field ipaddr within the SELinux AVC audit log, relying in task_struct->curr_ip (ipv4 only) provided by the task-curr_ip or grSecurity patch to be applied before.It was first implemented by Joshua Brindle (a.k.a Method) from the Hardened Gentoo project.

An example of the audit messages with ipaddr field:
audit(1110432234.161:0): avc: denied { search } for pid=19057 exe=/usr/bin/wget name=portage dev=hda3 ino=1024647 ipaddr=192.168.1.30 scontext=root:sysadm_r:portage_fetch_t tcontext=system_u:object_r:portage_tmp_t tclass=dir

Even if the basic idea were sound (doubtful), this would need to be generalized (i.e. not ipv4-specific). Also, I think I'd rather see extensions to the audit data be incorporated into the audit framework, not the AVC-specific audit code, and some of the existing avc_audit() code migrated into the audit framework (e.g. the exe= information currently generated by avc_audit could be done by audit_log_exit instead).

Signature · 8 lines
Stephen Smalley <[email protected]>
National Security Agency


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to [email protected] with
the words "unsubscribe selinux" without quotes as the message.
#2 lore raw
Quoted 2 lines · Stephen Smalley

(e.g. the exe= information currently generated by avc_audit could be done by audit_log_exit instead).

I already have a patch that does that. It tells you what program is being run instead of /bin/bash. I'll send it in a day or two for everyone to look over.

-Steve Grubb