From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Grubb Subject: Re: exclude filter action ignored? Date: Mon, 16 May 2016 09:19:29 -0400 Message-ID: <11175563.uHevLF1eMJ@x2> References: <20160515203827.GB21780@madcap2.tricolour.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20160515203827.GB21780@madcap2.tricolour.ca> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-audit-bounces@redhat.com Errors-To: linux-audit-bounces@redhat.com To: Richard Guy Briggs Cc: linux-audit@redhat.com List-Id: linux-audit@redhat.com On Sunday, May 15, 2016 04:38:27 PM Richard Guy Briggs wrote: > Hi Steve, > > Can you confirm that the exclude filter action parameter is ignored? The exclude filter was supposed to do only 1 thing, delete events. It was needed to create a pure CAPP system back in the lspp days. There are things like selinux which sends events whether you wanted them or not. For a pure CAPP system you just tell it the msgtype of selinux events and then they are gone. People found other uses later like getting rid of cron job pam messages. But its always been used to remove events rather than trigger them. > I can't find any evidence in the kernel or in userspace that the action > value is actually honoured. In fact, looking at the manpage for > auditctl(8), the wording of the action contradicts the intuitive meaning > of that filter name. And as a matter of fact, I find discussion of it > here: > https://www.redhat.com/archives/linux-audit/2005-October/msg00020.html > > > In auditctl, setopt() calls audit_rule_setup() which calls lookup_filter() > and lookup_action(), then calls audit_rule_fieldpair_data() none of which > check when parsing the AUDIT_MSGTYPE field. > > During rule addition, in kernel/auditfilter.c:audit_rule_change() and > callees AUDIT_FILTER_TYPE is never checked for either action but simply > copied. > > When called from audit_log_start() in > kernel/auditfilter.c:audit_filter_type(), the state is never checked, so > either AUDIT_NEVER or AUDIT_ALWAYS actions gives the same result which > is to ignore that message type. Which should delete the event from being emitted. -Steve