* policycoreutils: audit2allow -l doesn't work with dmesg pipe
@ 2009-08-23 14:50 Manoj Srivastava
2009-08-23 17:45 ` Daniel J Walsh
0 siblings, 1 reply; 9+ messages in thread
From: Manoj Srivastava @ 2009-08-23 14:50 UTC (permalink / raw)
To: selinux; +Cc: 503252-forwarded, Russell Coker
Hi,
This has been reported against the Debian BTS.
If you don't have auditd running and you run the following
command you should expect no output:
load_policy ; dmesg|audit2allow -l
But it doesn't happen, it seems that the -l option doesn't work
when taking input from dmesg.
manoj
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252
--
Manoj Srivastava <srivasta@acm.org> <http://www.golden-gryphon.com/>
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-08-23 14:50 policycoreutils: audit2allow -l doesn't work with dmesg pipe Manoj Srivastava @ 2009-08-23 17:45 ` Daniel J Walsh 2009-08-23 20:11 ` Russell Coker 0 siblings, 1 reply; 9+ messages in thread From: Daniel J Walsh @ 2009-08-23 17:45 UTC (permalink / raw) To: selinux, 503252-forwarded, Russell Coker On 08/23/2009 10:50 AM, Manoj Srivastava wrote: > Hi, > > This has been reported against the Debian BTS. > > If you don't have auditd running and you run the following > command you should expect no output: > load_policy ; dmesg|audit2allow -l > > But it doesn't happen, it seems that the -l option doesn't work > when taking input from dmesg. > > manoj > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 audit2allow -l is looking for the load_policy message which does not go to the dmesg, /var/log/messages. Therefore the tool has no idea when policy was last loaded. -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-08-23 17:45 ` Daniel J Walsh @ 2009-08-23 20:11 ` Russell Coker 2009-08-24 12:36 ` Daniel J Walsh 0 siblings, 1 reply; 9+ messages in thread From: Russell Coker @ 2009-08-23 20:11 UTC (permalink / raw) To: Daniel J Walsh; +Cc: selinux, 503252-forwarded On Mon, 24 Aug 2009, Daniel J Walsh <dwalsh@redhat.com> wrote: > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 > > audit2allow -l is looking for the load_policy message which does not go to > the dmesg, /var/log/messages. Therefore the tool has no idea when policy > was last loaded. That would be a kernel bug then. -- russell@coker.com.au http://etbe.coker.com.au/ My Main Blog http://doc.coker.com.au/ My Documents Blog -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-08-23 20:11 ` Russell Coker @ 2009-08-24 12:36 ` Daniel J Walsh 2009-08-24 13:37 ` Russell Coker 0 siblings, 1 reply; 9+ messages in thread From: Daniel J Walsh @ 2009-08-24 12:36 UTC (permalink / raw) To: russell; +Cc: selinux, 503252-forwarded On 08/23/2009 04:11 PM, Russell Coker wrote: > On Mon, 24 Aug 2009, Daniel J Walsh <dwalsh@redhat.com> wrote: >>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 >> >> audit2allow -l is looking for the load_policy message which does not go to >> the dmesg, /var/log/messages. Therefore the tool has no idea when policy >> was last loaded. > > That would be a kernel bug then. > Well I believe the messages that are intercepted by the audit.log do not go into dmesg, by design. Although Steve, James or Eric could probably say for sure. -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-08-24 12:36 ` Daniel J Walsh @ 2009-08-24 13:37 ` Russell Coker 2009-09-08 14:10 ` Stephen Smalley 0 siblings, 1 reply; 9+ messages in thread From: Russell Coker @ 2009-08-24 13:37 UTC (permalink / raw) To: Daniel J Walsh; +Cc: selinux, 503252-forwarded On Mon, 24 Aug 2009, Daniel J Walsh <dwalsh@redhat.com> wrote: > >>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 > >> > >> audit2allow -l is looking for the load_policy message which does not go > >> to the dmesg, /var/log/messages. Therefore the tool has no idea when > >> policy was last loaded. > > > > That would be a kernel bug then. > > Well I believe the messages that are intercepted by the audit.log do not go > into dmesg, by design. Although Steve, James or Eric could probably say for > sure. When auditd is not running on a Debian system with CentOS kernel 2.6.18-92.1.13.el5xen or Debian/Lenny kernel 2.6.26-2-xen-686 then nothing goes to the kernel message log which is interpreted by audit2allow as a candidate for the "-l" functionality. It's OK if all the AVC messages go to the audit log and "dmesg|audit2allow -l" gives no output. But if all AVC messages other than the load_policy message go to the kernel message log then it's a bug. -- russell@coker.com.au http://etbe.coker.com.au/ My Main Blog http://doc.coker.com.au/ My Documents Blog -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-08-24 13:37 ` Russell Coker @ 2009-09-08 14:10 ` Stephen Smalley 2009-09-16 15:03 ` Joshua Brindle ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Stephen Smalley @ 2009-09-08 14:10 UTC (permalink / raw) To: russell; +Cc: Daniel J Walsh, selinux, 503252-forwarded, Eric Paris On Mon, 2009-08-24 at 23:37 +1000, Russell Coker wrote: > On Mon, 24 Aug 2009, Daniel J Walsh <dwalsh@redhat.com> wrote: > > >>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 > > >> > > >> audit2allow -l is looking for the load_policy message which does not go > > >> to the dmesg, /var/log/messages. Therefore the tool has no idea when > > >> policy was last loaded. > > > > > > That would be a kernel bug then. > > > > Well I believe the messages that are intercepted by the audit.log do not go > > into dmesg, by design. Although Steve, James or Eric could probably say for > > sure. > > When auditd is not running on a Debian system with CentOS kernel > 2.6.18-92.1.13.el5xen or Debian/Lenny kernel 2.6.26-2-xen-686 then nothing > goes to the kernel message log which is interpreted by audit2allow as a > candidate for the "-l" functionality. > > It's OK if all the AVC messages go to the audit log and "dmesg|audit2allow -l" > gives no output. But if all AVC messages other than the load_policy message > go to the kernel message log then it's a bug. Originally audit2allow used the avc: allowed message generated by auditallow statement for load_policy to identify policy reloads. Later it was switched to use the MAC_POLICY_LOAD events generated by the audit framework. Those events should still get logged via printk if auditd is not running, but it appears that the code (audit_printk_skb) will then log the type= field as an integer rather than a string, and audit2allow/sepolgen only looks for the string MAC_POLICY_LOAD. So I suspect that this would be resolved by modifying sepolgen/audit.py to also match on type=1403 for load messages. Try this: diff --git a/sepolgen/src/sepolgen/audit.py b/sepolgen/src/sepolgen/audit.py index 4717dae..efcc40d 100644 --- a/sepolgen/src/sepolgen/audit.py +++ b/sepolgen/src/sepolgen/audit.py @@ -314,7 +314,7 @@ class AuditParser: elif i == "security_compute_sid:": msg = ComputeSidMessage(line) found = True - elif i == "type=MAC_POLICY_LOAD": + elif i == "type=MAC_POLICY_LOAD" or i == "type=1403": msg = PolicyLoadMessage(line) found = True elif i == "type=AVC_PATH": -- Stephen Smalley National Security Agency -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-09-08 14:10 ` Stephen Smalley @ 2009-09-16 15:03 ` Joshua Brindle 2009-10-21 13:56 ` Manoj Srivastava 2009-11-27 20:03 ` Joshua Brindle 2 siblings, 0 replies; 9+ messages in thread From: Joshua Brindle @ 2009-09-16 15:03 UTC (permalink / raw) To: russell Cc: Stephen Smalley, Daniel J Walsh, selinux, 503252-forwarded, Eric Paris [-- Attachment #1: Type: text/plain, Size: 2509 bytes --] Stephen Smalley wrote: > On Mon, 2009-08-24 at 23:37 +1000, Russell Coker wrote: > >> On Mon, 24 Aug 2009, Daniel J Walsh<dwalsh@redhat.com> wrote: >> >>>>>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 >>>>>> >>>>> audit2allow -l is looking for the load_policy message which does not go >>>>> to the dmesg, /var/log/messages. Therefore the tool has no idea when >>>>> policy was last loaded. >>>>> >>>> That would be a kernel bug then. >>>> >>> Well I believe the messages that are intercepted by the audit.log do not go >>> into dmesg, by design. Although Steve, James or Eric could probably say for >>> sure. >>> >> When auditd is not running on a Debian system with CentOS kernel >> 2.6.18-92.1.13.el5xen or Debian/Lenny kernel 2.6.26-2-xen-686 then nothing >> goes to the kernel message log which is interpreted by audit2allow as a >> candidate for the "-l" functionality. >> >> It's OK if all the AVC messages go to the audit log and "dmesg|audit2allow -l" >> gives no output. But if all AVC messages other than the load_policy message >> go to the kernel message log then it's a bug. >> > > Originally audit2allow used the avc: allowed message generated by > auditallow statement for load_policy to identify policy reloads. Later > it was switched to use the MAC_POLICY_LOAD events generated by the audit > framework. Those events should still get logged via printk if auditd is > not running, but it appears that the code (audit_printk_skb) will then > log the type= field as an integer rather than a string, and > audit2allow/sepolgen only looks for the string MAC_POLICY_LOAD. > > So I suspect that this would be resolved by modifying sepolgen/audit.py > to also match on type=1403 for load messages. Try this: > > diff --git a/sepolgen/src/sepolgen/audit.py b/sepolgen/src/sepolgen/audit.py > index 4717dae..efcc40d 100644 > --- a/sepolgen/src/sepolgen/audit.py > +++ b/sepolgen/src/sepolgen/audit.py > @@ -314,7 +314,7 @@ class AuditParser: > elif i == "security_compute_sid:": > msg = ComputeSidMessage(line) > found = True > - elif i == "type=MAC_POLICY_LOAD": > + elif i == "type=MAC_POLICY_LOAD" or i == "type=1403": > msg = PolicyLoadMessage(line) > found = True > elif i == "type=AVC_PATH": > > Russel, does this resolve your issue? I don't have a system setup like yours to test on. [-- Attachment #2: Type: text/html, Size: 3325 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-09-08 14:10 ` Stephen Smalley 2009-09-16 15:03 ` Joshua Brindle @ 2009-10-21 13:56 ` Manoj Srivastava 2009-11-27 20:03 ` Joshua Brindle 2 siblings, 0 replies; 9+ messages in thread From: Manoj Srivastava @ 2009-10-21 13:56 UTC (permalink / raw) To: selinux On Tue, Sep 08 2009, Stephen Smalley wrote: > On Mon, 2009-08-24 at 23:37 +1000, Russell Coker wrote: >> On Mon, 24 Aug 2009, Daniel J Walsh <dwalsh@redhat.com> wrote: >> > >>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 >> > >> >> > >> audit2allow -l is looking for the load_policy message which does not go >> > >> to the dmesg, /var/log/messages. Therefore the tool has no idea when >> > >> policy was last loaded. >> > > >> > > That would be a kernel bug then. >> > >> > Well I believe the messages that are intercepted by the audit.log do not go >> > into dmesg, by design. Although Steve, James or Eric could probably say for >> > sure. >> >> When auditd is not running on a Debian system with CentOS kernel >> 2.6.18-92.1.13.el5xen or Debian/Lenny kernel 2.6.26-2-xen-686 then nothing >> goes to the kernel message log which is interpreted by audit2allow as a >> candidate for the "-l" functionality. >> >> It's OK if all the AVC messages go to the audit log and "dmesg|audit2allow -l" >> gives no output. But if all AVC messages other than the load_policy message >> go to the kernel message log then it's a bug. > > Originally audit2allow used the avc: allowed message generated by > auditallow statement for load_policy to identify policy reloads. Later > it was switched to use the MAC_POLICY_LOAD events generated by the audit > framework. Those events should still get logged via printk if auditd is > not running, but it appears that the code (audit_printk_skb) will then > log the type= field as an integer rather than a string, and > audit2allow/sepolgen only looks for the string MAC_POLICY_LOAD. > > So I suspect that this would be resolved by modifying sepolgen/audit.py > to also match on type=1403 for load messages. Try this: > > diff --git a/sepolgen/src/sepolgen/audit.py b/sepolgen/src/sepolgen/audit.py > index 4717dae..efcc40d 100644 > --- a/sepolgen/src/sepolgen/audit.py > +++ b/sepolgen/src/sepolgen/audit.py > @@ -314,7 +314,7 @@ class AuditParser: > elif i == "security_compute_sid:": > msg = ComputeSidMessage(line) > found = True > - elif i == "type=MAC_POLICY_LOAD": > + elif i == "type=MAC_POLICY_LOAD" or i == "type=1403": > msg = PolicyLoadMessage(line) > found = True > elif i == "type=AVC_PATH": This patch has now been applied in Debian unstable. manoj -- Manoj Srivastava <srivasta@acm.org> <http://www.golden-gryphon.com/> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: policycoreutils: audit2allow -l doesn't work with dmesg pipe 2009-09-08 14:10 ` Stephen Smalley 2009-09-16 15:03 ` Joshua Brindle 2009-10-21 13:56 ` Manoj Srivastava @ 2009-11-27 20:03 ` Joshua Brindle 2 siblings, 0 replies; 9+ messages in thread From: Joshua Brindle @ 2009-11-27 20:03 UTC (permalink / raw) To: Stephen Smalley Cc: russell, Daniel J Walsh, selinux, 503252-forwarded, Eric Paris Stephen Smalley wrote: > On Mon, 2009-08-24 at 23:37 +1000, Russell Coker wrote: >> On Mon, 24 Aug 2009, Daniel J Walsh<dwalsh@redhat.com> wrote: >>>>>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503252 >>>>> audit2allow -l is looking for the load_policy message which does not go >>>>> to the dmesg, /var/log/messages. Therefore the tool has no idea when >>>>> policy was last loaded. >>>> That would be a kernel bug then. >>> Well I believe the messages that are intercepted by the audit.log do not go >>> into dmesg, by design. Although Steve, James or Eric could probably say for >>> sure. >> When auditd is not running on a Debian system with CentOS kernel >> 2.6.18-92.1.13.el5xen or Debian/Lenny kernel 2.6.26-2-xen-686 then nothing >> goes to the kernel message log which is interpreted by audit2allow as a >> candidate for the "-l" functionality. >> >> It's OK if all the AVC messages go to the audit log and "dmesg|audit2allow -l" >> gives no output. But if all AVC messages other than the load_policy message >> go to the kernel message log then it's a bug. > > Originally audit2allow used the avc: allowed message generated by > auditallow statement for load_policy to identify policy reloads. Later > it was switched to use the MAC_POLICY_LOAD events generated by the audit > framework. Those events should still get logged via printk if auditd is > not running, but it appears that the code (audit_printk_skb) will then > log the type= field as an integer rather than a string, and > audit2allow/sepolgen only looks for the string MAC_POLICY_LOAD. > > So I suspect that this would be resolved by modifying sepolgen/audit.py > to also match on type=1403 for load messages. Try this: > > diff --git a/sepolgen/src/sepolgen/audit.py b/sepolgen/src/sepolgen/audit.py > index 4717dae..efcc40d 100644 > --- a/sepolgen/src/sepolgen/audit.py > +++ b/sepolgen/src/sepolgen/audit.py > @@ -314,7 +314,7 @@ class AuditParser: > elif i == "security_compute_sid:": > msg = ComputeSidMessage(line) > found = True > - elif i == "type=MAC_POLICY_LOAD": > + elif i == "type=MAC_POLICY_LOAD" or i == "type=1403": > msg = PolicyLoadMessage(line) > found = True > elif i == "type=AVC_PATH": > > Merged in sepolgen 1.0.19 -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-11-27 20:03 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-08-23 14:50 policycoreutils: audit2allow -l doesn't work with dmesg pipe Manoj Srivastava 2009-08-23 17:45 ` Daniel J Walsh 2009-08-23 20:11 ` Russell Coker 2009-08-24 12:36 ` Daniel J Walsh 2009-08-24 13:37 ` Russell Coker 2009-09-08 14:10 ` Stephen Smalley 2009-09-16 15:03 ` Joshua Brindle 2009-10-21 13:56 ` Manoj Srivastava 2009-11-27 20:03 ` Joshua Brindle
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.