Estoy intentando silenciar algunas alertas de comprobación de raíz OSSEC como estas: -
** Alert 1456448991.70239: mail - ossec,rootcheck,
2016 Feb 26 01:09:51 myhost->rootcheck
Rule: 519 (level 7) -> 'System Audit: Vulnerable web application found.'
System Audit: Web vulnerability - Backdoors / Web based malware found - eval(base64_decode. File: /var/www/somepath/app/code/local/Mlx/Mlx/Model/Observer.php.
** Alert 1456448991.70587: mail - ossec,rootcheck,
2016 Feb 26 01:09:51 myhost->rootcheck
Rule: 519 (level 7) -> 'System Audit: Vulnerable web application found.'
System Audit: Web vulnerability - Backdoors / Web based malware found - eval(base64_decode. File: /var/www/otherpath/app/code/local/Mlx/Mlx/controllers/ServiceController.php.
He agregado una regla a rules/local_rules.xml
que debería detener las alertas configurando level="0"
: -
<group name="rootcheck">
<rule id="100200" level="0">
<if_sid>519</if_sid>
<match>Web vulnerability - Backdoors / Web based malware found - eval(base64_decode</match>
<match>app/code/local/Mlx/Mlx</match>
<description>Ignore Magento extension Mlx license restriction PHP</description>
</rule>
Aquí está la cadena de reglas de las que depende, desde rules/ossec_rules.xml
: -
<group name="ossec,">
<rule id="509" level="0">
<category>ossec</category>
<decoded_as>rootcheck</decoded_as>
<description>Rootcheck event.</description>
<group>rootcheck,</group>
</rule>
<rule id="510" level="7">
<if_sid>509</if_sid>
<description>Host-based anomaly detection event (rootcheck).</description>
<group>rootcheck,</group>
<if_fts />
</rule>
<rule id="516" level="3">
<if_sid>510</if_sid>
<match>^System Audit</match>
<description>System Audit event.</description>
<group>rootcheck,</group>
</rule>
<rule id="519" level="7">
<if_sid>516</if_sid>
<match>^System Audit: Web vulnerability</match>
<description>System Audit: Vulnerable web application found.</description>
<group>rootcheck,</group>
</rule>
Estos comandos, ejecutados después de realizar cualquier cambio en la regla, reinician ossec, borran la base de datos de verificación de raíz e inician (después de algún retraso) una nueva verificación de raíz: -
# bin/ossec-control restart
# bin/rootcheck_control -u 000
# bin/agent_control -ru 000
ossec-logtest
se puede usar para ver cómo se decodifican las líneas de un archivo de registro y qué reglas se usan para generar alertas, pero parece que no sirve de nada para probar reglas de verificación de raíz: -
# bin/ossec-logtest
2016/02/26 01:52:55 ossec-testrule: INFO: Reading local decoder file.
2016/02/26 01:52:55 ossec-testrule: INFO: Started (pid: 24633).
ossec-testrule: Type one log per line.
System Audit: Web vulnerability - Backdoors / Web based malware found - eval(base64_decode. File: /var/www/otherpath/app/code/local/Mlx/Mlx/controllers/ServiceController.php.
**Phase 1: Completed pre-decoding.
full event: 'System Audit: Web vulnerability - Backdoors / Web based
malware found - eval(base64_decode. File:
/var/www/otherpath/app/code/local/Mlx/Mlx/controllers/ServiceController.php.'
hostname: 'myhost'
program_name: '(null)'
log: 'System Audit: Web vulnerability - Backdoors / Web based
malware found - eval(base64_decode. File:
/var/www/otherpath/app/code/local/Mlx/Mlx/controllers/ServiceController.php.'
**Phase 2: Completed decoding.
No decoder matched.
De hecho, no hay decodificadores que descodifiquen esta línea de "registro" (o las variaciones que probé).
Es posible sobrescribir una regla al copiarla en local_rules.xml
y agregar el atributo overwrite
: -
<rule id="519" level="0" overwrite="yes">
<if_sid>516</if_sid>
<match>^System Audit: Web vulnerability</match>
<description>System Audit: Vulnerable web application found.</description>
<group>rootcheck,</group>
</rule>
Y habiendo cambiado el atributo level
, todas las 519 alertas se silencian.
Así que debe haber algo mal con mi regla. ¿Qué estoy haciendo mal?