本文書について
CIS Benchmarksのアセスメント方法について確認したことを、徒然と書いています。
(というか、メモ書き程度です)
- CIS Benchmarkに記載されている設定を監査するためには、おおよそ以下のツールを使うことになる。
- 無償系
- CIS-CAT Lite (但し対応するプロファイルが限られるため、実用には向かない)
- OpenSCAP (特定のプロファイルが対応しているようだ。CIS Benchmark準拠しているとは明言していない。)
- 有償系
- CIS-CAT Pro (CISへのサブスクリプション)
- Tenable io, Rapid7 等の商用製品による独自実装
- その他
- CIS Benchmarksを見て、自分でスキャン方法を実装する
- できないことはない。CIS Benchmarkに方法は書いてある。
- が。Benchmarkは1カ月ごとに更新があり得る、ディストリビューション毎に用意する必要がある(RHEL8/7, Ubuntu20/18 だけで4個!)ので、メンテできないのでは。
- CIS Benchmarksを見て、自分でスキャン方法を実装する
- 無償系
これらを踏まえ、実運用サーバのセキュリティチェックでCIS Benchmarkをどう使ったらよいのかを検討した。
結論
- CIS-CAT Liteは実運用には向かず、あくまで有償版の CIS-CAT Proの体験版。
- v3について、実環境で稼働させるのは難しいと思われる。
- JREが必要/GUIが必要となり、既存サーバへの変更が必要になることが多いと思われる。
- 有償版であれば、出力形式やBenchmarkの種類も増えるので、有用かも
- v3について、実環境で稼働させるのは難しいと思われる。
- やっぱり OpenSCAPを使うのがよさそう
- CIS Benchmarksに準拠(strictで)する必要は、実運用上なさそう
- そういう意味であれば、それらの項目も含まれているプロファイルを使えばよい気がする
- 何より、パッケージで導入可能/JREのような大幅な変更は不要、なので始めやすいのでは
- プロファイルを買えれば、PCIDSS向けでスキャンもできるので、導入後の利用用途拡大も見込める
- あと、チェック項目も変更可能なので、「/tmpは別パーティションにせよ」みたいなものを除外しやすい。
というわけで、strictにCIS Benchmarkに対応する必要がある、という稀な事態が無い限りは、OpenSCAPのSSGを利用したスキャンが実用的なのではないかと思われる。
以下、CIS-CAT v3/4 及び OpenSCAPでのアセスメント(スキャン)方法を例示しておく
CIS-CAT Liteでのスキャン
- Ubuntu18.04をDesktopでインストールしている機器をスキャンする
- CIS-CAT Liteはv3, v4の二系列があるため、両方を試した
CIS-CAT Lite v3
JREのインストール
Javaが必須の為、インストールする。
$ sudo apt-get install openjdk-11-jre
スキャンする
CIS-CAT.sh
でGUIを起動し、スキャンをする。
$ sudo ./CIS-CAT.sh
1. Benchmarkを選択する
- 今回は
CIS Ubuntu Linux 18.04 LTS Benchmark
を選択 - ※無償の為、対象が制限されている。有償であれば、Ubuntuであれば12.04LTSから20.04LTSまで選択可能。
2. Profileを選択する
3. レポートオプションを設定する
4. 設定のレビュー
5. スキャン/レポート確認
6. レポートの閲覧
- CIS-CAT Lite v3でのアセスメント結果を確認する。
- 表紙もあり、報告書の体を成している
- Summary, Assessment Resultsで、特定領域の設定が不足しているなどが把握しやすい
- Assessment Detail(例として
Ensure /tmp is configured
を掲示)がCIS-Benchmarksの内容となり、どのように検査され、どのように設定すべきか、が示される - HTMLなので自動処理は難しい。あくまで無償previewであり、有償版を利用せよという意思を感じる。
備考
-
Options - Update Vulnerability Definitions
で定義ファイルのアップデートが可能。最低限Only Current Platform Vulnerabilities
だけでもアップデートする。
CIS-CAT Lite v4
スキャン
- まずは対話的に実行(
-i
オプション)してみる - DataStreamやProfileを聞かれるので、答えるだけ
$ sudo sh ./Assessor-CLI.sh -i
...
Available Benchmarks/Data-Stream Collections:
1. CIS Controls Assessment Module - Implementation Group 1 for Windows 10 v1.0.3
2. CIS Controls Assessment Module - Implementation Group 1 for Windows Server v1.0.0
3. CIS Google Chrome Benchmark v2.0.0
4. CIS Microsoft Windows 10 Enterprise Release 1909 Benchmark v1.8.1
5. CIS Ubuntu Linux 18.04 LTS Benchmark v2.0.1
> Select Content # (max 5): 5
Selected 'CIS Ubuntu Linux 18.04 LTS Benchmark'
Assessment File CIS_Ubuntu_Linux_18.04_LTS_Benchmark_v2.0.1-xccdf.xml has a valid Signature.
Profiles:
1. Level 1 - Server
2. Level 2 - Server
3. Level 1 - Workstation
4. Level 2 - Workstation
> Select Profile # (max 4): 1
Selected Profile 'Level 1 - Server'
Obtaining session connection --> Local
...
内容を確認する
- v3同様にHTMLのみが出力されているので、これを読む。記載方式はざっと見で差は無いよう見思える。
- ざっと見た感じでは、スキャンが上手く行っていなかったようだ。アセスメント直後のサマリに
Total Not Applicable: 241
とあり、全部失敗しているようだ。 - v3よりは使い始めが面倒かもしれないが、CLI前提なので比較て使いやすいかもしれない。