summaryrefslogtreecommitdiffstats
path: root/LogActio
Commit message (Collapse)AuthorAgeFilesLines
* IPTipset: Add possibility to save ipset state between runsDavid Sommerseth2015-09-251-2/+45
| | | | | | | | By setting the ipset-save Reporter option to point at a file name, the state will be automatically loaded upon start and saved before LogActio stops running. Signed-off-by: David Sommerseth <davids@redhat.com>
* Fix iptables cleanup bugDavid Sommerseth2015-09-251-3/+9
| | | | Signed-off-by: David Sommerseth <davids@redhat.com>
* If an IP address is already registered, double check with ipset tooDavid Sommerseth2015-09-251-1/+10
| | | | | | | This is needed to avoid LogActio believing an IP address has been registered but have been removed from ipset - either manually or by a timeout. Signed-off-by: David Sommerseth <davids@redhat.com>
* Fix silly doc errorDavid Sommerseth2015-09-251-1/+1
| | | | Signed-off-by: David Sommerseth <davids@redhat.com>
* Fix off-by-one in hit counterDavid Sommerseth2015-09-251-1/+1
| | | | | | | Without this patch the "count" variable would be off by one when passing it to the reporter modules. Signed-off-by: David Sommerseth <davids@redhat.com>
* Fix typo and catch any other dict key issues in ThreadWatchDavid Sommerseth2015-09-251-6/+10
| | | | Signed-off-by: David Sommerseth <davids@redhat.com>
* Added another "reporter" module - IPTipsetDavid Sommerseth2013-12-261-0/+288
| | | | | | | | | This requires currently logactio to run as root. On matches, instead of reporting the match it will use the IP address extrated via the regex and add it to an ipset(8) set (hash:ip). This set can then be used in other iptables rules to f.ex block failing attempts. Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
* Added a new threshold parameter: threshold-typeDavid Sommerseth2013-12-262-31/+195
| | | | | | | | | | | | | | | | This can be set to either 'rule' or 'exact'. If not defined, it defaults to 'rule' which is exactly the same as before. In 'rule' mode, the threshould counter is increased each time the regular expression triggers a match. By switching to 'exact', it will be defined a threshold counter based on the conntents of the regex groups when a match is found. This gives a more fine grained threshold counter, which can be used for example for blocking specific IP addresses after a certain number of failed attempts is caught. Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
* Added logging to stdoutDavid Sommerseth2013-12-261-0/+17
| | | | Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
* Added a simple logfile reopen mechanismDavid Sommerseth2012-11-151-1/+15
| | | | | | | | If logrotate has been run inbetween since last time the log file was checked, the opened fd will not point at the new file. In this case reopen the log file and process all new events in this new file. Signed-off-by: David Sommerseth <davids@redhat.com>
* Added 'reset-rule-rate-limits' variable to [Rules:*] sectionsDavid Sommerseth2012-09-281-1/+21
| | | | | | | | | | | | | | | | | | | | This variable takes a comma separated list of rule names, for the same log file, which will reset the any active processing limitations. This can make one rule enforce another rule to become active again if 'rate-limit' or 'time-frame' limitations for that rule is stopping it from reacting. A useful scenario for this feature is if there is a rule which only reports about connection issues f.ex. only once an hour. If the connection comes back again another rule can report about this instantly. Without this feature enabled, it can take up to one hour before the report about the newly broken connection is sent. By enabling this feature, the "connection OK" rule can reset the rate-limit and/or time-frame restrictions on the "broken connection" rule and thus force a report instantly if the connection breaks again - regardless of the rate-limit/time-frame limitation. Signed-off-by: David Sommerseth <davids@redhat.com>
* Added a rate-limit variable to [Rule:*] sectionsDavid Sommerseth2012-09-211-3/+10
| | | | | | | | | | | | This will avoid sending more reports if it happens within the given amount of seconds since the last report for this rule. So if you have this set to 10 seconds and this rule matches a log line every second, the time between each report will be 10 seconds. The rate-limit is kind of defining 1 report per X seconds. Signed-off-by: David Sommerseth <davids@redhat.com>
* Added support for time-frame variable in [Rule:* sections]David Sommerseth2012-09-211-3/+22
| | | | | | | | | | This optional variable extends the threshold trigger to require the matching rule to have a hit within the given time-frame. If threshold is set to 3 and time-frame to 10, it must be 3 events within 10 seconds for this rule to cause an action. Signed-off-by: David Sommerseth <davids@redhat.com>
* Added a Qpid reporter moduleDavid Sommerseth2012-09-161-0/+123
| | | | | | | This allows alerts to be sent to a Qpid based AMQP broker. A simple alert consumer has been added as well. Signed-off-by: David Sommerseth <davids@redhat.com>
* Added support for multiple reporters per [Logfile:*] and [Rule:*]David Sommerseth2012-09-161-19/+31
| | | | | | This allows multiple reporters to act when it is triggered Signed-off-by: David Sommerseth <davids@redhat.com>
* Add support for specific reporter modules in Rule sectionsDavid Sommerseth2012-09-161-7/+37
| | | | | | | Adding a 'reporters' variable in a [Rule:*] section will override the default reporter defined in [Logfile:*] Signed-off-by: David Sommerseth <davids@redhat.com>
* Added a simple SMTP reporter moduleDavid Sommerseth2012-09-161-0/+142
| | | | | | This reporter module will send e-mails with the gathered information Signed-off-by: David Sommerseth <davids@redhat.com>
* Give a sensible error if an unknown reporter is foundDavid Sommerseth2012-09-161-0/+2
| | | | Signed-off-by: David Sommerseth <davids@redhat.com>
* Added a simple HTTP reporter moduleDavid Sommerseth2012-09-161-0/+106
| | | | | | This will send alerts to a web server via HTTP GET/POST requests Signed-off-by: David Sommerseth <davids@redhat.com>
* Implement support for external reporter modulesDavid Sommerseth2012-09-161-2/+15
| | | | | | | The [Reporter:*] definitions can now take the 'module' variable, which is the name of the reporter module, located in LogActio/Reporters/ Signed-off-by: David Sommerseth <davids@redhat.com>
* Initial import of logactioDavid Sommerseth2012-09-165-0/+536
This is the first step of the logactio framework Signed-off-by: David Sommerseth <davids@redhat.com>