tighter spam control needed
[ansible.git] / roles / journalwatch / templates / patterns
1 # In this file, patterns for journalwatch are defined to blacklist all journal
2 # messages which are not errors.
3 #
4 # Lines starting with '#' are comments. Inline-comments are not permitted.
5 #
6 # The patterns are separated into blocks delimited by empty lines. Each block
7 # matches on a log entry field, and the patterns in that block then are matched
8 # against all messages with a matching log entry field.
9 #
10 # The syntax of a block looks like this:
11 #
12 # <field> = <value>
13 # <pattern>
14 # [<pattern>]
15 # [...]
16 #
17 # If <value> starts and ends with a slash, it is interpreted as a regular
18 # expression, if not, it's an exact match. Patterns are always regular
19 # expressions.
20 #
21 # Below are some useful examples. If you have a small set of users, you might
22 # want to adjust things like "user \w" to something like "user (root|foo|bar)".
23 #
24 # The regular expressions are extended Python regular expressions, for details
25 # see:
26 #
27 # https://docs.python.org/3.4/library/re.html#regular-expression-syntax
28 # https://docs.python.org/3.4/howto/regex.html
29 # http://doc.pyschools.com/html/regex.html
30 #
31 # The journal fields are explained in systemd.journal-fields(7).
32
33 _SYSTEMD_UNIT = systemd-logind.service
34 New session [a-z]?\d+ of user \w+\.
35 Removed session [a-z]?\d+\.
36
37 SYSLOG_IDENTIFIER = /(CROND|crond)/
38 pam_unix\(crond:session\): session (opened|closed) for user \w+
39 \(\w+\) CMD .*
40
41 SYSLOG_IDENTIFIER = systemd
42 (Stopped|Stopping|Starting|Started) .*
43 (Created slice|Removed slice) user-\d+\.slice\.
44 Received SIGRTMIN\+24 from PID .*
45 (Reached target|Stopped target) .*
46 Startup finished in \d+ms\.
47 {% if journalwatch is defined and journalwatch.strato_broken | default(False) %}
48 Failed to create /user.slice/user-\d+.slice/user@\d+.service/init.scope control group: Permission denied
49 Failed to allocate manager object: Permission denied
50 {% endif %}
51
52 _SYSTEMD_UNIT = init.scope
53 user@\d+\.service: Killing process \d+ \(kill\) with signal SIGKILL\.
54 {% if journalwatch is defined and journalwatch.strato_broken | default(False) %}
55 Failed to set devices.allow on /system.slice/[a-z-]+.service: Operation not permitted
56 {% endif %}
57
58 SYSLOG_IDENTIFIER = sudo
59 \s*[._\w-]+ : TTY=(unknown|console|(pts/|ttyp?|vc/)\d+) ; PWD=[^;]+ ; USER=[._\w-]+ ; COMMAND=.*
60
61 SYSLOG_IDENTIFIER = su
62 \(to [._\w-]+\) [._\w-]+ on none
63
64 _SYSTEMD_UNIT = postfix@-.service
65 warning: hostname [\w._-]+ does not resolve to address [\da-fA-F.:]+(: .*)?
66 warning: [._\w-]+\[[\da-fA-F.:]+\]: SASL (LOGIN|PLAIN) authentication failed:.*
67 warning: non-SMTP command from [._\w-]+\[[\da-fA-F.:]+\]: .*
68 warning: TLS library problem: error:[0-9A-F]+:SSL routines:\w+:(no shared cipher|decryption failed or bad record mac|unknown protocol|version too low):[\w./]+:\d+:
69 {% if journalwatch is defined and journalwatch.postfix_slow | default(False) %}
70 warning: psc_cache_update: btree:/var/lib/postfix/[a-z_]+ (update|lookup) average delay is \d\d\d ms
71 {% endif %}
72 {% if journalwatch is defined and journalwatch.strato_broken | default(False) %}
73 warning: dnsblog reply timeout [0-9]+s for [\w._-]+
74 warning: dnsblog_query: lookup error for DNS query .*
75 {% endif %}
76
77 _SYSTEMD_UNIT = dovecot.service
78 auth: Warning: auth client \d+ disconnected with \d+ pending requests: (EOF|Connection reset by peer)
79 auth: Warning: Event 0x[\da-fA-F]+ leaked \(parent=\(nil\)\): auth-client-connection.c:\d+
80
81 SYSLOG_IDENTIFIER = sshd
82 error: Received disconnect from [\da-fA-F.:]+ port \d+:\d+: .*
83 error: maximum authentication attempts exceeded for (invalid user \w*|\w+) from [\da-fA-F.:]+ port \d+ ssh2 \[preauth\]
84 fatal: ssh_packet_get_string: string is too large \[preauth\]
85
86 _SYSTEMD_UNIT = bind9.service
87 client [\da-fA-F.:]+#\d+( \([\w.-]+\))?: (zone transfer '[\w.-]+/AXFR/IN' denied|message parsing failed: (bad compression pointer|bad label type|unexpected end of input))
88
89 _SYSTEMD_UNIT = opendkim.service
90 [A-Z0-9]+: (bad signature data|failed to parse [Aa]uthentication-[Rr]esults: header field)
91 [A-Z0-9]+: key retrieval failed \(s=[\w._-]+, d=[\w._-]+\)(: '[\w._-]+' record not found)?
92
93 _SYSTEMD_SLICE=system-openvpn.slice
94 (client/)?[0-9a-f.:]+ (peer info: .*|VERIFY OK: .*|Outgoing Data Channel: .*|Incoming Data Channel: .*|Control Channel: .*|TLS: .*|\[client\] .*|MULTI(_sva)?: .*|SIGUSR1.*|PUSH: .*|SENT CONTROL \[client\]: .*)