hi James,

yes, you can specify several actions in the 'action' field of each rule --
all you have to do is to separate actions with a semicolon. For example,
the following 'pipe' and 'shellcmd' actions will issue an email alert and
generate a syslog message with /usr/bin/logger:

action = pipe '%s' /usr/local/bin/sendEmail; shellcmd /usr/bin/logger -p
daemon.err -t sec 'Alert fired by sec: %s'

kind regards,
risto

Kontakt James Lay (<j...@slave-tothe-box.net>) kirjutas kuupäeval E, 18.
märts 2019 kell 16:37:

> Last question on this...I usually add an email alert using sendemail
> like so to my rules:
>
> action = pipe '%s' /usr/local/bin/sendEmail
>
> Can I add a second action to this?  Thank you!
>
> James
>
> On 2019-03-18 08:11, James Lay wrote:
> > Wow thanks so much Risto....I love the way you actually explain what's
> > going on...really appreciate it!
> >
> > James
> >
> > On 2019-03-16 05:36, Risto Vaarandi wrote:
> >> hi James,
> >>
> >> for addressing this problem, you could try the following EventGroup
> >> rule:
> >>
> >> type=EventGroup
> >> ptype=RegExp
> >>
> pattern=^\S+\s+\S+\s+((?:\d{1,3}\.){3}\d{1,3})\s+\d+\s+(?:\d{1,3}\.){3}\d{1,3}\s+88\s+AS\s+(\S+)\s+(\S+)\s+F\s+KDC_ERR_PREAUTH_FAILED
> >> context=!WORKSTATION_$1_LOGIN_FAILURE_$2  &&  !ALERT_ISSUED_FOR_$1
> >> count=create WORKSTATION_$1_LOGIN_FAILURE_$2 60
> >> desc=Workstation IP $1 has failed to login with three different user
> >> accounts
> >> action=write - %s; create ALERT_ISSUED_FOR_$1 3600
> >> window=60
> >> thresh=3
> >>
> >> The regular expression of this EventGroup rule will set $1 match
> >> variable to IP address of the workstation and $2 to user account. I
> >> have assumed that the user account is provided by "user/domain" field
> >> in your example event. The EventGroup rule matches login failure
> >> events and starts event counting operations for these events, so that
> >> there is a separate operation for each workstation IP address (because
> >> 'desc' field of the rule contains $1 variable).
> >>
> >> After the regular expression has matched a login failure event, the
> >> 'context' field of the rule makes sure that the context
> >> WORKSTATION_<ip>_LOGIN_FAILURE_<useraccount> does not exist. Note that
> >> the presence of this context indicates that the login failure event
> >> for the given user account and workstation IP has already been counted
> >> during the last 60 seconds. If this context does not exist, event
> >> matches the rule and will be counted by the operation that runs for
> >> the given workstation IP address. After the event has been counted,
> >> the context WORKSTATION_<ip>_LOGIN_FAILURE_<useraccount> will be
> >> created for 60 seconds (see the 'count' field of the rule) which
> >> prevents login failure event for the same workstation and user account
> >> counted twice in the window of 60 seconds. Due to the use of these
> >> context, a counting operation which runs for some workstation IP
> >> address can only observe 3 events within 60 seconds if three user
> >> accounts for these events are *all* different.
> >>
> >> Finally, after a counting operation has issued an alarm (see the
> >> 'action' field), the rule also sets up a context ALERT_ISSUED_FOR_<ip>
> >> for 1 hour. The purpose of this context is to suppress repeated alarms
> >> if the workstation continues to probe user accounts after initial
> >> alarm. Without this context, you might get a new alarm about the same
> >> workstation after each 60 seconds, while ALERT_ISSUED_FOR_<ip> context
> >> suppresses such repeated alarms for 1 hour.
> >>
> >> In order to illustrate how the EventGroup rule works, suppose the
> >> following five events appear for workstations 10.1.1.1 and 10.1.1.2
> >> [1]:
> >>
> >> 2019-03-15T10:50:30-0600        CAnW7i1DW5gZp7c6Vd      10.1.1.1
> >> 62469   192.168.1.1      88      AS      bob/mydomain
> >> krbtgt/domain   F       KDC_ERR_PREAUTH_FAILED  -
> >> 2037-09-12T20:48:05-0600       -       T       T       -
> >> 2019-03-15T10:50:31-0600        CAnW7i1DW5gZp7c6Vd      10.1.1.1
> >> 62471   192.168.1.1      88      AS      alice/mydomain
> >> krbtgt/domain   F       KDC_ERR_PREAUTH_FAILED  -
> >> 2037-09-12T20:48:05-0600       -       T       T       -
> >> 2019-03-15T10:50:32-0600        CAnW7i1DW5gZp7c6Vd      10.1.1.1
> >> 62472   192.168.1.1      88      AS      alice/mydomain
> >> krbtgt/domain   F       KDC_ERR_PREAUTH_FAILED  -
> >> 2037-09-12T20:48:05-0600       -       T       T       -
> >> 2019-03-15T10:50:34-0600        CAnW7i1DW5gZp7c6Vd      10.1.1.2
> >> 41916   192.168.1.1      88      AS      bob/mydomain
> >> krbtgt/domain   F       KDC_ERR_PREAUTH_FAILED  -
> >> 2037-09-12T20:48:05-0600       -       T       T       -
> >> 2019-03-15T10:50:38-0600        CAnW7i1DW5gZp7c6Vd      10.1.1.1
> >> 62473   192.168.1.1      88      AS      donald/mydomain
> >> krbtgt/domain   F       KDC_ERR_PREAUTH_FAILED  -
> >> 2037-09-12T20:48:05-0600       -       T       T       -
> >>
> >> After seeing these events, the EventGroup rule would start two
> >> counting operations for workstations 10.1.1.1 and 10.1.1.2 (operation
> >> for 10.1.1.1 is started at 10:50:30 and operation for 10.1.1.2 at
> >> 10:50:34). Also, the operation which runs for 10.1.1.1 would fire an
> >> alarm when the fifth event appears (at 10:50:38), since at that point
> >> the operation has see login failure events for three distinct user
> >> accounts bob/mydomain, alice/mydomain and donald/mydomain. Note that
> >> the operation would not count the third event, since alice/mydomain
> >> has already been observed during the last 60 seconds (see the second
> >> event). Also, the fourth event is irrelevant for the counting
> >> operation which runs for 10.1.1.1, since the workstation IP address is
> >> different from 10.1.1.1 in this event.
> >>
> >> I hope this example is helpful.
> >>
> >> kind regards,
> >> risto
> >>
> >> Kontakt James Lay (<j...@slave-tothe-box.net>) kirjutas kuupäeval R,
> >> 15. märts 2019 kell 22:13:
> >>
> >>> So I have a log file that logs user login attempts made to a domain
> >>> controller like so (bro/zeek):
> >>>
> >>> 2019-03-15T10:50:30-0600        CAnW7i1DW5gZp7c6Vd      cx.x.x.x
> >>>
> >>> 62469   sx.x.x.x      88      AS      user/domain
> >>> krbtgt/domain
> >>> F       KDC_ERR_PREAUTH_FAILED  -       2037-09-12T20:48:05-0600
> >>>
> >>> -       T       T       -
> >>>
> >>> In looking at the man page at:
> >>> http://simple-evcorr.github.io/man.html
> >>> I'm looking at:
> >>>
> >>> type=SingleWithThreshold
> >>> ptype=RegExp
> >>> pattern=sshd\[\d+\]: Failed .+ for (\S+) from [\d.]+ port \d+ ssh2
> >>> desc=Three SSH login failures within 1m for user $1
> >>> action=pipe '%s' /bin/mail -s 'SSH login alert' root@localhost
> >>> window=60
> >>> thresh=3
> >>>
> >>> My plan is to match on the cx.x.x.x IP address and username.  From
> >>> the
> >>> above I know I can do this, but I do NOT want to match on the same
> >>> user...the idea is catch a single IP address (workstation) that
> >>> fails to
> >>> login to a Windows Domain Controller using more than one username
> >>> (domain user brute force).  I don't want to match just one username
> >>> (in
> >>> this case at least) as, say if a user password expires over the
> >>> weekend,
> >>> then multiple failed attempts would happen for the same user.  Any
> >>> advice on how to, in layman's terms, "match on a single ip with 3
> >>> failed
> >>> attempts from three different user names in 60 seconds".
> >>>
> >>> Thank you.
> >>>
> >>> James
> >>>
> >>> _______________________________________________
> >>> Simple-evcorr-users mailing list
> >>> Simple-evcorr-users@lists.sourceforge.net
> >>> https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users
> >>
> >>
> >> Links:
> >> ------
> >> [1] http://10.1.1.2
> >
> >
> > _______________________________________________
> > Simple-evcorr-users mailing list
> > Simple-evcorr-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users
>
_______________________________________________
Simple-evcorr-users mailing list
Simple-evcorr-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users

Reply via email to