Imported Upstream version 2.3
[ossec-hids.git] / etc / decoder.xml
1 <!-- @(#) $Id: decoder.xml,v 1.162 2009/11/09 20:32:29 dcid Exp $
2   -  OSSEC log decoder.
3   -  Author: Daniel B. Cid
4   -  License: http://www.ossec.net/en/licensing.html
5   -->
6         
7
8 <!--
9    - Allowed fields:
10    - location - where the log came from (only on FTS)
11    - srcuser  - extracts the source username
12    - dstuser  - extracts the destination (target) username
13    - user     - an alias to dstuser (only one of the two can be used)
14    - srcip    - source ip
15    - dstip    - dst ip
16    - srcport  - source port
17    - dstport  - destination port
18    - protocol - protocol
19    - id       - event id 
20    - url      - url of the event
21    - action   - event action (deny, drop, accept, etc)
22    - status   - event status (success, failure, etc)
23    - extra_data     - Any extra data
24   -->
25
26
27 <!-- Pam decoder.
28   -  Will extract username and srcip whenever is possible.
29   - Examples:
30   - su(pam_unix)[23164]: authentication failure; logname= uid=1342 euid=0 tty= ruser=dcid rhost=  user=osaudit
31   - su(pam_unix)[2298]: authentication failure; logname= uid=1342 euid=0 tty= ruser=dcid rhost=  user=root
32   - vsftpd(pam_unix)[25073]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=211.100.27.101
33   - vsftpd(pam_unix)[25073]: check pass; user unknown
34   - sshd(pam_unix)[16660]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=202.110.184.100  user=root
35   - su(pam_unix)[14592]: session opened for user news by (uid=0)
36   - su(pam_unix)[14592]: session closed for user news
37   - sshd(pam_unix)[13025]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=210.70.129.207  user=nobody
38   - sshd(pam_unix)[18987]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=languedoc-2-81-56-82-49.fbx.proxad.net  user=root
39   - sshd(pam_unix)[17365]: session opened for user test by (uid=508)
40   - sshd(pam_unix)[1345]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=222.237.79.237  user=root
41   - sshd(pam_unix)[15794]: 2 more authentication failures; logname= uid=0
42   euid=0 tty=ssh ruser= rhost=10.0.3.1  user=root
43   - Nov 17 21:41:22 localhost su[8060]: (pam_unix) session opened for user root by (uid=0)
44   - Nov 11 22:46:29 localhost vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=1.2.3.4
45   - Sep 28 15:28:58 server login: pam_unix(login:session): session opened for user carl by LOGIN(uid=0)
46   - Sep 28 15:35:18 server sshd[123]: pam_unix(sshd:session): session opened for user carl by (uid=0)
47   -->
48 <decoder name="pam">
49   <program_name>(pam_unix)$</program_name>
50 </decoder>
51
52 <decoder name="pam">
53   <program_name></program_name>
54   <prematch>^pam_unix|^\(pam_unix\)</prematch>
55 </decoder>
56
57 <decoder name="pam-user">
58   <parent>pam</parent>
59   <prematch>^session \w+ </prematch>
60   <regex offset="after_prematch">^for user (\S+)</regex>
61   <order>user</order>
62 </decoder>  
63
64 <decoder name="pam-host-user">
65   <parent>pam</parent>
66   <prematch>rhost=\S+\s+user=\S+</prematch>
67   <regex>rhost=(\S+)\s+user=(\S+)</regex>
68   <order>srcip, user</order>
69 </decoder>
70
71 <decoder name="pam-host">
72   <parent>pam</parent>
73   <prematch> rhost</prematch>
74   <regex offset="after_prematch">^=(\S+)</regex>
75   <order>srcip</order>
76 </decoder>
77
78
79   
80 <!-- SSH decoder.
81   -  Will extract username and srcip from the logs.
82   -  Only add to the FTS if the login was successful
83   -  If the login failed, just extract the username/srcip for correlation
84   -  Examples:
85   -  sshd[8813]: Accepted password for root from 192.168.10.1 port 1066 ssh2
86   -  sshd[2404]: Accepted password for root from 192.168.11.1 port 2011 ssh2
87   -  sshd[21405]: Accepted password for root from 192.1.1.1 port 6023 ssh2
88   -  sshd[21487]: Failed password for root from 192.168.1.1 port 1045 ssh2
89   -  sshd[8813]: Failed none for root from 192.168.10.161 port 1066 ssh2
90   -  sshd[12675]: Failed password for invalid user lala11 from x.x.x.x ..
91   -  sshd[12914]: Failed password for invalid user lala6 from ...
92   -  sshd[8267]: Failed password for illegal user test from 62.67.45.4 port 39141 ssh2
93   -  sshd[11259]: Invalid user abc from 127.0.0.1
94   -  "" Failed keyboard-interactive for root from 192.1.1.1 port 1066 ssh2    
95   -  sshd[23857]: [ID 702911 auth.notice] User xxx, coming from zzzz,
96   -  authenticated. 
97   -  sshd[23578]: reverse mapping checking getaddrinfo for pib4.catv-bauer.at failed - POSSIBLE BREAKIN ATTEMPT!
98   -  sshd[61834]: reverse mapping checking getaddrinfo for sv.tvcm.ch
99   -  failed - POSSIBLE BREAKIN ATTEMPT!
100   -  sshd[3251]: User root not allowed because listed in DenyUsers
101   -  [Time 2006.12.28 15:53:55 UTC] [Facility auth] [Sender sshd] [PID 483] [Message error: PAM: Authentication failure for username from 192.168.0.2] [Level 3] [UID -2] [GID -2] [Host Hostname]
102   -  [Time 2006.11.02 11:41:44 UTC] [Facility auth] [Sender sshd] [PID 800] [Message refused connect from 51.124.44.34] [Level 4] [UID -2] [GID -2] [Host test2-emac]
103   -  Apr 23 07:03:53 machinename sshd[29961]: User root from 12.3.4.5
104   not allowed because not listed in AllowUsers
105   -  sshd[9815]: scanned from 127.0.0.1 with SSH-1.99-AKASSH_Version_Mapper1.  Don't panic.
106   -->
107
108 <decoder name="sshd">
109   <program_name>^sshd</program_name>
110 </decoder>
111
112 <decoder name="sshd-success">
113   <parent>sshd</parent>
114   <prematch>^Accepted</prematch>
115   <regex offset="after_prematch">^ \S+ for (\S+) from (\S+) port </regex>
116   <order>user, srcip</order>
117   <fts>name, user, location</fts>
118 </decoder>
119
120 <decoder name="ssh-denied">
121   <parent>sshd</parent>
122   <prematch>^User \S+ from </prematch>
123   <regex offset="after_parent">^User (\S+) from (\S+) </regex>
124   <order>user, srcip</order>
125 </decoder>
126
127 <decoder name="sshd-success-solaris">
128   <parent>sshd</parent>
129   <prematch>^User </prematch>
130   <regex offset="after_prematch">^(\S+), coming from (\S+), </regex>
131   <order>user, srcip</order>
132   <fts>name, user, location</fts>
133 </decoder>
134
135 <decoder name="ssh-invfailed">
136   <parent>sshd</parent>
137   <prematch>^Failed \S+ for invalid user|^Failed \S+ for illegal user</prematch>
138   <regex offset="after_prematch">from (\S+) port \d+ \w+$</regex>
139   <order>srcip</order>
140 </decoder>
141
142 <decoder name="ssh-failed">
143   <parent>sshd</parent>
144   <prematch>^Failed \S+ </prematch>
145   <regex offset="after_prematch">^for (\S+) from (\S+) port \d+ \w+$</regex>
146   <order>user, srcip</order>
147 </decoder>
148
149 <decoder name="ssh-error">
150   <parent>sshd</parent>
151   <prematch>^error: PAM: Authentication \w+ </prematch>
152   <regex offset="after_prematch">^for (\S+) from (\S+)$</regex>
153   <order>user, srcip</order>
154 </decoder>
155
156 <decoder name="ssh-reverse-mapping">
157   <parent>sshd</parent>
158   <prematch>^reverse mapping checking </prematch>
159   <regex offset="after_prematch">^\w+ for (\S+) </regex>
160   <order>srcip</order>
161 </decoder>       
162
163 <decoder name="ssh-invalid-user">
164   <parent>sshd</parent>
165   <prematch>^Invalid user|^Illegal user</prematch>
166   <regex offset="after_prematch"> from (\S+)$</regex>
167   <order>srcip</order>
168 </decoder>
169
170 <decoder name="ssh-scan">
171   <parent>sshd</parent>
172   <prematch>^scanned from</prematch>
173   <regex offset="after_prematch"> (\S+) </regex>
174   <order>srcip</order>
175 </decoder>
176
177 <decoder name="ssh-scan2">
178   <parent>sshd</parent>
179   <prematch>^Did not receive identification|^Bad protocol version</prematch>
180   <regex offset="after_prematch"> from (\S+)$</regex>
181   <order>srcip</order>
182 </decoder>
183
184
185
186 <!--
187  - Telnet decoder
188  - Will extract the srcip
189  - Examples:
190  - May 31 12:33:44 queen telnetd[9876]: warning: can't verify hostname: 
191    gethostbyname(131.1.satis-tl.ru) failed
192  - May 29 21:12:18 queen telnetd[6474]: refused connect from 81.215.42.27
193  - Jun  1 23:02:07 queen telnetd[62948]: connect from external.example.net
194  - Jun  1 23:02:07 queen telnetd[62948]: ttloop:  read: A connection with a remote socket was reset by that socket.
195  - Jun  2 09:54:28 valhalla in.telnetd[19723]: [ID 927837 local2.info] connect from external.example.net
196  - Jun  2 09:54:28 valhalla telnetd[19723]: [ID 485252 daemon.info] ttloop:  peer died: Error 0
197  -->
198 <decoder name="telnetd">
199   <program_name>^telnetd|^in.telnetd</program_name>
200 </decoder>
201
202 <decoder name="telnetd-ip">
203   <parent>telnetd</parent>
204   <regex>from (\d+.\d+.\d+.\d+)$</regex>
205   <order>srcip</order>
206 </decoder>
207
208
209
210 <!--
211  - Samba decoder.
212  - Will extraxt the username/srcip
213  - Examples:
214  - smbd[832]: Denied connection from (192.168.3.23)
215  - smbd[832]: Connection denied from 0.0.0.0
216  - smbd[17535]: Permission denied\-\- user not allowed to delete, 
217    pause, or resume print job. User name: ahmet. Printer name: prnq1.
218   -->
219
220 <decoder name="smbd">
221   <program_name>^smbd</program_name>
222 </decoder>
223
224 <decoder name="smbd-user">
225   <parent>smbd</parent>
226   <prematch>User name:</prematch>
227   <regex offset="after_prematch">^ (\S+).</regex>
228   <order>user</order>
229 </decoder>
230
231 <decoder name="smbd-ip">
232   <parent>smbd</parent>
233   <regex> from \((\d+.\d+.\d+.\d+)\)</regex>
234   <order>srcip</order>
235 </decoder>
236
237
238
239 <!-- Sudo decoder.
240   -  Will extract the username
241   -  Examples:
242   -  Apr 27 15:22:23 niban sudo:     dcid : TTY=pts/4 ; PWD=/home/dcid ; USER=root ; COMMAND=/usr/bin/tail /var/log/snort/alert.fast
243   -  Apr 27 15:25:08 niban sudo:     dcid : TTY=pts/4 ; PWD=/home/dcid ; USER=root ; COMMAND=/usr/bin/tail /var/log/snort/alert.fast
244   -  Apr 14 10:59:01 enigma sudo:     dcid : TTY=ttyp3 ; PWD=/home/dcid/ossec-hids.0.1a/src/analysisd ; USER=root ; COMMAND=/bin/cp -pr ../../bin/addagent ../../bin/osaudit-logaudit ../../bin/ossec-execd ../../bin/ossec-logcollector ../../bin/ossec-maild ../../bin/ossec-remoted /var/ossec/bin
245   -  Apr 19 14:52:02 enigma sudo:     dcid : TTY=ttyp3 ; PWD=/var/www/alex ; USER=root ; COMMAND=/sbin/chown dcid.dcid .
246   -->
247 <decoder name="sudo">
248   <program_name>^sudo</program_name>
249   <regex>^\s+(\S+)\s:</regex>
250   <order>user</order>
251   <fts>name,user,location</fts>
252   <ftscomment>First time user executed the sudo command</ftscomment>
253 </decoder>  
254
255
256 <!-- Su decoder.
257   -  Will extract the username.
258   -  Examples:
259   -  su[2921936]: failed: ttyq4 changing from ldap to root
260   -  su[234]: BAD SU ger to fwmaster on /dev/ttyp0
261   -  su(pam_unix)[23164]: authentication failure; logname= uid=1342 euid=0 tty= ruser=dcid rhost=  user=osaudit
262   -  su(pam_unix)[2298]: authentication failure; logname= uid=1342 euid=0 tty= ruser=dcid rhost=  user=root
263   -  Jul  5 12:17:38 lili su[2702]: - pts/5 ab-dc-root
264   -  Jul  5 12:13:15 lili su[2614]: - pts/6 dcid-root
265   -  su[29149]: + pts/5 dcid:root
266   -  SU 07/23 01:24 + pts/4 lcid-root
267   -  Apr 22 17:51:51 enigma su: dcid to root on /dev/ttyp1
268   - 'su root' failed for chapman on /dev/pts/1
269   -->
270 <decoder name="su">
271   <program_name>^su$</program_name>
272 </decoder>
273
274 <decoder name="su-detail">
275   <parent>su</parent>  
276   <prematch>^'su </prematch>
277   <regex>^'su (\S+)' \S+ for (\S+) on \S+$</regex>
278   <order>dstuser, srcuser</order>
279   <fts>name, srcuser, location</fts>
280 </decoder>
281
282 <decoder name="su-detail2">
283   <parent>su</parent>  
284   <regex>^BAD SU (\S+) to (\S+) on|</regex>
285   <regex>^failed: \S+ changing from (\S+) to (\S+)|</regex>
286   <regex>^\S \S+ (\S+)\p(\S+)$|^(\S+) to (\S+) on </regex>
287   <order>srcuser, dstuser</order>
288   <fts>name, srcuser, location</fts>
289 </decoder>
290
291 <decoder name="su">
292   <prematch>^SU \S+ \S+ </prematch>
293   <regex offset="after_prematch">^\S \S+ (\S+)-(\S+)$</regex>
294   <order>srcuser, dstuser</order>
295   <fts>name, srcuser, location</fts>
296 </decoder>
297
298
299
300 <!-- ProFTPD decoder.
301   - Will extract the username/srcip
302   - Examples:
303   - proftpd[26916]: hayaletgemi (85.101.218.135[85.101.218.135]) - ANON anonymous: Login successful.
304   - proftpd[12564]: juf01 (pD9EE35B1.dip.t-dialin.net[217.238.53.177]) - USER jufu: Login successful
305   - proftpd[30362] xx.yy.zz (aa.bb.cc[aa.bb.vv.dd]): USER backup: Login successful.
306   - proftpd[2344]: refused connect from 192.168.1.2 (192.168.1.2)
307   - proftpd[15181]: valhalla (crawl-66-249-66-80.googlebot.com[66.249.66.80]) - Connection from crawl-66-249-66-80.googlebot.com [66.249.66.80] denied.
308   -->
309 <decoder name="proftpd">  
310   <program_name>^proftpd</program_name>
311 </decoder>
312
313 <decoder name="proftpd-success">
314   <parent>proftpd</parent>  
315   <prematch>: Login successful</prematch>
316   <regex>^\S+ \(\S+[(\S+)]\)\s*\S \w+ (\S+): </regex>
317   <regex>Login successful</regex>
318   <order>srcip, user</order>
319   <fts>name, user, srcip, location</fts>
320 </decoder>
321
322 <decoder name="proftpd-ip">
323   <parent>proftpd</parent>
324   <regex>^\S+ \(\S+[(\S+)]\)</regex>
325   <order>srcip</order>
326 </decoder>
327
328
329
330 <!-- Pure-FTPd decoder.
331   - Will extract the username/srcip whenever possible.
332   - Samples by Peter Ahlert <peter@ifup.de> (thanks!)
333   - Examples:
334   - pure-ftpd-wrapper[926]: connect from 1.1.0.1 (1.1.0.1)
335   - pure-ftpd: (?@1.1.0.1) [INFO] New connection from 1.1.0.1
336   - pure-ftpd: (abcde@1.1.0.1) [INFO] Can't change directory to /.test: Permission denied
337   - pure-ftpd: (abcde@1.1.0.1) [INFO] Logout.
338   - pure-ftpd: (?@59.150.14.54) [WARNING] Authentication failed for user [newuser]
339   -->
340 <decoder name="pure-ftpd">
341   <program_name>^pure-ftpd</program_name>
342 </decoder>
343
344 <decoder name="pure-ftpd-login">
345   <parent>pure-ftpd</parent>
346   <prematch>^\S+ [INFO] \S+ is now logged in</prematch>
347   <regex>^\(?@(\S+)\) [INFO] (\S+) is now logged in</regex>
348   <order>srcip, user</order>
349   <fts>name, user, srcip, location</fts>
350 </decoder>
351
352 <decoder name="pure-ftpd-generic">
353   <parent>pure-ftpd</parent>
354   <regex>^\((\S+)@(\S+)\) [</regex>
355   <order>user,srcip</order>
356 </decoder>  
357
358
359
360 <!-- vsftpd decoder.
361   - Will extract the srcip.
362   - Examples:
363   - Sun Jun  4 22:08:04 2006 [pid 21612] CONNECT: Client "192.168.2.10"
364   - Sun Jun  4 22:08:39 2006 [pid 21611] [dcid] OK LOGIN: Client "192.168.2.10"
365   - Sun Jun  4 22:09:22 2006 [pid 21622] CONNECT: Client "192.168.2.10"
366   - Sun Jun  4 22:09:24 2006 [pid 21621] [lalal] FAIL LOGIN: Client "192.168.2.10"
367   - Sat Jun  3 07:51:42 2006 [pid 25073] [Administrator] FAIL LOGIN: Client
368   "211.100.27.101"
369   - Sun Aug 27 16:28:20 2006 [pid 13962] [xx] OK UPLOAD: Client "1.2.3.4", "/a.php", 8338 bytes, 18.77Kbyte/sec
370   - Jul 13 12:31:20 www vsftpd: Sun Jul 13 10:31:20 2008 [pid 27528] [anonymous] FAIL LOGIN: Client "84.140.234.76"
371   -->
372 <decoder name="vsftpd">
373   <prematch>^\w\w\w \w\w\w\s+\d+ \S+ \d+ [pid \d+] </prematch>
374   <regex offset="after_prematch">Client "(\d+.\d+.\d+.\d+)"$</regex>
375   <order>srcip</order>
376 </decoder>
377
378 <decoder name="vsftpd">
379   <program_name>^vsftpd</program_name>
380   <prematch>^\w\w\w \w\w\w\s+\d+ \S+ \d+ [pid \d+] </prematch>
381   <regex offset="after_prematch">Client "(\d+.\d+.\d+.\d+)"$</regex>
382   <order>srcip</order>
383 </decoder>
384
385
386
387 <!-- FTPD decoder - Solaris, MacOS and Wu-ftpd).
388   - Examples:
389   - ftpd[811166]: refused connect from 88.225.42.182
390   - in.ftpd[18561]: [ID 484914 daemon.notice] gethostbyaddr: nameservices.net. != 216.117.134.168
391   - ftpd[31918]: FTPD: EXPORT file local , remote
392   -->
393 <decoder name="ftpd">
394   <program_name>^ftpd|^in.ftpd</program_name>
395 </decoder>
396
397 <decoder name="ftpd-mac-failure">
398   <parent>ftpd</parent>
399   <prematch>^Failed authentication from: \S+ |</prematch>
400   <prematch>^repeated login failures from </prematch>
401   <regex offset="after_prematch">[(\d+.\d+.\d+.\d+)]$</regex>
402   <order>srcip</order>
403 </decoder>
404
405 <decoder name="ftpd-refused">
406   <parent>ftpd</parent>
407   <prematch>^FTP LOGIN REFUSED </prematch>
408   <regex offset="after_prematch">[(\d+.\d+.\d+.\d+)]$</regex>
409   <order>srcip</order>
410 </decoder>
411
412 <decoder name="ftpd-ip">
413   <parent>ftpd</parent>
414   <regex>from (\d+.\d+.\d+.\d+)$</regex>
415   <order>srcip</order>
416 </decoder>
417
418
419
420 <!-- Arpwatch decoder.
421   - Will extract srcip/mac for "new station" messages.
422   - Examples:
423   - arpwatch: new station 192.168.1.103 0:11:43:5e:5d:80 eth0
424   - arpwatch: bogon 172.16.150.149 0:2:b3:d6:e5:68 eth0
425   - arpwatch: new station 192.168.2.10 0:c0:4f:78:32:be
426   -->
427 <decoder name="arpwatch">
428   <program_name>^arpwatch</program_name>
429 </decoder>
430
431 <decoder name="arpwatch-new">
432   <parent>arpwatch</parent>
433   <prematch>^new station |^bogon </prematch>
434   <regex offset="after_prematch">^(\d+.\d+.\d+.\d+) (\S+)</regex>
435   <order>srcip, extra_data</order>
436   <fts>name, srcip, extra_data</fts>
437 </decoder>
438
439
440
441 <!-- MySQL decoder.
442   - Examples:
443   - MySQL log: 060516 22:38:46 mysqld started
444   - MySQL log: 060516 22:38:46 mysqld ended
445   - MySQL log: 070823 21:23:08 2 Query       INSERT INTO signature(id, rule_id, level, description) VALUES (NULL, '18103','5','Windows error event.') ON DUPLICATE KEY UPDATE level='5'
446   - 070824 11:33:51       6 Connect     Access denied for user 'roota'@'localhost' (using password: YES)
447   -->
448 <decoder name="mysql_log">
449   <prematch>^MySQL log:</prematch>
450 </decoder>
451
452
453
454 <!-- PostgreSQL decoder.
455   - Examples:
456   - [2007-08-31 18:37:09.454 ADT] 192.168.2.99: LOG:  connection authorized: user=ossec_user database=ossecdb
457   - [2007-08-31 18:37:15.525 ADT] 192.168.2.99: ERROR:  relation "alert2" does not exist
458   -->
459 <decoder name="postgresql_log">
460   <prematch>^[\d\d\d\d-\d\d-\d\d \S+ \w+] </prematch>
461   <regex offset="after_prematch">^\S+ (\w+): </regex>
462   <order>status</order>
463 </decoder>  
464
465
466
467 <!-- Imapd decoder.
468   - Will extract the username/srcip
469   - Examples:
470   - imapd[26888]: Login failed user=babadosfashion auth=babadosfashion host=bahiana.resenet.com.br [200.255.5.8]
471   - imapd[21040]: Login failed user=root domain=(null) auth=root host=host29-141.poo
472     l8249.interbusiness.it [82.49.141.29]
473   - imapd[27113]: Authenticated user=badyy host=a.resenet.com.br [1.2.3.4]
474   - imapd[27113]: Logout user=badyy host=a.resenet.com.br [1.2.3.4]  
475   -->
476 <decoder name="imapd">
477   <program_name>^imapd</program_name>
478   <regex offset="after_prematch">user=(\S+) \.+ [(\d+.\d+.\d+.\d+)]$</regex>    
479   <order>user,srcip</order>
480 </decoder>
481
482
483
484 <!-- Vpopmail decoder. (by Ceg Ryan <cegryan ( at ) gmail.com>)
485   - Examples:
486   - vpopmail[32485]: vchkpw-pop3: password fail abc@xxx.com:x.x.x.x
487   - vpopmail[32485]: vchkpw-2110 password fail abc@xxx.com:x.x.x.x
488   -                  vchkpw-pop3: password fail (pass: 'test') user@my_domain:1.2.3.4
489   - vpopmail[2100]: vchkpw-pop3: vpopmail user not found abc@xxx.com:x.x.x.x
490   - vpopmail[4162]: vchkpw-pop3: vpopmail user not found support@:69.3.64.3
491   -->
492 <decoder name="vpopmail">
493   <program_name>^vpopmail</program_name>
494 </decoder>
495
496 <decoder name="vpopmail-fail">
497   <parent>vpopmail</parent>
498   <prematch>^vchkpw-\S+: password fail</prematch>
499   <regex offset="after_prematch"> (\S+)@\S+:(\d+.\d+.\d+.\d+)$</regex>
500   <order>user, srcip</order>
501 </decoder>
502
503 <decoder name="vpopmail-notfound">
504   <parent>vpopmail</parent>
505   <prematch>^vchkpw-\S+: vpopmail user not </prematch>
506   <regex offset="after_prematch">^found (\S+):(\d+.\d+.\d+.\d+)$</regex>
507   <order>user, srcip</order>
508 </decoder>
509
510 <decoder name="vpopmail-empty">
511   <parent>vpopmail</parent>
512   <prematch>^vchkpw-\S+: null password </prematch>
513   <regex offset="after_prematch">^given (\S+):(\d+.\d+.\d+.\d+)$</regex>
514   <order>user, srcip</order>
515 </decoder>
516
517 <decoder name="vpopmail-success">
518   <parent>vpopmail</parent>
519   <prematch>^vchkpw-\S+: \(\S+\) login </prematch>
520   <regex offset="after_prematch">^success (\S+):(\d+.\d+.\d+.\d+)$</regex>
521   <order>user, srcip</order>
522 </decoder>
523
524
525
526 <!-- VM-POP3 - Virtual Mail Pop3
527   - Examples:
528   -->
529 <decoder name="vm-pop3d">
530   <program_name>^vm-pop3d</program_name>
531 </decoder>
532
533 <decoder name="vm-pop3d-fail">
534   <parent>vm-pop3d</parent>
535   <prematch>^User '</prematch>
536   <regex offset="after_prematch">^(\S+)' - \w+ auth, </regex>
537   <regex>from=(\d+.\d+.\d+.\d+)$</regex>
538   <order>user, srcip</order>
539 </decoder>
540
541
542
543 <!-- Courier decoder
544   - Examples:
545   - pop3d-ssl: LOGIN FAILED, ip=[::ffff:192.168.0.200]
546   - courierpop3login: LOGIN, user=web10_mauricio, ip=[::ffff:192.168.0.100]
547   - courierpop3login: LOGIN FAILED, ip=[::ffff:192.168.0.188]
548   - imaplogin: DISCONNECTED, ip=[::ffff:127.0.0.1], time=0
549   - Nov 24 18:18:28 gandalf pop3d: LOGIN FAILED, ip=[::ffff:1.2.3.4]
550   -->
551 <decoder name="courier">
552   <program_name>^pop3d|^courierpop3login|^imaplogin</program_name>
553 </decoder>
554
555 <decoder name="courier-login">
556   <parent>courier</parent>
557   <prematch>^LOGIN, </prematch>
558   <regex offset="after_prematch">^user=(\S+), ip=[(\S+\d)]$</regex>
559   <order>user, srcip</order>
560 </decoder>
561
562 <decoder name="courier-generic">
563   <parent>courier</parent>
564   <regex>, ip=[(\S+\d)]$</regex>
565   <order>srcip</order>
566 </decoder>
567
568
569
570 <!-- Dovecot Decoder
571   - Will extract username, srcip and dstip when available.
572   - Jun 17 10:15:24 hostname dovecot: Dovecot v1.2.rc3 starting up (core dumps disabled)
573   - Jun 17 10:15:24 hostname dovecot: Fatal: auth(default): Support not compiled in for passdb driver 'ldap'
574   - Jun 17 10:15:24 hostname dovecot: Fatal: Auth process died too early - shutting down
575   - dovecot: Jun 23 15:04:05 Info: imap-login: Login: user=<username>, method=PLAIN, rip=1.2.3.4, lip=1.2.3.5 Authentication Failure:
576   - Jan 11 03:42:09 hostname dovecot: auth-worker(default): sql(user@example.com,1.2.3.4): Password mismatch
577   - dovecot: Jan 07 14:46:28 Warn: auth(default): userdb(username,::ffff:127.0.0.1): user not found from userdb
578   - dovecot: Mar 13 15:25:07 Info: auth(default): pam(user@example.com,::ffff:1.2.3.4): pam_authenticate() failed: User not known to the underlying authentication module
579   - dovecot: Mar 13 15:25:07 Info: auth(default): passwd-file(user@example.com,::ffff:1.2.3.4): unknown user
580   - Jan 11 03:45:09 hostname dovecot: auth-worker(default): sql(username,1.2.3.4): unknown user 
581   - Jan 11 03:42:09 hostname dovecot: auth(default): pam(user@example.com,1.2.3.4): pam_authenticate() failed: User not known to the underlying authentication module
582   - Jul  4 17:30:51 hostname dovecot[2992]: pop3-login: Disconnected: rip=1.2.3.4, lip=1.2.3.5
583   - dovecot: Jun 23 15:04:06 Info: IMAP(username): Disconnected: Logged out bytes=59/566
584   - dovecot: May 31 09:43:57 Info: pop3-login: Aborted login (1 authentication attempts): user=<username>, method=PLAIN, rip=::ffff:1.2.3.4, lip=::ffff:1.2.3.5, secured
585   - Jan 30 09:37:55 hostname dovecot: pop3-login: Aborted login: user=<username>, method=PLAIN, rip=::ffff:1.2.3.4, lip=::ffff:1.2.3.5
586 -->
587
588 <decoder name="dovecot">
589   <program_name>^dovecot</program_name>
590 </decoder>
591
592 <decoder name="dovecot-success">
593   <parent>dovecot</parent>
594   <prematch offset="after_parent">^\w\w\w\w-login: Login: </prematch>
595   <regex offset="after_prematch">^user=\p(\S+)\p, method=\S+, rip=(\S+), </regex>
596   <order>user, srcip</order>
597 </decoder>
598
599 <decoder name="dovecot-aborted">
600   <parent>dovecot</parent>
601   <prematch offset="after_parent">^\w\w\w\w-login: Aborted login</prematch>
602   <regex offset="after_prematch"> user=\p\S+>, method=\w+, rip=(\S+), lip=\S+</regex>
603   <order>srcip</order>
604 </decoder>
605
606 <decoder name="dovecot-disconnect">
607   <parent>dovecot</parent>
608   <prematch offset="after_parent">^\w\w\w\w-login: Disconnected: </prematch>
609   <regex offset="after_prematch">^rip=(\S+), </regex>
610   <order>srcip</order>
611 </decoder>
612
613
614
615 <!-- Named decoder.
616   - Will extract the srcip
617   - Examples:
618   -  valhalla named[7885]: client 192.168.1.231#1142: update 'hayaletgemi.edu/IN' denied
619   - named[12637]: client 1.2.3.4#32769: query (cache) 'somedomain.com/MX/IN' denied
620  -->           
621 <decoder name="named">
622   <program_name>^named</program_name>
623 </decoder>
624
625 <decoder name="named_client">
626   <parent>named</parent>  
627   <prematch>^client </prematch>
628   <regex offset="after_prematch">^(\d+.\d+.\d+.\d+)#</regex>
629   <order>srcip</order>
630 </decoder>
631
632 <decoder name="named_from">
633   <parent>named</parent>  
634   <regex offset="after_parent"> from [(\d+.\d+.\d+.\d+)]</regex>
635   <order>srcip</order>
636 </decoder>
637
638
639
640 <!-- Postfix  decoder.
641   - Will extract the srcip
642   - Examples: 
643   - postfix/smtpd[32297]: NOQUEUE: reject: RCPT from unknown[213.255.237.245]: 554 
644     <ce101@ce.metu.edu.tr>: Relay access denied; from=<kryonomm@yahoo.com> 
645     to=<e10445@jubiipost.dk> proto=SMTP helo=<SM01.net>
646   - postfix/smtpd[27712]: NOQUEUE: reject: MAIL from localhost[127.0.0.1]: 452 Insufficient system storage
647  -->
648
649 <decoder name="postfix">
650   <program_name>^postfix</program_name>
651 </decoder>
652
653 <decoder name="postfix-reject">
654   <use_own_name>true</use_own_name>
655   <parent>postfix</parent>  
656   <prematch>^NOQUEUE: reject: \w\w\w\w from </prematch>
657   <regex offset="after_prematch">[(\d+.\d+.\d+.\d+)]: (\d+) </regex>
658   <order>srcip,id</order>
659 </decoder>
660
661 <decoder name="postfix-sasl">
662   <parent>postfix</parent>  
663   <prematch>^warning: \S+: SASL </prematch>
664   <regex>^warning: \S+[(\d+.\d+.\d+.\d+)]:</regex>
665   <order>srcip</order>
666 </decoder>
667
668
669 <!-- Sendmail decoder.
670   - Will extract the srcip
671   - Examples: 
672   - sendmail[15806618]: k1SN9pkK15806618: ruleset=check_mail, arg1=<rtreter@qffff.com>, 
673   - relay=dsl.static81215198185.ttnet.net.tr [81.215.198.185] (may be forged), reject=553 5.1.8 
674   - <rtreter@qffff.com>... Domain of sender address rtreter@qffff.com does not exist
675   - sm-msp-queue[13484]: k5TKj6L5012934: to=root, ctladdr=root (0/0), delay=00:04:00, xdelay=00:00:00, mailer=relay, pri=120112, relay=[127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
676   - sendmail[7735]: [ID 801593 mail.notice] k856Hah0007735: ruleset=check_rcpt, arg1=<sc@sd.com>, relay=[216.22.33.7], reject=553 5.3.0 <sc@sd.com>... Spammer 216.22.33.7 usergl@displaytoward.net rejected by RBL:http://www.spamhaus.org/
677   - sm-mta[23868]: k9BEQK0c023868: rejecting commands
678   from [200.121.73.169] [200.121.73.169] due to pre-greeting traffic
679   - sendmail[7818]: j6KKHo2d007818: rejecting commands from sv.e103gng.com [66.62.19.10] due to pre-greeting traffic
680  -->
681 <decoder name="sendmail-reject">
682   <program_name>^sendmail|^sm-mta|^sm-msp-queue</program_name>
683 </decoder>  
684
685 <decoder name="sendmail-pre-greeting">
686   <parent>sendmail-reject</parent>
687   <prematch>^\S+: rejecting commands from</prematch>
688   <regex offset="after_prematch">^ \S+ [(\d+.\d+.\d+.\d+)]</regex>
689   <order>srcip</order>
690 </decoder>
691
692 <decoder name="sendmail-reject-nodns">
693   <parent>sendmail-reject</parent>
694   <prematch>relay=[</prematch>
695   <regex offset="after_prematch">^(\d+.\d+.\d+.\d+)]</regex>
696   <order>srcip</order>
697 </decoder>
698
699 <decoder name="sendmail-reject-dns">
700   <parent>sendmail-reject</parent>
701   <prematch>relay=\S+ [</prematch>
702   <regex offset="after_prematch">^(\d+.\d+.\d+.\d+)]</regex>
703   <order>srcip</order>
704 </decoder>
705
706
707
708
709 <!-- SMF-SAV Sendmail Milter decoder.
710   - Will extract the srcip
711   - Examples:
712   - smf-sav[513]: [ID 987462 mail.notice] sender check failed: <xkyjywqvophshu@mypersonalemail.com>, 125.133.22.112, [125.133.22.112], [00:00:01]
713   - smf-sav[513]: [ID 407019 mail.info] sender check succeeded (cached): <asterisk-users-bounces@lists.digium.com>, 216.207.245.17, lists.digium.com
714   - smf-sav[513]: [ID 987894 mail.notice] sender check tempfailed: <31363****-org@targetedpages.com>, 69.8.190.101, smtp101.tramailer.info, [00:00:05]
715   - smf-sav[1883]: sender check tempfailed (cached): <k@vooC7b>, 87.103.236.97, [87.103.236.97]
716   - smf-sav[1883]: sender check failed (cached): <clahaiclahai@email.iis.com.br
717    >, 91.146.176.140, pool176-140.cable.tolna.net
718   -->
719 <decoder name="smf-sav-reject">
720   <program_name>^smf-sav</program_name>
721   <prematch>^sender check failed|</prematch>
722   <prematch>^sender check tempfailed</prematch>
723   <regex offset="after_prematch">^ \(cached\): \S+, (\d+.\d+.\d+.\d+),|</regex>
724   <regex>^: \S+, (\d+.\d+.\d+.\d+),</regex>
725   <order>srcip</order>
726 </decoder>
727
728
729
730 <!-- Mail scanner
731   - Will extract the srcip/action
732   - Examples:
733   - MailScanner[24112]: Message k7B9Mc6b015925 from 
734   68.171.145.34 (nilsenator@hotmail.com) to yyyyy.no is spam, SpamAssassin
735   - May  3 16:28:40 jarjar MailScanner[4732]: Message k436SX2M005191 from  
736   111.222.111.222 (david@our.domain.org) to our.domain.org is spam
737   , SpamAssassin
738   - MailScanner[5317]: Message k436dCIW005370 from  
739   111.222.111.222 (david@our.domain.org) to another.domain.org is not s
740   pam, SpamAssassin
741   - MailScanner[29107]: Message j0EMandY027564 from xxx.xxx.xxx.xxx(xxxxx@xxxxx.ie) to xxxxx.ie is not spam
742   -->
743 <decoder name="mailscanner">
744   <program_name>^MailScanner</program_name>
745 </decoder>
746
747 <decoder name="mailscanner-ip">
748   <parent>mailscanner</parent>
749   <prematch>^Message \S+ from </prematch>
750   <regex offset="after_prematch">^(\d+.\d+.\d+.\d+) \S+ to \S+ is (\w+)</regex>
751   <order>srcip, action</order>
752 </decoder>
753
754
755 <!-- Iptables decoder.
756   - Will extract the srcip, dstip, srcport, dstport, protocol
757   - Examples:
758   - kernel: FIREWALL_OUT IN= OUT=eth0
759     SRC=192.168.6.57 DST=216.161.248.225 LEN=40 TOS=0x00 PREC=0x00 TTL=64
760     ID=18547 DF PROTO=TCP SPT=46388 DPT=37628 WINDOW=6930 RES=0x00 ACK RST
761     URGn=0
762   - kernel: IPTABLE IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:03:93:db:2e:b4:08:00 
763     SRC=10.4.11.40 DST=255.255.255.255 LEN=180 TOS=0x00 PREC=0x00 TTL=64 
764     ID=4753 PROTO=UDP SPT=49320 DPT=2222 LEN=160
765   - kernel: [4475569.016000] IN= OUT=lo SRC=192.168.2.11 DST=192.168.2.11 
766     LEN=52 TOS=0x10 PREC=0x00 TTL=64 ID=49546 DF PROTO=TCP SPT=43068 
767     DPT=22 WINDOW=8192 RES=0x00 ACK URGP=0     
768   - Aug 17 10:03:37 myhostname kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:08:02:da:c8:51:00:0f:f7:74:31:8a:08:00 SRC=1.2.3.36 DST=1.2.3.194 LEN=28 TOS=0x00 PREC=0x00 TTL=44 ID=60200 PROTO=ICMP TYPE=8 CODE=0 ID=10466 SEQ=21229   
769   -->
770 <decoder name="iptables">
771    <program_name>^kernel</program_name>
772 </decoder>
773      
774 <decoder name="iptables-1">
775    <parent>iptables</parent>
776    <type>firewall</type>
777    <prematch>^[\d+.\d+] \S+ IN=</prematch>
778    
779    <regex>^[\d+.\d+] (\S+) \.+ SRC=(\S+) DST=(\S+)</regex>
780    <regex> \.+ PROTO=(\w+) </regex>
781    <order>action,srcip,dstip,protocol</order>
782 </decoder>
783
784 <decoder name="iptables-1">
785    <parent>iptables</parent>
786    <type>firewall</type>
787    <regex offset="after_regex">^SPT=(\d+) DPT=(\d+) </regex>
788    <order>srcport,dstport</order>
789 </decoder>
790
791 <decoder name="iptables-2">
792    <parent>iptables</parent>
793    <type>firewall</type>
794    <prematch>^\S+ IN=</prematch>
795    
796    <regex>^(\S+) \.+ SRC=(\S+) DST=(\S+) \.+ </regex>
797    <regex>PROTO=(\w+) </regex>
798    <order>action,srcip,dstip,protocol</order>
799 </decoder>
800
801 <decoder name="iptables-2">
802    <parent>iptables</parent>
803    <type>firewall</type>
804    <regex offset="after_regex">^SPT=(\d+) DPT=(\d+) </regex>
805    <order>srcport,dstport</order>
806 </decoder>
807
808 <decoder name="iptables-shorewall">
809    <parent>iptables</parent>
810    <type>firewall</type>
811    <prematch>^Shorewall:\S+:</prematch>
812    
813    <regex offset="after_prematch">^(\S+):\.+ SRC=(\S+) DST=(\S+) \.+ </regex>
814    <regex>PROTO=(\w+) </regex>
815    <order>action,srcip,dstip,protocol</order>
816 </decoder>
817
818 <decoder name="iptables-shorewall">
819    <parent>iptables</parent>
820    <type>firewall</type>
821    <regex offset="after_regex">^SPT=(\d+) DPT=(\d+) </regex>
822    <order>srcport,dstport</order>
823 </decoder>   
824
825
826
827 <!-- Solaris IPFilter decoder.
828   - Will extract the action, srcip, srcport, dstip, dstport
829   - Examples:
830   - ipmon[11523]: [ID 702911 local0.warning] 09:30:39.300795 3x ce0 @0:1
831     b 10.4.0.25,43873 -> 10.4.122.243,22 PR tcp len 20 100 -AP IN
832   - ipmon[11523]: [ID 702911 local0.warning] 09:31:53.285032 hme0 @0:1
833     b 10.4.122.243,138 -> 255.255.255.255,138 PR udp len 20 229 IN mbcast
834   - ipmon[11523]: [ID 702911 local0.notice] 09:30:40.398290 ce0 @0:14
835     p 10.4.122.243,123 -> 10.4.122.16,123 PR udp len 20 76 K-S OUT
836   -->
837 <decoder name="ipfilter">
838    <type>firewall</type>
839    <program_name>^ipmon</program_name>
840    <regex> (\w) (\d+.\d+.\d+.\d+),(\d+) -> </regex>
841    <regex>(\d+.\d+.\d+.\d+),(\d+) PR (\w+) </regex>
842    <order>action,srcip,srcport,dstip,dstport,protocol</order>
843 </decoder>
844   
845
846 <!-- AIX IPSec decoder.
847   - Will extract the action,srcip,dstip,protocol,srcport,dstport
848   - Examples:
849   - ipsec_logd: #:3 R:p  I:10.0.0.99 S:10.0.0.82 D:10.0.0.99 
850     P:tcp/ack SP:50349 DP:22 R:l I:en0 F:n T:0 L:88
851   - ipsec_logd: #:1 R:p  O:10.0.0.99. S:10.0.0.99 D:10.0.0.25 
852     P:udp SP:2063 DP:53 R:l I:en0 F:n T:0 L:81 
853  -->
854 <decoder name="aix-ipsec">
855    <type>firewall</type>
856    <program_name>^ipsec_logd</program_name>
857    <regex> R:(\w)  \w:\S+ S:(\d+.\d+.\d+.\d+) </regex>
858    <regex>D:(\d+.\d+.\d+.\d+) P:(\S+) SP:(\d+) DP:(\d+) </regex>
859    <order>action,srcip,dstip,protocol,srcport,dstport</order>
860 </decoder>
861
862
863
864 <!-- OpenBSD pf decoder (as a plugin - compiled).
865   - Will extract the action,srcip,dstip,protocol,srcport,dstport
866   - Examples:
867   - Mar 30 15:33:26 enigma pf: Mar 30 15:32:33.483712 rule 2/(match) pass in on xl0: 140.211.166.3.6667 > 192.168.2.10.16290: P 7408:7677(269) ack 1773 win 2520 <nop,nop,timestamp 3960674784 2860123562> (DF)
868   - Mar 30 15:47:05.522341 rule 4/(match) block in on lo0: 127.0.0.1.48784 > 127.0.0.1.23: S 1381529123:1381529123(0) win 16384 <mss 33184,nop,nop,sackOK,nop,wscale 0,[|tcp]> (DF) [tos 0x10]
869   - Mar 30 15:54:22.171929 rule 3/(match) pass out on xl0: 192.168.2.10.1514 > 192.168.2.190.1030:  udp 73
870   - Mar 30 15:54:22.174412 rule 3/(match) pass out on xl0: 192.168.2.10.1514 > 192.168.2.190.1030:  udp 89
871   
872   -->
873 <decoder name="pf">
874    <type>firewall</type>
875    <program_name>^pf$</program_name>
876    <plugin_decoder>PF_Decoder</plugin_decoder>
877 </decoder>
878
879   
880
881 <!-- SonicWall decoder.
882   - Will extract action, srcip, dstip, protocol, srcport and dstport
883   - Examples:
884   - Jan  3 13:45:36 192.168.5.1 id=firewall sn=000SERIAL time="2007-01-03 14:48:06" fw=1.1.1.1 pri=6 c=262144 m=98 msg="Connection Opened" n=23419 src=2.2.2.2:36701:WAN dst=1.1.1.1:50000:WAN proto=tcp/50000
885   - Jan  3 13:45:36 192.168.5.1 id=firewall sn=000SERIAL time="2007-01-03 14:48:07" fw=1.1.1.1 pri=1 c=32 m=30 msg="Administrator login denied due to bad credentials" n=7 src=2.2.2.2:36701:WAN dst=1.1.1.1:50000:WAN
886   - id=firewall sn=00301E0526B1 time="2004-04-01 10:39:35"
887   fw=67.32.44.2 pri=5 c=64 m=36 msg="TCP connection dropped" n=2686 src=67.101.200.27:4507:WAN dst=67.32.44.2:445:LAN rule=0
888   -->
889 <decoder name="sonicwall">
890   <type>firewall</type>
891   <prematch>^id=\w+ sn=\w+ time=\S+ \S+ fw=\S+ pri=\d </prematch>
892   <plugin_decoder>SonicWall_Decoder</plugin_decoder>
893 </decoder>
894
895
896
897 <!-- Netscreen Firewall decoder.
898   - Will extract the action,srcip,dstip,protocol,srcport,dstport
899   - Examples:
900   - Jan  1 10:02:11 xx ns5gt: NetScreen device_id=ns5gt  [No Name]system-notification-00257(traffic): start_time="2006-01-01 10:09:38" duration=0 policy_id=310101 service=tcp/port:1526 proto=6 src zone=Null dst zone=self action=Deny sent=0 rcvd=38 src=10.1.2.3 dst=10.1.1.1 src_port=51350 dst_port=1426
901   - <13>Mar 16 15:27:56 192.168.2.1 ns5gt: NetScreen device_id=ns5gt  [No Name]system-notification-00257(traffic): start_time=\"2004-03-16 16:31:22\" duration=0 policy_id=310001 service=tcp/port:120 proto=6 src zone=Null dst zone=self action=Deny sent=0 rcvd=60 src=10.1.1.1 dst=10.1.2.1 src_port=32047 dst_port=22
902   - Jun  2 11:24:16 fire00 sav00: NetScreen device_id=sav00  [Root]system-critical-00436: Large ICMP packet! From 210.232.20.7 to 148.100.114.126, proto 1 (zone Untrust, int ethernet1/2). Occurred 1 times. (2006-06-02 11:24:16)
903   -  NetScreen device_id=ns5gt [Root]system-critical-00027: Multiple login failures occurred for user netscreen from IP address 1.2.3.4:1567 (2004-10-07)
904   - 
905   - ** Program name for netscreen is empty, since it is the hostname.
906   -->
907 <decoder name="netscreenfw">
908   <program_name />
909   <prematch>^NetScreen device_id</prematch>
910 </decoder>  
911
912 <decoder name="netscreenfw-traffic">
913   <parent>netscreenfw</parent>
914   <type>firewall</type>
915   
916   <prematch offset="after_parent">system-notification-00257</prematch>
917   <prematch>\(traffic\): </prematch>
918   
919   <regex offset="after_prematch"> proto=(\w+) \.+action=(\w+) </regex>
920   <regex>\.+src=(\S+) dst=(\S+) src_port=(\d+) dst_port=(\d+)</regex>
921   <order>protocol, action, srcip, dstip, srcport, dstport</order>
922 </decoder>
923
924 <decoder name="netscreenfw-critical">
925   <parent>netscreenfw</parent>
926   <prematch offset="after_parent">system-critical-\.+ from |</prematch>
927   <prematch>system-alert-\.+ from </prematch>
928   
929   <regex offset="after_parent">system-(\w+)-(\d+): \.+ </regex>
930   <regex>from\.+(\d+.\d+.\d+.\d+)</regex>
931   <order>action, id, srcip</order>
932 </decoder>
933
934 <decoder name="netscreenfw-admin">
935   <parent>netscreenfw</parent>
936   <regex offset="after_parent">system-(\w+)-(\d+):</regex>
937   <order>action, id</order>  
938 </decoder>
939
940
941 <!-- Pix decoder.
942   - Will extract the srcip, srcport, dstip and dstport whenever possible.
943   - Examples:
944   - %PIX-6-106015: Deny TCP (no connection) from 161.58.238.151/110 to a.b.c.d/3782 flags RST ACK
945   - %PIX-2-106001: Inbound TCP connection denied from 165.139.46.7/3854 to 165.189.27.70/139 flags
946   - %PIX-3-106010: Deny inbound tcp src outside:213.98.79.233/2620 dst dmz:213.98.254.145/135
947   - %PIX-3-106011: Deny inbound (No xlate) udp src outside:192.168.2.1/137
948   dst outside:192.168.2.14/137
949   - %PIX-3-106011: Deny inbound (No xlate) tcp src inside:10.100.7.43/80 dst 
950   inside:10.100.4.71/2285
951   - %PIX-3-710003: TCP access denied by ACL from 216.39.220.130/54065 to outside:62.192.113.98/ssh
952   - %PIX-7-710001: TCP access requested from X.X.X.X/1292 to outside:Y.Y.Y.Y/ssh
953   - %PIX-7-710002: UDP access permitted from 33.33.33.4/943 to inside:33.33.33.15/snmp
954   - %PIX-7-710005: UDP request discarded from <public IP of 525>/4500 to outside:192.168.69.137/4500
955   - %PIX-2-106002   protocol Connection denied by outbound list acl_ID src inside_address dest outside_address
956   - %PIX-2-106002: udp connection denied by outbound list 30 src 216.53.120.62 138 dest 169.132.10.82 138
957   -  %PIX-4-106023: Deny tcp src inside:111.11.11.1/2143 dst YYY:172.11.1.11/139 by access-group "inside_inbound"
958   - %PIX-4-400013 IDS:2003 ICMP redirect from 10.4.1.2 to 10.2.1.1 on interface dmz
959   - %PIX-2-106006: Deny inbound UDP from ***/20031 to ***/20031 on  
960   interface vpn
961   - %PIX-7-710002: TCP access permitted from 10.0.0.1/60749 to db:10.0.0.2/ssh
962   - %PIX-6-305012: Teardown dynamic UDP translation from inside:1.1.1.1/12 to outside:1.2.1.2/11 duration 0:00:11.
963   - %PIX-3-305005: No translation group found for icmp src outside:x.x.x.x dst inside:x.x.x.x (type 3, code 0)
964   - %ASA-2-106001: Inbound TCP connection denied from 1.2.3.4/1234 to 213.207.99.248/445 flags SYN on interface outside (Message repeated 2 times)
965   - %PIX-6-605005: Login permitted from 192.168.1.2/2953 to inside:192.168.1.1/telnet for user ""
966   - %PIX-6-605004: Login denied from 192.168.2.10/32597 to outside:192.168.2.14/ssh for user "root"
967   - %PIX-6-305011: Built dynamic UDP translation from inside:192.168.1.2/1026 to outside:192.168.2.14/1163
968   - %PIX-6-305011: Built dynamic TCP translation from inside:192.168.1.3/54946 to outside:192.168.2.14/1033
969   - %PIX-6-302015: Built outbound UDP connection 156 for outside:192.168.2.10/1514 (192.168.2.10/1514) to inside:192.168.1.2/1026 (192.168.2.14/1163)
970   -->
971 <decoder name="pix">
972   <prematch>^%PIX-|^\w\w\w \d\d \d\d\d\d \d\d:\d\d:\d\d: %PIX-|</prematch>
973   <prematch>^%ASA-|^\w\w\w \d\d \d\d\d\d \d\d:\d\d:\d\d: %ASA-|</prematch>
974   <prematch>^%FWSM-|^\w\w\w \d\d \d\d\d\d \d\d:\d\d:\d\d: %FWSM-</prematch>
975 </decoder>
976
977 <decoder name="pix-fw1">
978   <parent>pix</parent>
979   <type>firewall</type>
980   <prematch offset="after_parent">^2-106001</prematch>
981   <regex offset="after_parent">^(\S+): \w+ (\w+) \S+ (\S+) from </regex>
982   <regex>(\S+)/(\S+) to (\S+)/(\S+)</regex>
983   <order>id, protocol, action, srcip, srcport, dstip, dstport</order>
984 </decoder>
985
986 <decoder name="pix-fw2">
987   <parent>pix</parent>
988   <type>firewall</type>
989   <prematch offset="after_parent">^3-710003|^7-710002|^7-710005</prematch>
990   <regex offset="after_parent">^(\S+): (\S+) \w+ (\w+)\.+from </regex>
991   <regex>(\S+)/(\S+) to \w+:(\S+)/(\S+)</regex>
992   <order>id, protocol, action, srcip, srcport, dstip, dstport</order>
993 </decoder>
994
995 <decoder name="pix-fw3">
996   <parent>pix</parent>
997   <type>firewall</type>
998   <prematch offset="after_parent">^4-106023</prematch>
999   <regex offset="after_parent">^(\S+): (\w+) (\w+) src \w+:</regex>
1000   <regex>(\S+)/(\S+) dst \w+:(\S+)/(\S+)</regex>
1001   <order>id, action, protocol, srcip, srcport, dstip, dstport</order>
1002 </decoder>
1003
1004 <decoder name="pix-fw4">
1005   <parent>pix</parent>
1006   <type>firewall</type>
1007   <prematch offset="after_parent">^4-106019</prematch>
1008   <regex offset="after_parent">^(\S+): IP packet from (\S+) to </regex>
1009   <regex>(\S+), protocol (\w+) (\w+) </regex>
1010   <order>id, srcip, dstip, protocol, action</order>
1011 </decoder>
1012
1013 <decoder name="pix-fw5">
1014   <parent>pix</parent>
1015   <type>firewall</type>
1016   <prematch offset="after_parent">^2-106006|^2-106007</prematch>
1017   <regex offset="after_parent">^(\S+): (\w+) \S+ (\w+) from </regex>
1018   <regex>(\d+.\d+.\d+.\d+)/(\d+) to (\d+.\d+.\d+.\d+)/(\d+) </regex>
1019   <order>id, action, protocol, srcip, srcport, dstip, dstport</order>
1020 </decoder>
1021
1022 <decoder name="pix-fw6">
1023   <parent>pix</parent>
1024   <type>firewall</type>
1025   <prematch offset="after_parent">^6-106015</prematch>
1026   <regex offset="after_parent">^(\S+): (\w+) (\w+) \S+ \S+ (\S+) from </regex>
1027   <regex>(\S+)/(\S+) to (\S+)/(\S+)</regex>
1028   <order>id, action, protocol, srcip, srcport, dstip, dstport</order>
1029 </decoder>
1030
1031 <decoder name="pix-fw7">
1032   <parent>pix</parent>
1033   <type>firewall</type>
1034   <prematch offset="after_parent">^6-305012</prematch>
1035   <regex offset="after_parent">^(\S+): (\w+) \w+ (\w+) translation </regex>
1036   <regex>from \w+:(\S+)/(\d+) to \w+:(\S+)/(\d+) </regex>
1037   <order>id, action, protocol, srcip, srcport, dstip, dstport</order>
1038 </decoder>
1039
1040 <decoder name="pix-fw8">
1041   <parent>pix</parent>
1042   <type>firewall</type>
1043   <prematch offset="after_parent">^3-106011|^3-106010</prematch>
1044   <regex offset="after_parent">^(\S+): (\w+) \.+ (\w+) src </regex>
1045   <regex>\w+:(\S+)/(\d+) dst \w+:(\S+)/(\d+)</regex>
1046   <order>id, action, protocol, srcip, srcport, dstip, dstport</order>
1047 </decoder>
1048
1049 <decoder name="pix-attacks">
1050   <parent>pix</parent>
1051   <prematch offset="after_parent">^2-106012: |^2-106017: |</prematch>
1052   <prematch>^2-106020|^1-106021|^1-106022|</prematch>
1053   <prematch>^4-4000</prematch>
1054   <regex offset="after_parent">^(\S+): \.+ from (\d+.\d+.\d+.\d+) </regex>
1055   <order>id, srcip</order>
1056 </decoder>
1057
1058 <decoder name="pix-srcip">
1059   <parent>pix</parent>
1060   <prematch offset="after_parent">^6-605004|^6-308001|^6-605005</prematch>
1061   <regex offset="after_parent">^(\S+): \.+ (\d+.\d+.\d+.\d+)</regex>
1062   <order>id, srcip</order>
1063 </decoder>
1064
1065 <decoder name="pix-generic">
1066   <parent>pix</parent>
1067   <regex offset="after_parent">^(\S+): </regex>
1068   <order>id</order>
1069 </decoder>
1070
1071
1072
1073 <!-- Cisco VPN Concentrator
1074   - Will exatract srcip and username.
1075   - Examples:
1076   -
1077   - Jan 8 09:10:37 vpn.example.com 11504 01/08/2007 09:10:37.780 SEV=3 AUTH/5 RPT=124 192.168.0.1 Authentication rejected: Reason = Unspecified handle = 805, server = auth.example.com, user = testuser, domain = <not specified>
1078   11504 01/08/2007 09:10:37.780 SEV=3
1079   -->
1080 <decoder name="cisco-vpn-concentrator">
1081   <prematch>^\d+ \d\d/\d\d/\d\d\d\d \S+ SEV=\d </prematch>
1082   <regex offset="after_prematch">^(\S+) RPT=\d+ (\d+.\d+.\d+.\d+) </regex>
1083   <order>id, srcip</order>
1084 </decoder> 
1085
1086
1087
1088 <!-- Snort decoder.
1089   - Will extract the id, srcip and dstip
1090   - Examples:
1091   - snort: [1:469:3] ICMP PING NMAP [Classification: Attempted Information 
1092     Leak] [Priority: 2]: {ICMP} 10.4.12.26 -> 10.4.10.231
1093   - snort: [1:1420:11] SNMP trap tcp [Classification: Attempted Information 
1094     Leak] [Priority: 2]: {TCP} 10.4.12.26:37020 -> 10.4.10.231:162
1095   - [**] [1:1054:7] WEB-MISC weblogic/tomcat .jsp view source attempt [**]
1096     [Classification: Web Application Attack]
1097     [Priority: 1]  10.4.12.26:34041 -> 66.179.53.37:80
1098   - [**] [1:1421:11] SNMP AgentX/tcp request [**]
1099     [Classification: Attempted Information Leak] [Priority: 2]
1100     10.4.3.20:626 -> 10.4.10.161:705              
1101   - [**] [1:1882:10] ATTACK-RESPONSES id check returned userid [**]
1102     [Classification: Potentially Bad Traffic] [Priority: 2]
1103     {UDP} 192.168.20.32 -> 192.168.20.2  
1104   -->
1105
1106 <decoder name="snort">
1107   <program_name>^snort</program_name>
1108 </decoder>
1109
1110 <decoder name="snort">
1111   <type>ids</type>
1112   <prematch>^[**] [\d+:\d+:\d+] </prematch>
1113 </decoder>
1114   
1115 <decoder name="snort2">
1116    <parent>snort</parent>
1117    <type>ids</type>
1118    <prematch>^[**] |^[\d+:\d+:\d+] </prematch>
1119    <regex>^[**] [(\d+:\d+:\d+)] \.+ (\d+.\d+.\d+.\d+)\p*\d* -> </regex>
1120    <regex>(\d+.\d+.\d+.\d+)|^[(\d+:\d+:\d+)] \.+ </regex>
1121    <regex>(\d+.\d+.\d+.\d+)\p*\d* -> (\d+.\d+.\d+.\d+)</regex>
1122    <order>id,srcip,dstip</order>
1123    <fts>name,id,srcip,dstip</fts>
1124 </decoder>
1125
1126
1127
1128 <!-- Suhosin decoder.
1129   - Will extract the attack name and srcip.
1130   - Examples:
1131   - suhosin[76366]: ALERT - canary mismatch on efree() - heap overflow detected (attacker '200.139.164.149', file 'xyz')
1132   - suhosin[24239]: ALERT - configured request variable value length limit exceeded - dropped variable 'introtext' (attacker '192.168.1.2', file '/var/www/site/administrator/index2.php')
1133   - suhosin[32150]: ALERT - configured POST variable limit exceeded - dropped variable 'setting[sg_allow_delete_empty_group]' (attacker '32.104.x.y', file '/home/htdocs/admincp/options.php') 
1134   -->
1135 <decoder name="suhosin">
1136   <program_name>^suhosin</program_name>
1137   <type>ids</type>
1138   <regex>^ALERT - (\.+) \(attacker '(\d+.\d+.\d+.\d+)', </regex>
1139   <order>id, srcip</order>
1140   <fts>name, location, id</fts>
1141 </decoder>
1142
1143
1144
1145 <!-- Dragon Decoder
1146   - Will extract srcip, dstip and id
1147   - Examples:
1148   - 2007-02-24 00:07:30|xx-ids|MS:MDTC-DOS|1.2.3.4|5.6.7.8|123|456|I||6|tcp,xx
1149   -
1150   -->
1151 <decoder name="dragon-nids">
1152    <type>ids</type>
1153    <prematch>^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\|</prematch>
1154    <regex offset="after_prematch">^\S+\|(\S+)\|</regex>
1155    <regex>(\d+.\d+.\d+.\d+)\|(\d+.\d+.\d+.\d+)\|</regex>
1156    <order>id, srcip, dstip</order>
1157    <fts>name, id, srcip, dstip</fts>
1158 </decoder>
1159                         
1160    
1161    
1162 <!-- Horde decoder
1163   - Will extract: username and srcip.
1164   - Examples:
1165   - [notice] [imp] Login success for raphaelv@xx [100.121.170.41] to {a.b.c:143} [on line 92 of "/home/webmail/horde/imp/redirect.php"]
1166   - [error] [imp] FAILED LOGIN 210.179.154.213 to xxx:143[imap] as mala1
1167   -->
1168 <decoder name="horde_imp">
1169   <prematch>^[\w+] [imp] |^[\w+] [horde] </prematch>
1170 </decoder>  
1171
1172 <decoder name="horde_imp_success">
1173   <parent>horde_imp</parent>
1174   <prematch offset="after_parent">^Login success </prematch>
1175   <regex offset="after_prematch">^for (\S+) [(\d+.\d+.\d+.\d+)] </regex>
1176   <order>user, srcip</order>
1177 </decoder>
1178
1179 <decoder name="horde_imp_failed">
1180   <parent>horde_imp</parent>
1181   <prematch offset="after_parent">^FAILED LOGIN</prematch>
1182   <regex offset="after_prematch">^ (\d+.\d+.\d+.\d+) to \S+ as (\S+) </regex>
1183   <order>srcip, user</order> 
1184 </decoder>
1185
1186
1187
1188 <!-- Wordpress decoder.
1189   -  It needs the WPsyslog2 plugin.
1190   - Examples:
1191   - WPsyslog[14382]: [127.0.0.1 na] Info: User authentication failed. User name: lala
1192   - WPsyslog[14382]: [127.0.0.1 na] Info: User logged in. User name: admin (admin).
1193   -->
1194 <decoder name="wordpress">
1195   <program_name>^WPsyslog</program_name>
1196   <prematch>^[</prematch>
1197   <regex offset="after_prematch">^(\d+.\d+.\d+.\d+) </regex>
1198   <order>srcip</order>
1199 </decoder>
1200
1201
1202
1203 <!-- Roundcube decoder
1204  - Will extract username and src IP from the logs, when available.
1205    Examples:
1206  - Apr 10 22:45:20 hostname roundcube: [10-Apr-2009 22:45:20 -0500] IMAP
1207    Error: Authentication for username failed (LOGIN): "a001 NO Authentication
1208    failed." (POST /roundcube/?_task=&_action=login)
1209  - Apr 10 23:01:23 hostname roundcube: [10-Apr-2009 23:01:23 -0500]:
1210    Successful login for username (id 1) from 127.0.0.1
1211 -->
1212 <decoder name="roundcube">
1213   <program_name>^roundcube</program_name>
1214   <prematch>^[\d\d-\w\w\w-\d\d\d\d \d\d:\d\d:\d\d \S+]</prematch>
1215 </decoder>
1216
1217 <decoder name="roundcube-success">
1218   <parent>roundcube</parent>
1219   <prematch>^: Successful login for </prematch>
1220   <regex offset="after_prematch">^(\S+) \(id \d+\) from (\d+.\d+.\d+.\d+)$</regex>
1221   <order>user, srcip</order>
1222 </decoder>
1223
1224 <decoder name="roundcube-denied">
1225   <parent>roundcube</parent>
1226   <prematch>^ \w+ Error: Authentication </prematch>
1227   <regex offset="after_prematch">^for (\.+) failed</regex>
1228   <order>user</order>
1229 </decoder>
1230
1231
1232
1233 <!-- Apache decoder.
1234   - Will extract the srcip
1235   - Examples:
1236   - [error] [client 80.230.208.105] Directory index forbidden by rule: /home/
1237   - [error] [client 64.94.163.159] Client sent malformed Host header
1238   - [error] [client 66.31.142.16] File does not exist: /var/www/html/default.ida
1239   - [notice] Apache configured  
1240   - httpd[18660]: [error] [client 12.34.56.78] File does not exist: /usr/local/htdocs/cache
1241   - httpd[23745]: [error] [client 12.34.56.78] PHP Notice:
1242   -->
1243 <decoder name="apache-errorlog">
1244   <program_name>^httpd</program_name>
1245 </decoder>  
1246
1247 <decoder name="apache-errorlog">
1248   <prematch>^[warn] |^[notice] |^[error] </prematch>
1249 </decoder>  
1250
1251 <decoder name="apache-errorlog-ip">
1252   <parent>apache-errorlog</parent>
1253   
1254   <prematch offset="after_parent">^[client</prematch>
1255   <regex offset="after_prematch">^ (\d+.\d+.\d+.\d+)] </regex>
1256   <order>srcip</order>
1257 </decoder> 
1258
1259
1260
1261
1262 <!-- Nginx error log decoder.
1263   - Will extract the srcip.
1264   - Examples:
1265   - 2009/09/15 20:55:40 [error] 63858#0: *3663 open() "/srv/www/ossec.net/robots.txt" failed (2: No such file or directory), client: 1.2.3.4, server: ossec.net, request: "GET /robots.txt HTTP/1.1", host: "www.ossec.net"
1266   - 2009/09/15 19:51:07 [error] 37992#0: accept() failed (53: Software caused connection abort)
1267   -->
1268 <decoder name="nginx-errorlog">
1269   <prematch>^20\d\d/\d\d/\d\d \d\d:\d\d:\d\d [</prematch>
1270 </decoder>
1271
1272 <decoder name="nginx-errorlog-ip">
1273   <parent>nginx-errorlog</parent>
1274   <prematch offset="after_parent">, client: \S+, server: \S+, request: "\S+ </prematch>
1275   <regex offset="after_parent">, client: (\d+.\d+.\d+.\d+), </regex> 
1276   <order>srcip</order>
1277 </decoder>
1278
1279
1280
1281
1282 <!-- NCSA common log decoder (used by apache, Lotus Domino and IIS NCSA).
1283   -  Will extract the srcip, url and id.
1284   -  Every web access log must use "web-log" as their
1285   -  type if they want to be matched against the web rules.
1286   - Examples:
1287   -  63.91.167.39 - - [03/Aug/2001:21:56:18 -0700] "GET /default.ida?NNNN
1288   -  206.78.62.16 - - [06/Aug/2001:08:57:08 -0700] "GET /default.ida?XX
1289   -  5.211.112.6 - - [04/Feb/2003:16:17:30 -0500] "GET /mod_ssl:error: 
1290   -  192.168.2.190 - - [18/Jan/2006:13:10:06 -0500] "GET /xxx.html HTTP/1.1"
1291      200 1732
1292   -  1.1.1.1 - username [18/Jan/2006:13:10:06 -0500] "GET /xxx.html HTTP/1.1"   
1293   -  123.4.5.6 aa.xx.com - [05/Nov/2006:00:46:56 -0500] "GET / HTTP/1.1" 302 -
1294   -->
1295 <decoder name="web-accesslog">
1296   <type>web-log</type>
1297   <prematch>^\d+.\d+.\d+.\d+ </prematch>
1298   <regex>^(\d+.\d+.\d+.\d+) \S+ \S+ [\S+ \S\d+] </regex>
1299   <regex>"\w+ (\S+) HTTP\S+ (\d+) </regex>
1300   <order>srcip, url, id</order>
1301 </decoder>
1302
1303
1304 <!-- Windows date format.
1305   -  Pre match for windows date format. Used on Windows firewall,
1306   -  IIS, etc.
1307   -  Examples:
1308   -  2006-07-23 04:40:02 xxx
1309   -->
1310 <decoder name="windows-date-format">
1311   <prematch>^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d </prematch>
1312 </decoder>
1313  
1314
1315
1316 <!-- Windows firewall decoder.
1317   - Will extract action, protocol, srcip, dstip, srcport and dstport.
1318   - Examples:
1319   - 2006-09-18 22:25:30 OPEN TCP 11.12.72.10 12.252.71.6 3311 445 - - - - - - - - -
1320   - 2006-09-18 22:26:23 DROP UDP 11.152.183.14 239.255.255.250 65299 1900 310 - - - - - - - RECEIVE
1321   - 2006-09-18 22:26:23 DROP UDP 11.152.183.14 239.255.255.250 65299 1900 310 - - - - - - - RECEIVE
1322   - 2006-09-18 22:26:23 DROP UDP 11.152.183.14 239.255.255.250 65298 1900 319 - - - - - - - RECEIVE
1323   -->
1324 <decoder name="windows-firewall">
1325   <parent>windows-date-format</parent>
1326   <type>firewall</type>
1327   <use_own_name>true</use_own_name>
1328   <prematch offset="after_parent">^OPEN|^CLOSE|^DROP</prematch>
1329   <regex offset="after_parent">^(\w+) (\w+) </regex>
1330   <regex>(\S+) (\S+) (\d+) (\d+) </regex>
1331   <order>action, protocol, srcip, dstip, srcport, dstport</order>
1332 </decoder>
1333  
1334  
1335 <!-- IIS 5 WWW W3C log format.
1336   - #Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status cs-host cs(User-Agent) cs(Referer)
1337   - Examples:
1338   - 2006-07-23 04:40:02 1.2.3.4 - W3SVC3 CIN1WEB03 1.2.3.4 443 GET /Default.asp - 200 hiden.com Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+Avant+Browser;+Avant+Browser;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727) -
1339   -->
1340 <decoder name="web-accesslog-iis5">
1341   <parent>windows-date-format</parent>
1342   <type>web-log</type>
1343   <use_own_name>true</use_own_name>
1344   <prematch offset="after_parent">^\d+.\d+.\d+.\d+ \S+ W3SVC</prematch>
1345   <regex offset="after_parent">^(\d+.\d+.\d+.\d+) \S+ \S+ \S+ \S+ </regex>
1346   <regex>\d+ \S+ (\S+ \S+) (\d+) </regex>
1347   <order>srcip,url,id</order>
1348 </decoder>
1349
1350
1351 <!-- IIS6 WWW W3C log format.
1352   - #Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem
1353   cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent)
1354   cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status
1355   sc-bytes cs-bytes time-taken
1356   - Examples:
1357   - 2007-01-22 05:00:11 W3SVC1 HOSTNAME 1.1.1.1 POST /SimpleAuthWebService/SimpleAuth.asmx - 80 - 2.2.2.2 HTTP/1.1 Windows-Update-Agent - - hostname 200 0 0 1467 841 31
1358   -->
1359 <decoder name="web-accesslog-iis6">
1360   <parent>windows-date-format</parent>
1361   <type>web-log</type>
1362   <use_own_name>true</use_own_name>
1363   <prematch offset="after_parent">^W3SVC\d+ \S+ \S+ \S+ </prematch>
1364   <regex offset="after_prematch">^(\S+ \S+) \d+ \S+ (\d+.\d+.\d+.\d+) </regex>
1365   <regex>\S+ \S+ \S+ \S+ \S+ (\d+) </regex>
1366   <order>url, srcip, id</order>
1367 </decoder>
1368
1369
1370 <!-- IIS 5 W3C FTP log format.
1371   - Examples:
1372   - #Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer)
1373   - 2006-07-23 17:57:59 192.168.3.64 Administrator MSFTPSVC1 HAIJO2 192.168.1.12 21 [144]USER Administrator - 331 0 0 0 0 FTP - - - -
1374   - 2006-07-23 17:57:59 192.168.3.64 Administrator MSFTPSVC1 HAIJO2 192.168.1.12 21 [144]PASS - - 230 0 0 0 16 FTP - - - -
1375   -->
1376 <decoder name="msftp">
1377   <parent>windows-date-format</parent>
1378   <use_own_name>true</use_own_name>
1379   <prematch offset="after_parent">^\d+.\d+.\d+.\d+ \S+ MSFTPSVC</prematch>
1380   <regex offset="after_parent">^(\d+.\d+.\d+.\d+) (\S+) \S+ \S+ \S+ </regex>
1381   <regex>\d+ [\d+](\S+) \S+ \S+ (\d+) </regex>
1382   <order>srcip,user,action,id</order>
1383 </decoder>  
1384
1385
1386
1387 <!-- IIS 5 W3C SMTP log format (Exchange).
1388   - Examples:
1389   - #Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer)
1390   - 2006-10-09 14:04:46 69.217.186.117 - SMTPSVC1 MEE-PDC 192.168.X.X 0 xxxx -
1391   > +hupylaw.hupy.local 500 0 32 23 0 SMTP - - - -
1392   -->
1393 <decoder name="msexchange">
1394   <parent>windows-date-format</parent>
1395   <use_own_name>true</use_own_name>
1396   <prematch offset="after_parent">^\d+.\d+.\d+.\d+ \S+ SMTPSVC</prematch>
1397   <regex offset="after_parent">^(\d+.\d+.\d+.\d+) \S+ \S+ \S+ \S+ </regex>
1398   <regex>\d+ (\S+) \S+ \S+ (\d+) </regex>
1399   <order>srcip, action, id</order>
1400 </decoder>
1401
1402
1403
1404 <!-- Racoon VPN.
1405   - Extract id (error or info) and ip address whenever possible.
1406   - 2006-08-08 01:42:09: ERROR: couldn't find the pskey for 222.155.15.88.
1407   - 
1408   -->
1409 <decoder name="racoon">
1410   <prematch>^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d: </prematch>
1411 </decoder>
1412
1413 <decoder name="racoon-failed">
1414   <parent>racoon</parent>
1415   <use_own_name>true</use_own_name>
1416     
1417   <prematch offset="after_parent">^ERROR: couldn't find the pskey </prematch>
1418   <regex offset="after_prematch">^for (\d+.\d+.\d+.\d+)</regex>
1419   <order>srcip</order>
1420 </decoder>
1421
1422 <decoder name="racoon-action">
1423   <parent>racoon</parent>
1424   <regex offset="after_parent">^(\w+): </regex>
1425   <order>action</order>
1426 </decoder>
1427
1428             
1429
1430 <!-- Squid access log decoder.
1431   - Will extract the srcip.
1432   - Author: Ahmet Ozturk
1433   - Examples:
1434   - 1140701044.525   1231 192.168.1.201 TCP_DENIED/400 1536
1435     GET ahmet - NONE/- text/html
1436   - 1140701230.827    781 192.168.1.210 TCP_DENIED/407 1785
1437     GET http://www.ossec.net oahmet NONE/- text/html
1438   -->
1439 <decoder name="squid-accesslog">
1440   <type>squid</type>
1441   <prematch>^\d+ \d+.\d+.\d+.\d+ </prematch>
1442   <regex>^\d+ (\d+.\d+.\d+.\d+) (\w+)/(\d+) \d+ \w+ (\S+) </regex>
1443   <order>srcip,action,id,url</order>
1444 </decoder>  
1445
1446
1447 <!-- Windows decoder
1448   - Will extract extra_data (as win source),action (as win category), id,
1449   - username and computer name (as system_name).
1450   - Examples:
1451   - WinEvtLog: Application: INFORMATION(0x00000064): ESENT: 
1452     (no user)(no domain): 
1453   - WinEvtLog: Security: AUDIT_FAILURE(0x000002A9): Security: 
1454     SYSTEM: NT AUTHORITY: The logon to account: xyz    by: 
1455     MICROSOFT_AUTHENTICATION_PACKAGE_V1_0    from workstation: la    failed. 
1456     The error code was: 3221225572
1457   - WinEvtLog: Security: AUDIT_FAILURE(0x00000211): Security: 
1458     SYSTEM: NT AUTHORITY: Logon Failure:      Reason:     Unknown user 
1459     name or bad password       User Name:  ab      Domain:     cd      
1460     Logon Type: 2       Logon Process:  User32          Authentication 
1461     Package: Negotiate       Workstation Name:   ad
1462   - WinEvtLog: Security: AUDIT_SUCCESS(538): Security: lac: OSSEC-HM: OSSEC-HM: User Logoff:        User Name:      lac     Domain:         OSSEC-HM        Logon ID:               (0x0,0x7C966E)          Logon Type:     2  
1463   -->
1464 <decoder name="windows">
1465   <type>windows</type>
1466   <prematch>^WinEvtLog: </prematch>
1467   <regex offset="after_prematch">^\.+: (\w+)\((\d+)\): (\.+): </regex>
1468   <regex>(\.+): \.+: (\S+): </regex>
1469   <order>status, id, extra_data, user, system_name</order>
1470   <fts>name, location, user, system_name</fts>
1471 </decoder>    
1472
1473
1474 <!-- Windows decoder -NTsyslog format
1475   - Will extract extra_data (as win source),action (as win category), id,
1476   - username and computer name (as url).
1477   - Examples:
1478   - security[failure] 577 IBM17M\Jeremy Lee  Privileged Service Called:  Server:Security  Service:-  Primary User Name:IBM17M$  Primary Domain:LEETHERNET  Primary Logon ID:(0x0,0x3E7)  Client User Name:Jeremy Lee  Client Domain:IBM17M  Client Logon ID:(0x0,0x1447F)  Privileges:SeSecurityPrivilege
1479   - security[success] 528 IBM17M\Jeremy Lee  Successful Logon:  User Name:Jeremy Lee  Domain:IBM17M  Logon ID:(0x0,0x3A2E471)  Logon Type:2  Logon Process:User32    Authentication Package:Negotiate  Workstation Name:IBM17M  Logon GUID: {00000000-0000-0000-0000-000000000000}
1480   -->
1481 <decoder name="windows-ntsyslog">
1482   <type>windows</type>
1483   <prematch>^security[\w+] \d+ </prematch>
1484   <regex>^(\w+)[(\w+)] (\d+) </regex>
1485   <order>extra_data, status, id</order>
1486 </decoder>
1487
1488
1489 <!-- Windows decoder - Snare format. 
1490   - Will extract extra_data (as win source), action (as category), id,
1491   - username and computer name (as system_name).
1492   -
1493   - These logs must be tab-separated (as specified in the Snare format)
1494   -
1495   - Examples:
1496   - Aug 11 11:11:11 xx.org MSWinEventLog  1       System 59221    Thu Aug 11 01:11:11 2006        17      Windows Update Agent    Unknown User
1497   - Jan 16 05:52:15 hostname.xx.org MSWinEventLog 1
1498   Security        13049   Tue Jan 16 05:52:15 2007        680     Security
1499   SYSTEM  User    Success Audit   ACTUATE Account Logon
1500   Account Used for Logon by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
1501   Account Name:     IUSR_HOSTNAME    Workstation:      ACTUATE
1502   12653
1503   - Jan 16 13:02:24 hostname.yy.org MSWinEventLog 1
1504   Application     14539   Tue Jan 16 13:02:24 2007        1704    SceCli
1505   Unknown User    N/A     Information     ACTUATE None      Security
1506   policy in the Group policy objects are applied successfully.    67
1507   - Jan 16 15:41:37 hostname.zz.org MSWinEventLog 1       System
1508   15059   Tue Jan 16 15:41:37 2007        10      Print   username User
1509   Information     HOSTNAME None            Document 76,
1510   /directory/directory/directory/directory/directory/date/Afilename owned
1511   by username was printed on hostname_duplex via port hostname_duplex.
1512   Size in bytes: 19543296; pages printed: 162        361
1513   -->
1514 <decoder name="windows-snare">
1515   <type>windows</type>
1516   <prematch>^MSWinEventLog\t\d\t\.+\t\d+\t\w\w\w \w\w\w \d\d \d\d</prematch>
1517   <regex offset="after_prematch">^:\d\d:\d\d \d\d\d\d\t(\d+)\t(\.+)</regex>
1518   <regex>\t(\.+)\t\.+\t(\.+)\t(\.+)\t</regex>
1519   <order>id, extra_data, user, status, system_name</order>
1520   <fts>name, id, location, user, system_name</fts>
1521 </decoder>
1522
1523
1524 <!-- Symantec AV decoder.
1525   - Source: http://www.ossec.net/wiki/index.php/Symantec_Antivirus
1526   - Examples:
1527   - 24090D00000A,4,3,7,ACMELABS-SRV2,SYSTEM,,,,,,,16777216,"Update to computer ACMELABS-LU2K3 of virus definition file 81011r succeeded.",0,,0,,,,,0,,,,,,,,,,,,,(IP)-192.168.49.66,ACMELABSav,ACMELABS,,8.1.825
1528   - 24090D00000F,4,3,7,ACMELABS-SRV2,SYSTEM,,,,,,,16777216,"Update to computer ACMELABS-APPS-BOX4 of virus definition file 81011r succeeded.",0,,0,,,,,0,,,,,,,,,,,,,(IP)-192.168.49.66,ACMELABSav,ACMELABS,,8.1.825
1529   - 240801012128,5,1,720997,RBLWAP,SYSTEM,Trojan.Zlob,C:\WINDOWS\system32\ld100.tmp,5,4,4,256,570441764,"",0,,0,,0,4254,0,0,0,0,0,0,20060830.022,58100,2,4,0,acme-AVSRV,{579642AA-5A5E-46E1-8613-2289349D1F27},,(IP)-192.168.100.237,acmeav,acme,,8.1.825
1530   -->
1531 <decoder name="symantec-av">
1532   <prematch>^\w\w\w\w\w\w\w\w\w\w\w\w,</prematch>
1533   <regex offset="after_prematch">^(\d+),\d+,\d+,(\S+),(\.+),</regex>
1534   <order>id, system_name, extra_data</order>
1535   <fts>name, location, id, system_name, extra_data</fts>
1536 </decoder>
1537
1538
1539 <!-- Symantec Web Security.
1540   - Source: http://www.ossec.net/wiki/index.php/Symantec_Websecurity
1541   - Examples:
1542   - 20070717,30517,1=3,41=SWS-3.0.1.86/vendor-config,100=Version 3.0.6,3=7,2=29
1543   - 20070717,73556,1=5,100=Logoff due to timeout.,11=1.2.3.4,10=usera,3=1,2=2
1544     20070717,73559,1=5,11=2.3.4.5,10=userb,3=2,2=1
1545   -->
1546 <decoder name="symantec-websecurity">
1547   <prematch>^\d\d\d\d\d\d\d\d,\d\d\d+,</prematch>
1548   <plugin_decoder>SymantecWS_Decoder</plugin_decoder>
1549 </decoder>
1550
1551
1552
1553 <!-- Trend Micro OSCE (Office Scan) decoder.
1554   - 20090716<;>948<;>TROJ_Generic.DIT<;>25<;>3<;>0<;>C:\Documents and Settings\Administrator\Desktop\HyperSnap 6.02.01_EN\HprSnap6Man.chm<;>
1555   - 20090716<;>950<;>WORM_DOWNAD.A<;>1<;>3<;>0<;>C:\Documents and Settings\DCS_VM-ICRC-WFBS6\Local Settings\Temporary Internet Files\Content.IE5\9JK3DN67\sitb[1].jpg<;>
1556   - 20090716<;>951<;>WORM_DOWNAD.A<;>1<;>3<;>0<;>C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\9JK3DN67\sitb[1].jpg<;>
1557   - Date<;>Time<;>Virus name<;>Scan result<;>Scan type<;>Seen<;>Filename<;>
1558   - We are only extracting the scan result right now.
1559   -->
1560 <decoder name="trend-osce">
1561   <prematch>^20\d\d\d\d\d\d\<;></prematch>
1562   <regex offset="after_prematch">^\d+\<;>\S+\<;>(\d+)\<;</regex>
1563   <order>id</order>
1564 </decoder>
1565
1566
1567
1568 <!-- ossec decoder.
1569   - Deals with ossec internal messages.
1570   -->
1571 <decoder name="ossec">
1572   <prematch>^ossec: </prematch>
1573   <type>ossec</type>
1574 </decoder>  
1575
1576 <decoder name="ossec-agent">
1577   <parent>ossec</parent>
1578   <type>ossec</type>
1579   <prematch offset="after_parent">^Agent started:</prematch>
1580   <regex offset="after_prematch">^ '(\S+)'</regex>
1581   <order>extra_data</order>
1582   <fts>name, location, extra_data</fts>
1583 </decoder>
1584
1585 <decoder name="ossec-alert">
1586   <program_name>^ossec$</program_name>
1587   <plugin_decoder>OSSECAlert_Decoder</plugin_decoder>
1588 </decoder>  
1589
1590
1591
1592 <!-- Zeus decoder.
1593   - Will extract the severity and the srcip/username when available.
1594   - Examples:
1595   - [08/Aug/2006:22:32:12 +0100] WARN:admin:Authentication failure, url=/index.cgi, host=xx.yy.com, user=admin
1596   - [10/Dec/2006:16:59:26 +0000] INFO:Zeus Admin Server running
1597   -->
1598 <decoder name="zeus">
1599   <prematch>^[\d\d/\w\w\w/\d\d\d\d:\d\d:\d\d:\d\d \S+] </prematch>
1600   <regex offset="after_prematch"> host=(\S+), </regex>
1601   <order>srcip</order>
1602 </decoder>
1603
1604
1605
1606 <!-- Vmware ESX logs.
1607   - Will extract the severity and username/ip when availavle.
1608   - Examples:
1609   - [2008-03-09 22:43:35.924 'ha-eventmgr' 84503472 info] Event 2053 : User root@127.0.0.1 logged in
1610   - [2008-02-05 02:13:18.112 'ha-eventmgr' 95833272 info] Event xyz : User m@1.2.3.4 logged in
1611   -  [2008-08-26 11:06:16.359 'ha-eventmgr' 20532144 info] Event 285 : Failed login attempt for root@127.0.0.1
1612   - Aug 25 06:01:10 hostname vmware-hostd[1863]: Accepted password for user root from 127.0.0.1
1613   - Aug  7 11:05:34 localhost vmware-authd[9709]: login from 172.16.129.78 as 523b717c-4542-f5fc-c006-1644eb8f4330
1614   - Aug 26 11:42:29 localhost vmware-hostd[1863]: Rejected password for user blablabla from 127.0.0.1
1615   -->
1616 <decoder name="vmware">
1617   <prematch>^[\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d.\d\d\d '\S+' \d+ </prematch>
1618 </decoder>  
1619
1620 <decoder name="vmware-extra">
1621   <parent>vmware</parent>
1622   <regex offset="after_parent">^(\w+)] \S+ \S+ </regex>
1623   <order>status</order>
1624 </decoder>  
1625
1626 <decoder name="vmware-extra">
1627   <parent>vmware</parent>
1628   <regex offset="after_regex">^: User (\w+)@(\d+.\d+.\d+.\d+)</regex>
1629   <regex> logged |^: Failed login \w+ for (\w+)@(\d+.\d+.\d+.\d+)</regex>
1630   <order>user, srcip</order>
1631 </decoder>  
1632
1633 <decoder name="vmware-syslog">
1634   <program_name>vmware</program_name>
1635 </decoder>
1636
1637 <decoder name="vmware-success">
1638   <parent>vmware-syslog</parent>
1639   <prematch>^Accepted|^Rejected</prematch>
1640   <regex offset="after_prematch">^ \S+ for user (\S+) from (\S+)$</regex>
1641   <order>user, srcip</order>
1642 </decoder>
1643           
1644 <decoder name="vmware-login">
1645   <parent>vmware-syslog</parent>
1646   <prematch>^login from </prematch>
1647   <regex offset="after_prematch">^(\S+) as</regex>
1648   <order>srcip</order>
1649 </decoder>
1650
1651
1652
1653 <!-- Solaris BSM
1654   - Examples:
1655   - Nov 21 15:12:56 unknown audit: [ID 905220 audit.notice] system booted
1656     text booting kernel
1657   - Nov 21 15:16:22 unknown audit: [ID 984917 audit.notice] login - telnet
1658     failed session 2740580090 by root as root:root from 1.254.168.192
1659   - failed session 2740580090 by root as root:root from 1.254.168.192
1660   - ok session 347344759 by 500959152 as root:root from 3.11.8.4 obj   
1661   -->
1662 <decoder name="solaris_bsm">
1663   <program_name>^audit$</program_name>
1664 </decoder>
1665
1666 <decoder name="solaris_bsm_session">
1667   <parent>solaris_bsm</parent>
1668   <prematch> \w+ session \d+ by </prematch>
1669   <regex> (\w+) session \d+ by</regex>
1670   <order>status</order>
1671 </decoder>
1672
1673 <decoder name="solaris_bsm_session">
1674   <parent>solaris_bsm</parent>
1675   <regex offset="after_regex">^ \S+ as \S+:\S+ from (\S+)</regex>
1676   <order>srcip</order>
1677 </decoder>
1678
1679
1680
1681 <!-- Asterisk logs
1682   - Examples:
1683   - Dec 16 18:02:04 asterisk1 asterisk[31774]: NOTICE[31787]:
1684   chan_sip.c:11242 in handle_request_register: Registration from
1685   '"503"<sip:503@192.168.1.107>' failed for '192.168.1.137' - Wrong
1686   password
1687   -->
1688 <decoder name="asterisk">
1689   <program_name>^asterisk</program_name>
1690 </decoder>
1691
1692 <decoder name="asterisk-denied">
1693   <parent>asterisk</parent>
1694   <prematch>^NOTICE[\d+]: \S+ in \S+: Registration from </prematch>
1695   <regex offset="after_prematch">^\S+ failed for '(\d+.\d+.\d+.\d+)'</regex>
1696   <order>srcip</order>
1697 </decoder>
1698
1699
1700
1701 <!-- Cisco IOS
1702   - Group for Cisco IOS messages.
1703   - We would need to support multiple formats, but currently we require
1704   - no service time stamp and no sequence-numbers.
1705   -
1706   - Aug 17 17:41:26 xyz.com 681: Aug 17 17:41:24.776 AEST: %SEC-6-IPACCESSLOGS: list 30 denied 124.254.75.141 1 packet
1707   - Aug 20 11:33:41 RouterName 696: %SYS-5-CONFIG_I: Configured from
1708   console by admin on vty0 (210.x.x.12)
1709   - 681: Aug 17 17:41:24.776 AEST: %SEC-6-IPACCESSLOGS:
1710   - 1348: .Jun 12 18:22:22 UTC: %SYS-5-CONFIG_I:
1711   - 1348: *Jun 12 18:22:22 UTC: %SYS-5-CONFIG_I:
1712   - 23: May  3 05:15:25.217 UTC: %SEC-6-IPACCESSLOGP:
1713   - Possible regex:
1714   "^%\w+-\d-\w+: |^\S\w\w+ \.\d \d\d:\S+ \w+: %\w+-\d-\w+:"
1715   -->
1716 <decoder name="cisco-ios">
1717   <prematch>^%\w+-\d-\w+: </prematch>
1718 </decoder>
1719
1720 <decoder name="cisco-ios">
1721   <program_name />
1722   <prematch>^%\w+-\d-\w+: </prematch>
1723 </decoder>
1724   
1725   
1726 <!-- Cisco IOS
1727   - Will extract the action, srcip, srcport, dstip and dstport
1728   - Samples:
1729   -
1730   - %SEC-6-IPACCESSLOGP: list 102 denied tcp 10.0.6.56(3067) -> 172.36.4.7(139), 1 packet
1731   - %SEC-6-IPACCESSLOGP: list 199 denied tcp 10.0.61.108(1477) -> 10.0.127.20(445), 1 packet
1732   -->
1733 <decoder name="cisco-ios-acl">
1734   <parent>cisco-ios</parent>
1735   <type>firewall</type>
1736   <prematch>^%SEC-6-IPACCESSLOGP: </prematch>
1737   <regex offset="after_prematch">^list \S+ (\w+) (\w+) </regex>
1738   <regex>(\S+)\((\d+)\) -> (\S+)\((\d+)\),</regex>
1739   <order>action, protocol, srcip, srcport, dstip, dstport</order>
1740 </decoder>
1741
1742
1743 <!-- Cisco IOS IDS/IPS module 
1744   - Will extract the id, srcip, srcport, dstip and dstport
1745   - Sep  1 10:25:29 10.10.10.1 %IPS-4-SIGNATURE: Sig:3051 Subsig:1 Sev:4 TCP Connection Window Size DoS [192.168.100.11:51654 -> 10.10.10.10:4444]
1746   - Sep  1 10:25:29 10.10.10.1 %IPS-4-SIGNATURE: Sig:3051 Subsig:1 Sev:4 TCP Connection Window Size DoS [192.168.100.11:60797 -> 10.10.10.10:80]
1747   - Sep  1 10:25:29 10.10.10.1 %IPS-4-SIGNATURE: Sig:5123 Subsig:2 Sev:5 WWW IIS Internet Printing Overflow [192.168.100.11:60797 -> 10.10.10.10:80]
1748   -->
1749 <decoder name="cisco-ios-ids">
1750   <parent>cisco-ios</parent>
1751   <type>ids</type>
1752   <prematch>^%IPS-4-SIGNATURE: </prematch>
1753   <regex offset="after_prematch">^Sig:(\d+) \.+[(\S+):(\d+) -> </regex>
1754   <regex>(\S+):(\d+)]</regex>
1755   <order>id, srcip, srcport, dstip, dstport</order>
1756   <fts>name, id, srcip, dstip</fts>
1757   <ftscomment>First time Cisco IOS IDS/IPS module rule fired.</ftscomment>
1758 </decoder>
1759
1760
1761 <!-- Cisco IOS
1762   - Extracts the ID of cisco ios messages.
1763   -->
1764 <decoder name="cisco-ios-generic">
1765   <parent>cisco-ios</parent>
1766   <regex>^(%\w+-\d-\w+): </regex>
1767   <order>id</order>
1768 </decoder>
1769
1770
1771
1772 <!-- Checkpoint via syslog decoder.
1773   - Does not currently handle all types of Checkpoint events.
1774   - Checkpoint NG(X)/FW-1 logs via (Linux) syslog
1775   - Ex. fw log -ftnp fw.log | logger -t Checkpoint
1776   -
1777   - fw log :
1778   -         -f select current log file
1779   -         -t tail file
1780   -         -n use ip instead of name
1781   -         -p use port number instead of name
1782   -
1783   -         -l add date before timestamp
1784   -            Use of -l changes log format slightly
1785   -
1786   -         -g without : and ; delimiters
1787   -            use of -g significantly changes log format
1788   -            this decoder is incompatible with -g
1789   -
1790   - logger :
1791   -         -t <tag> prepends "tag: " to log entry
1792   -        the tag here must match "program name" in the decoder
1793   -            
1794   - Examples:
1795   -
1796   - Checkpoint: 21Aug2007 12:00:00 accept 10.10.10.2 >eth0 rule: 100; rule_uid:
1797 {00000000-0000-0000-0000-000000000000}; service_id: nbdatagram; src:
1798 10.10.10.3; dst: 10.10.10.255; proto: udp; product: VPN-1 & FireWall-1;
1799 service: 138; s_port: 138;
1800   -
1801   - Checkpoint: 13:00:00 accept 10.10.10.2 >eth0 rule: 101; rule_uid:
1802 {00000000-0000-0000-0000-000000000000}; service_id: http; src: 10.10.10.3; dst:
1803 10.1.2.3; proto: tcp; product: VPN-1 & FireWall-1; service: 80; s_port: 1111;
1804   -
1805   - Checkpoint: 21Aug2007 14:49:26 drop   10.10.10.1 >eth4 rule: 102; rule_uid:
1806 {00000000-0000-0000-0000-000000000000}; ICMP: Echo Request; src: 10.10.10.2;
1807 dst: 10.10.10.3; proto: icmp; ICMP Type: 8; ICMP Code: 0; product: VPN-1 &
1808 FireWall-1;
1809   -
1810   - Checkpoint:  3Apr2008 15:02:15 monitor 10.10.10.3 >eth2 Attack Info: Line 
1811 in HTTP request too long; attack: Malformed HTTP; src: 10.10.10.4; dst: 
1812 10.10.10.5; proto: tcp; product: SmartDefense; service: 111; s_port: 222;
1813   -->
1814
1815 <!-- \s+\S+ \d\d:\d\d:\d\d (\w+) \d+.\d+.\d+.\d+ \p\S+ rule: -->
1816 <decoder name="checkpoint-syslog">
1817   <program_name>^Checkpoint</program_name>
1818   <prematch>^\s+\S+ \d\d:\d\d:\d\d </prematch>
1819 </decoder>
1820
1821 <decoder name="checkpoint-syslog-fw">
1822   <parent>checkpoint-syslog</parent>
1823   <type>firewall</type>
1824   <prematch offset="after_parent">^drop|^accept|^reject</prematch>
1825   <regex offset="after_parent">^(\w+)\s+\S+ \p\S+ rule:\.+</regex>
1826   <regex>src: (\d+.\d+.\d+.\d+); dst: (\d+.\d+.\d+.\d+); proto: (\S+);</regex>
1827   <order>action,srcip,dstip,protocol</order>
1828 </decoder>  
1829
1830 <decoder name="checkpoint-syslog-fw">
1831   <parent>checkpoint-syslog</parent>
1832   <type>firewall</type>
1833   <regex offset="after_regex">service: (\d+); s_port: (\d+);</regex>
1834   <order>dstport,srcport</order>
1835 </decoder>
1836             
1837 <decoder name="checkpoint-syslog-ids">
1838   <parent>checkpoint-syslog</parent>
1839   <type>ids</type>
1840   <prematch offset="after_parent">^monitor|^drop</prematch>
1841   <regex offset="after_prematch">attack: (\.+); </regex>
1842   <regex>src: (\d+.\d+.\d+.\d+); dst: (\d+.\d+.\d+.\d+); </regex>
1843   <regex>proto: (\S+);</regex>
1844   <order>extra_data, srcip, dstip, protocol</order>
1845   <fts>name, extra_data, srcip, dstip</fts>
1846   <ftscomment>First time Checkpoint rule fired.</ftscomment>
1847 </decoder>
1848
1849
1850
1851 <!-- Microsoft Windows 2003 ipv4, 2008 ipv4/ipv6 DHCP decoder for OSSEC
1852   -  Author: phishphreek@gmail.com
1853   -->
1854   
1855 <!--
1856   -  Server 2008 DHCP IPv4 Decoder (must go first)
1857   -  ID,Date,Time,Description,IP Address,Host Name,MAC Address,User Name, TransactionID, QResult,Probationtime, CorrelationID.
1858   -  24,3/10/2009,0:00:46,Database Cleanup Begin,,,,
1859   -  0,3/10/2009,0:00:46,DNS Update Request,201.10.168.192,OPS03W034.,,
1860 -->
1861
1862 <decoder name="ms-dhcp-ipv4">
1863   <prematch>^\d\d,\d+/\d+/\d\d\d\d,\d+:\d+:\d+,</prematch>
1864   <regex>^(\d\d),</regex>
1865   <order>id</order>
1866 </decoder>
1867
1868 <!--
1869   -  Server 2008 DHCP IPv6 Decoder (must go second)
1870   -  ID,Date,Time,Description,IPV6 Address,Host Name,Error Code, Duid Length, Duid Bytes(Hex),User Name.
1871 -->
1872 11020,05/05/09,00:00:38,DHCPV6
1873 <decoder name="ms-dhcp-ipv6">
1874   <prematch>^\d\d\d\d\d,\d\d/\d\d/\d\d,\d\d:\d\d:\d\d,</prematch>
1875   <regex>^(\d\d\d\d\d),</regex>
1876   <order>id</order>
1877 </decoder>
1878
1879
1880
1881 <!-- EOF -->