Sto cercando di disattivare alcuni avvisi di root-root OSSEC come questi: -
** 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.
Ho aggiunto una regola a rules/local_rules.xml
che dovrebbe interrompere gli avvisi impostando 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>
Ecco la catena di regole da cui dipende, da 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>
Questi comandi, eseguiti dopo aver apportato qualsiasi modifica alla regola, riavviare ossec, cancellare il db rootcheck e avviare (dopo qualche ritardo) un nuovo rootcheck: -
# bin/ossec-control restart
# bin/rootcheck_control -u 000
# bin/agent_control -ru 000
ossec-logtest
può essere utilizzato per vedere come vengono decodificate le righe da un file di registro e quali regole vengono utilizzate per generare avvisi, ma non sembra essere utilizzato per testare le regole di rootcheck: -
# 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.
In effetti, non ci sono decodificatori che decodificano questa linea di 'log' (o le varianti che ho provato).
È possibile sovrascrivere una regola copiandola in local_rules.xml
e aggiungendo l'attributo 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>
E dopo aver modificato l'attributo level
, tutti gli allarmi 519 sono disattivati.
Quindi deve esserci qualcosa di sbagliato nella mia regola. Cosa sto sbagliando?