CISベンチマークを活用してセキュリティポリシーを決める!

コード

皆さんはどうやってデバイスのセキュリティポリシーを決めていますか?
経験?勘?なんとなく?

世界中のセキュリティの専門家が作ったセキュリティポリシーをベースに自社のポリシーを作ってみませんか?

慣習や勘、なんとなくといったあいまいさでデバイスのセキュリティポリシーを決めることから脱却し、専門家の知識をベースにセキュリティポリシーを決めて、設定していく。

今回はそんな記事です。

CIS ベンチマークとは

システムを安全に構成するための構成基準およびベストプラクティスが記載されたガイドラインです。OSやソフトウェアごとにガイドラインが作成されています。OSですとmacOSやWindows、CentOS Linuxなどのガイドラインがあります。

これを作成しているのはCenter for Internet Securityという非営利団体です。
Center for Internet Securityは、”サイバー防衛のためのベスト プラクティス ソリューションを特定、開発、検証、促進、維持する” ことを使命とする非営利団体で、世界中の政府、企業、学術界のサイバーセキュリティおよび IT の専門家が作成をしています。

つまり、世界中のセキュリティやITの専門家がOS、ソフトウェアごとにセキュリティの観点から推奨する設定基準を作成しているわけです。

CISベンチマークを参考にする理由

私個人の知識より、世界中の専門家の知識の方が勝っているからです。

私自身、それなりにITやセキュリティに関わってきました。しかしながら、世界中の専門家の知識には勝てません。私個人がイチからデバイスのセキュリティポリシーを考えるより、よほどセキュアなポリシーになるでしょう。

そんな考えからCISベンチマークをベースとして、細かいところはカスタマイズして使っていく、そういった方法を取っています。

JamfにCISベンチマーク準拠のスクリプトあり!

非常に嬉しいことにJamf社からCISベンチマークのスクリプトが提供されています。

ちなみ私がJamfを使ってCISベンチマークの設定を行おうとしたときはCatalinaバージョンのスクリプトがありませんでした。よって過去バージョンのスクリプトをベースに1つ1つ書き換えてたのですが、それが終わったのとほぼ同時期にCatalina対応のスクリプトが出たので、自分の苦労はなんだったんだと叫んだ思い出がありますw

使ってみる

使い方は読んでいただければわかりますw
ここでは簡単に。

手順1. セキュリティポリシーの設定

CISベンチマークをベースに自社のポリシーを作成したら、

# CIS-for-macOS-Catalina-CP/CIS Scripts/1_Set_Organization_Priorities.sh

を開いて、ポリシーを設定していきます。

各設定がtrue / falseで設定されているので、設定するものはtrue、設定しないものはfalseを設定していきます。ちなみに各項目の番号はCISベンチマークの各番号と一致しています。

# 1.1 Verify all Apple provided software is current
# Best managed via Jamf
OrgScore1_1="true"
# OrgScore1_1="false"

# 1.2 Enable Auto Update 
# Configuration Profile - Custom payload > com.apple.SoftwareUpdate.plist > AutomaticCheckEnabled=true, AutomaticDownload=true
OrgScore1_2="true"
# OrgScore1_2="false"

# 1.3 Enable Download new updates when available  
# Configuration Profile - Custom payload > com.apple.SoftwareUpdate.plist > com.apple.SoftwareUpdate AutomaticDownload=true
OrgScore1_3="true"
# OrgScore1_3="false"

ポリシーを設定したら、このスクリプトを実行します。

sudo sh 1_Set_Organization_Priorities.sh

実行するとplistファイルが生成されます。
ここにセキュリティポリシー(各設定のtrue / false)が入ってます。

cat /Library/Application Support/SecurityScoring/org_security_score.plist

手順2. セキュリティポリシーとのギャップ抽出

次に、現在のmacOS設定とセキュリティポリシーのギャップを抽出します。

同じようにスクリプトを実行すればOK!

sudo sh 2_Security_Audit_Compliance.sh

ターミナルにも結果が出力されますが、下記ファイルにも結果(準拠状況)が出力されます。

cat /Library/Application Support/SecurityScoring/remediation.log

出力はこんな感じです。
(出力がJSTになっていますが、本来はUTCで出力されます。私は自社用にスクリプトを少しカスタマイズしているので…)

Fri Oct  9 16:35:26 JST 2020 Beginning Audit
Fri Oct  9 16:35:34 JST 2020 1.1 passed
Fri Oct  9 16:35:34 JST 2020 1.2 passed cp
Fri Oct  9 16:35:35 JST 2020 1.3 passed cp
Fri Oct  9 16:35:35 JST 2020 1.4 passed
Fri Oct  9 16:35:35 JST 2020 1.5 passed cp
Fri Oct  9 16:35:35 JST 2020 1.6 passed

手順3. セキュリティ設定

ギャップ(セキュリティポリシーと現在の設定の差)が抽出されたので、このギャップに対して実際に設定を行っていきます。

同様にスクリプトを実行します。
(rootに権限昇格して設定したほうがいいかも)

sudo sh 3_Security_Remediation.sh

これでmacOSをセキュリティポリシーに準拠させることができます。

実運用では

実運用ではこれらのスクリプトをJamfに登録して実行すれば、複数台(企業内の全macOS)に設定することが可能です。

注意事項になりますが、Jamfのスクリプトは一部、構成プロファイルを使って設定変更していたり、ID管理ツールでIDのパスワードポリシーを制御することが前提になっていたりして、CISベンチマークすべての項目をスクリプトで設定することはできません。

課題

管理者視点での課題は、これらセキュリティ設定の可視化です。
全macOSのセキュリティ状況がどうなっているか、がひと目で分かるといいなと思いました。

そんな課題を解決する製品としてはJamf Protectがあります。
この製品にはCISベンチマークの準拠状況がひと目でわかるという素晴らしい機能があります。Jamf Protectの検証記事は後日、出します。

もしくは以前の記事で出した下記の方法でも解決することが可能です。
UIはJamf Protectに負けますがww

macOSのセキュリティ設定を可視化する 1|12ban|note

これはmacOSのセキュリティ設定を可視化する記事である。 現在、macOSデバイスの管理にはJamfを入れています。そのため、ユーザ(社員)にmacbookを渡した時点ではきちんとセキュリティ設定が適用されている状態です。 しかし、では今、どうなのでしょうか?基本的にはセキュリティ設定は変更できないような仕組みになってますが、場合によっては変更可能なものもありますし、私が予想もしていない方法で変更されている可能性もあります。 こんな背景から、いままさに、Now、セキュリティ設定がどうなっているのか?を知りたいという課題が生まれました。 ゴール さて、今回のセキュリティ状況

タイトルとURLをコピーしました