Décoder des journaux Tomcat avec OSSEC

Remerciement : Je remercie Nicolas Zin de Savoir-faire Linux pour son expertise sur le sujet et pour la maintenance du dépôt OSSEC pour Ubuntu

J’ai eu comme défi de surveiller les journaux de nos applications avec OSSEC.
Ce fut plus aisé que prévu !

Premièrement, j’ai ajouté les décodeurs suivants dans /var/ossec/etc/decoder.xml :

<decoder name= »tomcat-SEVERE »>
<prematch>^SEVERE:</prematch>
<regex offset= »after_prematch »>.+</regex>
<order>extra_data</order>
</decoder>

<decoder name= »log4j-ERROR »>
<prematch>^d+spw+psd+pd+pd+sd+pd+pd+pd+s+ERROR</prematch>
<regex offset= »after_prematch »>^ (S+)  –  (S+)  –  (.+)</regex>
<order>extra_data, extra_data, extra_data</order>
</decoder>
<decoder name= »log4j-TRACE »>
<prematch>^d+spw+psd+pd+pd+sd+pd+pd+pd+s+TRACE</prematch>
<regex offset= »after_prematch »>.+</regex>
<order>extra_data</order>
</decoder>
<decoder name= »log4j-INFO »>
<prematch>^d+spw+psd+pd+pd+sd+pd+pd+pd+s+INFO</prematch>
<regex offset= »after_prematch »>.+</regex>
<order>extra_data</order>
</decoder>
<decoder name= »log4j-DEBUG »>
<prematch>^d+spw+psd+pd+pd+sd+pd+pd+pd+s+DEBUG</prematch>
<regex offset= »after_prematch »>.+</regex>
<order>extra_data</order>
</decoder>

Puis, côté agent, la ligne suivante a été ajoutée à /var/ossec/etc/ossec.conf :

<localfile>
<log_format>multi-line:2</log_format>
<location>/var/log/tomcat7/catalina.out</location>
</localfile>

Sur le serveur, j’ai testé avec l’outil ossec-logtest une entrée du journal.

Enfin,
pour finaliser le tout, la création de règle est obligatoire, donc dans
/var/ossec/rules j’ai créé un nouveau fichier de règles que j’ai nommé
tomcat_rules.xml et qui va comme suit :

 <rule id= »100002″ level= »5″>
<decoded_as>log4j-ERROR</decoded_as>
<description>Error in Tomcat application</description>
</rule>

<rule id= »100003″ level= »12″>
<decoded_as>tomcat-SEVERE</decoded_as>
<description>Severe error in Tomcat container</description>
</rule>