This is not a solution to your log monitoring question, but might be able to 
get close to what you want with a little scripting: 
http://www.mail-archive.com/ossec-list@googlegroups.com/msg07466.html



Sent from my iPhone

On Nov 10, 2010, at 3:12 PM, Doug Burks <doug.bu...@gmail.com> wrote:

> Has anybody used OSSEC to monitor OpenLDAP logs?  Specifically, I'd
> like to monitor for auth failures (err=49 in the sanitized log sample
> below).  As you can see, one LDAP connection (conn=999999) creates
> multiple log entries.  Further complicating the matter is the fact
> that there are two instances of the err=49 error in this LDAP
> connection.
> 
> Here's what I'd like to do.
> 1.  Write a decoder that would:
> -process all of these lines together
> -pull out the source IP address from the "ACCEPT from
> IP=10.10.248.27:33957" entry
> -pull out the username from the "BIND
> dn="uid=username,ou=Department,ou=Business
> Unit,ou=People,dc=example,dc=com"" entry
> 2.  Write an "Invalid credentials" rule that would look for
> "err=49".
> 
> Would this be possible?  Would it require the multi-line log reader
> support added in OSSEC v2.5?  If so, I haven't found any documentation
> on this feature.
> 
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 fd=64 ACCEPT
> from IP=10.10.248.27:33957 (IP=10.10.241.77:389)
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=0 EXT
> oid=1.3.6.1.4.1.1466.20037
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=0 STARTTLS
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=0 RESULT oid=
> err=0 text=
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 fd=64 TLS
> established tls_ssf=256 ssf=256
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=1 BIND
> dn="cn=Host,ou=Personal Accounts,dc=example,dc=com" method=128
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=1 BIND
> dn="cn=Host,ou=Personal Accounts,dc=example,dc=com" mech=SIMPLE ssf=0
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=1 RESULT
> tag=97 err=0 text=
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=2 SRCH
> base="ou=People,dc=example,dc=com" scope=2 deref=0
> filter="(uid=username)"
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=2 ENTRY
> dn="uid=username,ou=Department,ou=Business
> Unit,ou=people,dc=example,dc=com"
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=2 SEARCH
> RESULT tag=101 err=0 nentries=1 text=
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=3 BIND
> anonymous mech=implicit ssf=0
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=3 BIND
> dn="uid=username,ou=Department,ou=Business
> Unit,ou=People,dc=example,dc=com" method=128
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=3 RESULT
> tag=97 err=49 text=
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=4 BIND
> dn="cn=Host,ou=Personal Accounts,dc=example,dc=com" method=128
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=4 BIND
> dn="cn=Host,ou=Personal Accounts,dc=example,dc=com" mech=SIMPLE ssf=0
> Jan 11 09:26:57 hostname slapd2.4[20872]: conn=999999 op=4 RESULT
> tag=97 err=0 text=
> Jan 11 09:26:59 hostname slapd2.4[20872]: conn=999999 op=5 BIND
> anonymous mech=implicit ssf=0
> Jan 11 09:26:59 hostname slapd2.4[20872]: conn=999999 op=5 BIND
> dn="uid=username,ou=Department,ou=Business
> Unit,ou=People,dc=example,dc=com" method=128
> Jan 11 09:26:59 hostname slapd2.4[20872]: conn=999999 op=5 RESULT
> tag=97 err=49 text=
> Jan 11 09:26:59 hostname slapd2.4[20872]: conn=999999 op=6 BIND
> dn="cn=Host,ou=Personal Accounts,dc=example,dc=com" method=128
> Jan 11 09:26:59 hostname slapd2.4[20872]: conn=999999 op=6 BIND
> dn="cn=Host,ou=Personal Accounts,dc=example,dc=com" mech=SIMPLE ssf=0
> Jan 11 09:26:59 hostname slapd2.4[20872]: conn=999999 op=6 RESULT
> tag=97 err=0 text=
> Jan 11 09:27:01 hostname slapd2.4[20872]: conn=999999 op=7 UNBIND
> Jan 11 09:27:01 hostname slapd2.4[20872]: conn=999999 fd=64 closed
> 
> Thanks,
> Doug Burks

Reply via email to