SELinux AVC audit log ipaddr field support (for task_struct->curr_ip)
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
@@ -205,6 +205,12 @@ void avc_dump_query(struct audit_bufferchar *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]
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.
Quoted 2 lines · Stephen Smalley
(e.g. the exe= information currently generated by
avc_auditcould be done byaudit_log_exitinstead).
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