findこのロールは、以下のような辞書を変数 log4shell_analyze_versions に格納します:
{
"/tmp/rundeck.war": {
"version": "2.13.2",
"type": "war",
"jndilookup": false
},
"/tmp/apache-log4j-2.12.1-bin/log4j-core-2.12.1.jar": {
"version": "2.12.1",
"type": "jar",
"jndilookup": true
},
"/tmp/apache-log4j-2.12.1-bin/log4j-core-2.12.1-tests.jar": {
"version": "2.12.1",
"type": "jar",
"jndilookup": false
}
}
キーは、ロールが log4j ライブラリを検出したパスです。
値は、version に log4j のバージョン、type にファイル種別 (war/jar) を含む辞書で、jndilookup キーは JAR 内にファイル org/apache/logging/log4j/core/lookup/JndiLookup.class が存在するかどうかを示します。
https://www.kb.cert.org/vuls/id/930724 によると、JndiLookup.class を含まない JAR は脆弱ではありません
Ansible >= 4
ansible-galaxy install claranet.log4shell
| 変数 | デフォルト値 | 説明 |
|---|---|---|
| log4shell_scan_path | / | スキャンするファイルシステムのパス |
N/A
---
- hosts: all
roles:
- role: claranet.log4shell
log4shell_scan_path: /opt