Cloud Service
OCI Vulnerability Scanning Service
コンピュートインスタンスとコンテナイメージの脆弱性・開放ポート・CIS非準拠を定期スキャンし、対処の優先度を可視化。脆弱な資産の見落としを減らす OCI の無料サービスで、AWS Inspector に相当。
- 1.ホストとコンテナイメージを定期スキャンし、CVE・開放ポート・CIS非準拠を検出する。
- 2.スキャンレシピで対象とスケジュールを定義し、ホストはエージェント経由で診断する。
- 3.サービス自体は無料で、結果は Cloud Guard にも連携。AWS Inspector に相当。
解決する課題
- 稼働中のコンピュートインスタンスに既知の脆弱性(CVE)や未適用の重要パッチがないかを継続的に確認したい
- 意図せず開いてしまったポートを見つけ、攻撃面を減らしたい
- OS の設定がCIS ベンチマークに準拠しているかを定点で点検したい
- コンテナイメージに潜む脆弱性を、本番に出る前・出た後の両方で把握したい
- 脆弱な資産を人手で棚卸しするのは限界で、見落としがインシデントにつながる
主要概念と用語
- スキャンレシピ(Scan Recipe): スキャンの種類・スケジュール・検出項目を定義するテンプレート。ホスト用とコンテナイメージ用で別々に作る
- ターゲット(Target): スキャン対象の集合。コンパートメントを指定して配下のコンピュートインスタンスをまとめて対象にしたり、コンテナイメージのリポジトリを指定したりする。ターゲットにレシピを紐付けてスキャン挙動を決める
- ホストスキャン(Host Scan): コンピュートインスタンス1台の診断結果。検出した脆弱性とリスクレベルを集約する
- エージェントベーススキャン: インスタンス内の Oracle Cloud Agent と脆弱性スキャンプラグインを使い、OS 内部のパッケージや設定を診断する方式。CVE 検出や CIS 準拠チェックを担う
- ポートスキャン(標準スキャン): インスタンスのパブリック IP に対してネットワーク側から開放ポートを探す方式。エージェント不要で実行できる
- CIS ベンチマーク: 業界標準の OS セキュリティ基準。本サービスは Distribution Independent Linux のアクセス・認証・認可に関する項目などへの準拠を確認する
- 脆弱性レポート(Vulnerabilities Report): 特定の脆弱性(CVE)を軸に、それがどのターゲットに存在するかを横断的に見るビュー
- プラグイン(Plugin): Oracle Cloud Agent の機能モジュール。ホストスキャンには脆弱性スキャンプラグインの有効化が必要
仕様・制限・クォータ
- リージョン単位で利用し、対象は同一テナンシ内のコンピュートインスタンスとコンテナレジストリのイメージ
- ホストのエージェントベーススキャンには Oracle Cloud Agent 対応イメージと脆弱性スキャンプラグインの有効化が必要。プラグインが無効だと CVE・CIS 診断は動かない
- ポートスキャンはエージェント不要だが、対象インスタンスにパブリック IP があり、ネットワーク経路で到達できることが前提
- CIS 準拠チェックは Linux 向けの定められた項目を対象とし、対応範囲は OS 種別・ディストリビューションにより異なる
- スキャンはレシピのスケジュールに従って定期実行される。即時に走らせたい場合は別途オンデマンドの実行を行う
- 検出結果は**重大度(Critical / High / Medium / Low など)**で分類される
- ターゲット数やレポート保持などの数値的なクォータはテナンシ既定があり、変動しうるため公式ドキュメントで確認する
内部の仕組み
脆弱性スキャンは レシピ → ターゲット → スキャン実行 → レポート という流れで動きます。
- スキャンレシピで、何を(CVE・開放ポート・CIS)・いつ(スケジュール)スキャンするかを定義する
- ターゲットにレシピを紐付け、対象コンパートメント配下のインスタンス群やイメージリポジトリを指定する
- スケジュールに従ってスキャンが実行される。ホストはエージェント経由でOS内部を診断し、パブリック IP に対してはネットワークマッパーで開放ポートを探索する。コンテナイメージはレジストリ上で内容を解析する
- 結果はホスト単位のスキャン結果と脆弱性(CVE)単位のレポートに集約され、重大度付きで一覧化される
エージェントベーススキャンは Oracle Cloud Agent の脆弱性スキャンプラグインが OS 内のパッケージ情報や設定を収集し、サービス側で既知脆弱性データと突き合わせて判定します。ポートスキャンはエージェントを使わずネットワーク側から到達性を調べるため、エージェント未導入のホストでも攻撃面の一部を把握できます。
エージェントベーススキャンは OS 内部に踏み込み、CVE・未適用パッチ・CIS 準拠まで診断できますが、Oracle Cloud Agent と脆弱性スキャンプラグインが前提です。一方標準のポートスキャンはエージェント不要でパブリック IP の開放ポートを外から探すだけなので、見える範囲は限定的です。両方を組み合わせると、内部の脆弱性と外部の攻撃面の双方をカバーできます。
設計パターン / ベストプラクティス
- コンパートメント単位でターゲットを定義し、新規インスタンスが自動的にスキャン対象へ含まれるようにする
- エージェントベーススキャンを基本にし、CVE・CIS・パッチ未適用まで内部診断する。標準イメージで Oracle Cloud Agent と脆弱性スキャンプラグインを有効化しておく
- コンテナイメージはレジストリ段階でスキャンし、脆弱なイメージが本番に展開される前に止める
- スキャンは適切な頻度でスケジュール化し、新しい CVE 公開後も継続的に再評価されるようにする
- Cloud Guard と連携させ、脆弱性・開放ポートの検出をテナンシ全体のセキュリティ姿勢に統合する
- 重大度の高い検出から優先対処し、Critical / High を SLA 付きで運用フローに乗せる
運用・監視
- ホストスキャン結果を重大度でフィルタし、Critical / High の脆弱性から優先的にパッチ適用する
- 脆弱性(CVE)単位のレポートで、特定の脆弱性が影響するホストを横断的に洗い出し、まとめて対処する
- スキャンが動かない場合は、Oracle Cloud Agent の稼働状況と脆弱性スキャンプラグインの有効化、IAM ポリシーを確認する
- OCI Events / Notifications と組み合わせ、重大な検出を担当者へ通知して放置を防ぐ
- 検出結果は Cloud Guard のダッシュボードにも反映されるため、他のセキュリティ問題と一元的に追える
- 開放ポートの検出は、セキュリティリスト・NSG の見直しにつなげて攻撃面を継続的に縮小する
コスト
OCI Vulnerability Scanning Service はサービス自体に追加料金がかからないのが大きな特徴です。AWS Inspector が評価対象やスキャン量に応じた従量課金であるのに対し、まず有効化のハードルが低く、テナンシ全体に展開しやすくなっています。ただし、スキャン対象となるコンピュートインスタンスやコンテナレジストリ、検出を契機に連携する Notifications・Functions などの他サービスの利用にはそれぞれの課金が発生します。
| 項目 | 課金 | コストの考え方 |
|---|---|---|
| 脆弱性スキャン本体 | 無料 | ホスト・コンテナイメージのスキャンに追加料金なし |
| スキャン対象リソース | 各サービスの料金 | コンピュート・コンテナレジストリは通常どおり課金 |
| 連携先サービス | 各サービスの料金 | 通知の Notifications、自動処理の Functions など |
正確な料金・無料範囲はリージョンや構成で変わりうるため、最終的な確認は公式の料金情報で行ってください。
セキュリティ
- 最小権限の IAM ポリシーで、ホストスキャンとコンテナイメージスキャンの権限を用途ごとに分離する
- エージェントは必要なインスタンスにのみ脆弱性スキャンプラグインを有効化し、診断対象を明確にする
- 検出された脆弱性はパッチ適用やイメージ再ビルドで確実に解消し、再スキャンでクローズを確認する
- 開放ポートの検出を契機にネットワーク制御(セキュリティリスト・NSG)を見直し、不要な公開を閉じる
- 本サービスの操作は OCI Audit に記録され、誰がいつスキャン設定を変更したかを追跡できる
- Cloud Guard と組み合わせ、脆弱性検出を構成ミス・脅威検知と同じ画面で統合監視する
ホストの CVE・CIS 診断はエージェントベースです。Oracle Cloud Agent 非対応イメージや、脆弱性スキャンプラグインを有効化していないインスタンスは、ポートスキャンしか走らず内部の脆弱性が見えません。スキャン対象に含めたつもりでも結果が空に近いときは、まずエージェントとプラグインの状態を確認してください。
関連サービス・比較
最も近い関連サービスは Cloud Guard です。Vulnerability Scanning が「資産の脆弱性・開放ポート・CIS 非準拠を見つける」専用スキャナであるのに対し、Cloud Guard は構成ミスや脅威まで含めてテナンシ全体のセキュリティ姿勢を統合する立場で、Vulnerability Scanning の結果を取り込みます。AWS で相当するのは資産の脆弱性評価を担う Amazon Inspector です。
| 観点 | OCI Vulnerability Scanning | AWS の対応 |
|---|---|---|
| 位置づけ | ホスト・イメージの脆弱性スキャナ | Amazon Inspector |
| 検出対象 | CVE・開放ポート・CIS 非準拠 | CVE・ネットワーク到達性 |
| ホスト診断 | Oracle Cloud Agent プラグイン | SSM エージェント連携 |
| コンテナ | コンテナレジストリのイメージ | ECR イメージスキャン |
| 統合先 | Cloud Guard に結果連携 | Security Hub に結果連携 |
| 課金 | 無料 | 対象・スキャン量に応じた従量課金 |
ハンズオン / CLI例
# 1. ホスト用スキャンレシピを作成(CVE・ポート・CISの検出を有効化)
oci vulnerability-scanning host-scan-recipe create \
--compartment-id <compartment-ocid> \
--display-name host-recipe \
--agent-settings '{
"scanLevel": "STANDARD",
"agentConfiguration": {
"vendor": "ORACLE",
"cisBenchmarkSettings": { "scanLevel": "STRICT" }
}
}' \
--port-settings '{ "scanLevel": "STANDARD" }' \
--schedule '{ "type": "DAILY", "dayOfWeek": "MONDAY" }'
# 2. ホストスキャンターゲットを作成し、コンパートメントを対象にレシピを紐付け
oci vulnerability-scanning host-scan-target create \
--compartment-id <compartment-ocid> \
--display-name prod-host-target \
--host-scan-recipe-id <host-scan-recipe-ocid> \
--target-compartment-id <monitored-compartment-ocid>
# 3. ホストスキャン結果を一覧(脆弱性のあるインスタンスを確認)
oci vulnerability-scanning host-scan-result list \
--compartment-id <compartment-ocid>
# 4. コンテナイメージ用スキャンレシピを作成
oci vulnerability-scanning container-scan-recipe create \
--compartment-id <compartment-ocid> \
--display-name image-recipe \
--scan-settings '{ "scanLevel": "STANDARD" }'
OCI Service
OCI Vulnerability Scanning Serviceを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
セキュリティ・ID
比較で見る軸
クラウド: OCI / カテゴリ: セキュリティ・ID / 難易度: basic
導入後に効く点
スキャンレシピで対象とスケジュールを定義し、ホストはエージェント経由で診断する。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- OCI
- カテゴリ
- セキュリティ・ID
- 難易度
- basic
- 関連資格
- —
- 設計柱
- security / operational
判断チェックリスト
- 自社の用途が「セキュリティ・ID / security」に近いか確認する。
- 強みである「ホストとコンテナイメージを定期スキャンし、CVE・開放ポート・CIS非準拠を検出する。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。