claranet.log4shell
Ansibleロール - log4shell
:star: GitHubでスターを付けてください — とても励みになります!
システム上のLog4Shell CVE-2021-44228を探す
このロールは、ファイルシステムやオープンファイル(lsof)からJARとWARを見つけようとします。
:warning: スキャン中に /
上の find
やJAR/WAR内を調査するための展開プロセスのため、システムが遅くなる可能性があります。
このロールは、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
が存在するかどうかを示す辞書です。
JndiLookup.classがないJARは、https://www.kb.cert.org/vuls/id/930724 によれば脆弱性はありません。
:warning: 必要条件
Ansible >= 4
:zap: インストール
ansible-galaxy install claranet.log4shell
:gear: ロール変数
変数 | デフォルト値 | 説明 |
---|---|---|
log4shell_scan_path | / | スキャンするファイルシステムのパス |
:arrows_counterclockwise: 依存関係
該当なし
:pencil2: サンプルプレイブック
---
- hosts: all
roles:
- role: claranet.log4shell
log4shell_scan_path: /opt