- 3,709,136 Users
- 2,241,221 Discussions
- 7,840,887 Comments
Forum Stats
Discussions
Oracle CASBを使ってクラウドのセキュリティ・リスクを検知する - Oracle Cloud Infrastructureアドバンスド

目次に戻る : チュートリアル : Oracle Cloud Infrastructure を使ってみよう
Oracle Cloud Infrastructure では、契約したプリペイド・クレジットを使って色々と便利なPaaSサービスを追加契約なしに利用することができます。
今回のチュートリアルでは、そんな便利PaaSの中から Oracle CASB を取り上げます。Oracle CASBを使うと、クラウド環境のセキュリティ脆弱性を検知してアラートを上げるように設定し、OCI環境のセキュリティを強化することができるようになります。
所要時間 : 作業約30分 (+ 待ち時間30分~2時間程度)
前提条件 :
- 初級編 - Oracle Cloud Infrastructure を使ってみよう の内容をひととおり理解していること
- 有効な Oracle Cloud Infrastructure の環境と、管理権限(OCI, CASB)を持つユーザーアカウントがあること
※ 本ハンズオンは、無償トライアル環境でも実施可能です
注意 : チュートリアル内の画面ショットについては Oracle Cloud Infrastructure の現在のコンソール画面と異なっている場合があります
はじめに - そもそも CASBとは・・・?
まず読み方は「キャスビー」です。Cloud Access Security Broker の略で、様々なクラウドサービスへのアクセスを可視化し、そこから潜在的なリスクを検出したり、それに対するアクションを実行したりすることができる、クラウドベースのソフトウェアです。
CASBは様々なベンダーがサービスを提供していますが、どれもマルチクラウドに対応していて、様々なクラウド・サービスを監視し一括でセキュリティ管理を行うことができる、というのが特徴になっています。もちろん Oracle CASB は Oracle Cloud Infrastructure の監視に対応していますので、セキュリティリスクの可視化や、対処の自動化といったOCI単独では難しいセキュリティ管理を、簡単に実行することができるようになります。
CASBとOCIの動作イメージは以下のような感じです。
Oracle CASB が、Oracle Cloud Infrastructureと連携して、利用状況の可視化、コンプライアンス対応、セキュリティ脅威からの防御、データセキュリティ、といった役割をブローカーとして果たしてくれる形になります。またOCIの他にも様々なクラウドサービスに対しても、同じような機能を一括で提供してくれます。
CASBを利用すると、例えば以下のようなケースにおいてセキュリティ管理者がOCI設定上のリスクを把握し、対処をすることができるようになります。
- Windowsのリモード・デスクトップ(RDP)のポートがIPフィルタリングなしで空けられた場合に警告する
- インターネット向けに公開されているオブジェクト・ストレージのバケットを検出する
- パブリック・サブネットにデータベース・サーバーが配置された場合に警告する
- ユーザーに管理権限が付与された場合にアラートを上げる
- ネットワーク管理権限と、インスタンス管理権限が同じ人に付与されたら警告する
- 新しいポリシー(OCIの操作権限の設定)が作成された場合にアラートを上げる
CASBそのものは比較的新しい領域のソフトウェアのため、製品によって提供する機能も多少差異があるようですので、興味がある方は色々と検索して調べてみてください。
1-1. OCI側での準備
CASBがOCIにアクセスするために、CASB用のユーザー、グループ、およびアクセス権(ポリシー)を作成します。
また、CASBはAPI経由でOCIにアクセスして情報を収集しますので、そのユーザーにAPIアクセス用の鍵を登録します。
- テナンシーの管理者権限を持つユーザーで、OCIコンソールにログインします
- まず最初に、CASB用のグループを作成します。
メニューから Identity → Groups にアクセスし、Create Group ボタンを押します。 - 立ち上がってきた Create Group ダイアログ・ウィンドウに以下を入力し、Create ボタンを押します。
- Name - 任意の名前 (例 : CASB)
- Description - 任意の説明文 (例 : Oracle CASB Account Group)
- 次に、ポリシーを作成して作成したグループに必要な権限を付与します。
メニューから Identity → Policies にアクセスします。 - 左下のリストボックスから、ルート・コンパートメントを選択します。ルート・コンパートメントは テナント名(root) のような名前をしています。
- Create Policy ボタンを押します
- 立ち上がってきた Create Policy ダイアログ・ウィンドウに以下を入力し、Create ボタンを押します
- Name - 任意 (例 : CASB-Policy)
- Description - 任意の説明文 (例 : CASB Service Access Policy)
- Policy Versioning - KEEP POLICY CURRENT を選択
- Policy Statements - 以下を記述
Allow group <CASB用のグループ名> to read all-resources IN TENANCY
※ <CASB用のグループ名> は、ステップ3で作成したグループ名で置き換えてください
- 最後に、CASB用のユーザーを作成し、グループに所属させます。
メニューから Identity → Users にアクセスし、Create User ボタンを押します。 - 立ち上がってきた Create User ウィンドウに以下の項目を入力し、下部の Create ボタンを押します。
- Name - 任意の名前 (例 : CASB.system)
- Description - 任意の説明文 (例 : Oracle CASB Service User)
- 今作成したユーザーの名前のリンクをクリックします
- 左下のメニューから Groups を選択し、Add User to Group ボタンを押します。
- ドロップダウンリストから、ステップ3で作成したグループ(CASBなど)を選択し、 Add ボタンを押します。
- 次に、左下のメニューから API Keys を選択し、Add Public Key ボタンを押します。
- 鍵ペアのうち公開鍵のファイル(%USERPROFILE%\.oci\oci_api_key_public.pem にあるはずです) をテキストエディタで開いて文字列をコピーし、立ち上がってきた Add Public Key ウィンドウの PUBLIC KEY フィールドにペーストし、Add ボタンを押します
公開鍵の登録が完了すると、API Keys 欄に公開鍵が追加され、フィンガープリントが表示されています。
フィンガープリントは後で使用するため、コピーして手元に控えておいてください。
1-2. アクセス情報(OCID)の収集
CASBがOCIにアクセスする際、ユーザー、テナンシーの OCID (Oracle Cloud ID) が必要になります。
OCIDは、OCIのリソースが持つユニークIDで、オブジェクト・ストレージを除くすべてのコンポーネントに対して割り当てられています。
OCIDは以下のような文字列で構成されます。
ocid1.<リソース・タイプ>.<レルム>.[リージョン].<ユニークID>
ピリオド(「.」)をセパレーターとして、それぞれの文字列は以下のような意味を表します。
- ocid1 - OCIDのバージョンを表す固有文字列
- リソース・タイプ - リソースの種類 (例 : tenancy, instance, volume, vcn, subnet, user, group など)
- レルム - エンティティを共有するリージョンのセット (現在のところすべてのOCIのリソースは oc1 というレルムに所属しています)
- リージョン - 所属するリージョン (例 : phx, iad, eu-frankfurt-1)、このフィールドはリソースが単一のリージョンやアベイラビリティ・ドメインに属する場合にのみ表示され、その他の場合は空白になります
- ユニークID - リソースを表すユニークなID、フォーマットや長さはリソースの種類により異なります
OCIDの詳細については Resource Identifiers - Oracle Cloud IDs (OCIDs) をご参照ください。 OCIDはコンソール画面から確認できます。以下画面からユーザー、テナント、コンパートメントのOCIDを確認していきます。
- Oracle Cloud Infrastructure にログインし、コンソールメニューから Identity → Users を選択します
- Users 欄にユーザーの一覧が表示されるので、APIアクセスに使用するユーザーの OCID: に表示されている Copy リンクをクリックします
- 手元のテキストエディタなどに、コピーしたOCIDをペーストします
忘れずにユーザーのOCIDであることを示すメモも残しておいてください - 次に、コンソール上部の一番右にある人型のアイコンメニューを開き、Tenancy : XXX という名前のメニューをクリックします
- テナントの詳細情報が表示されるので、OCID: に表示されている Copy リンクをクリックします
- 手元のテキストエディタなどに、コピーしたOCIDをペーストします。こちらはテナントのOCIDですので、その旨も忘れずにメモを残しておいてください。
1-3. CASB側でOCIとの連携のセットアップ
OCI側で設定したアクセス情報を利用して、CASB側でOCIの監視設定を行います。
- OCIのコンソールメニューから Administration → My Services Dashboard を選択します。
- ダッシュボードの左上のメニューボタンをクリックし、Services → Oracle CASB を選択します。
- Oracle CASB Cloud Service のダッシュボードが表示されます。ダッシュボードには現在CASBが監視しているクラウドが受けている脅威の状況が表示されています。
左上のメニューをクリックし、Applications を選択します。 - Add/Modify App というアイコンをクリックします
- 監視対象のアプリケーションを追加するウィザードが立ち上がって来ます。
Select an app type で、Oracle Cloud Infrastructure というアイコンを選択し、右下の Next という青いボタンをクリックします - Type a unique name for your instance というフィールドに、わかりやすい名前 (例 : OCI-<テナンシー名> など) をつけ、Nextボタンを押します。
- Enter credentials で以下の情報を入力し、Test Credentials ボタンを押します
- Tenancy OCID - <CASBで監視するOCIのテナンシーのOCID>
- User OCID - <CASB用に作成したOCIユーザーのOCID>
- User public key fingerprint - <OCIユーザーに登録した公開鍵のフィンガープリント>
- User private key - <OCIユーザーに登録した公開鍵と対になる秘密鍵>
Test Credentials ボタンを押すと、実際にOCIに接続を行って入力した情報を検証します。検証に成功すると Credentials are valid. というダイアログが表示されます。
接続検証に成功したら、Submit ボタンを押します。
- OCIの監視の作成に成功すると、下記のようなメッセージが表示されます。メッセージをメッセージを確認して Done ボタンを押します。
メッセージのとおり、監視を作成してから最初に情報が収集されてCASBのダッシュボードに反映されるまでに、30分~2時間程度かかります。
2. CASBによる監視実行の確認
一度セットアップが完了すると、CASBは定期的にOCIにアクセスを行い、セキュリティ脅威が存在しないかどうかを継続的に確認します。
ここでは、CASBが監視を設定したOCIに対してどのように脅威を検出するかを確認します。
2-1. デフォルトの監視項目の確認
CASBは、Oracle Cloud Infrastructure に最適化された監視項目としきい値をデフォルトで設定しており(CASBではセキュリティ・コントロールと呼びます)、特に設定を変更しなくてもセキュリティ・コントロール違反を見つけると警告してくれるようになっています。ここでは、そのデフォルトの監視項目の内容を確認します。
- メニューから Applications を選択すると、新しく監視対象に追加されたアプリケーションとしてOCIのテナンシーが表示されています。
アイコンをクリックすると、Health Summary という吹き出しがポップアップし、現在の監視状況を見ることができます。
おそらく、まだ Collecting initial data というステータスであると思います。 - 吹き出し下部の Modify▼ というメニューリストを選択し、Update security control baseline を選択します。
- Security Control Baseline の変更画面が表示されます。
Access Controls という水色の帯がリンクになっていますので、それをクリックして開きます。 - Access Controls を開くと、予め設定されているOCIに対する監視項目(Security Control)と、その監視状況(Monitoring Status)が表示されています。
例えば、上から7番目に Security list allows traffic from any IP address という監視項目が設定され、Monitoring status のスライダーが右側(on)になっています。これは、すべてのソースIP(0.0.0.0/0)からのトラフィックをインバウンド・ルールとして許可しているセキュリティ・リストを持つVCNが存在する場合に警告を表示するような監視が有効になっていることを示します。
その下にある Security lists allows traffic to list of sensitive ports という監視項目は、tcp/20(FTP)、tcp/23(Telnet)、tcp/500(IKASMP) などの危険な外部ポートに対するアクセスが許可されているセキュリティ・リストが存在する場合に警告を表示するような監視です。
また、中段には Internet Gateway is attached to a VCN という、インターネット・ゲートウェイがアタッチされているすべてのVCNに対して警告を表示する監視項目も設定されています。
このドキュメントの執筆時点では、19の監視項目が予め設定されています。それぞれの項目の詳細については下記 Oracle CASB のマニュアルに説明がありますので、こちらを参照してください。
https://docs.oracle.com/en/cloud/paas/casb-cloud/palsr/settings-oracle-cloud-infrastructure-oci.html
特定の監視項目に対するアラートを無効化する場合は、右のスライダーをクリックして、グレーに変更します。
また、一部の項目については、Exception という欄に記述することで、そのオブジェクトに対する警告の発生を抑止することができます。
以下は、インターネット・ゲートウェイがアタッチされているVCNに対して警告を表示する項目に対して、特定のVCNを例外とする設定を行っている例です。この例では Do not alert for 欄に特定のVCNのOCIDを設定します。
内容を確認したら、Cancel ボタンをおして設定ウィンドウを閉じます。
2-2. OCI上にオブジェクトを作成
CASBが正しく検知してくれることを期待して、セキュリティ・コントロールに引っかかるようなオブジェクトを監視しているOCIに作成します。
ここでは、予め 2-1で確認しておいた以下の3つの監視項目に抵触するようなVCNを作成します。
- セキュリティ・リストですべてのIP(0.0.0.0/0)からのインバウンド通信が許可されている
- インターネット・ゲートウェイがアタッチされている
このチュートリアルの手順を実行する際には、既存のVCNを流用せず、必ず専用の新しいVCNを作成するようにしてください。また、VCNおよび関連するネットワークオブジェクトのみを作成するようにし、その中にはインスタンス等のオブジェクトは作成しないようにしてください。
- OCIのコンソールにアクセスし、メニューから Networking → Virtual Cloud Network にアクセスします
- Create Virtual Cloud Network ボタンを押し、任意の名前の新しいVCNをひとつ作成します。
作成する際には CREATE VIRTUAL CLOUD NETWORK PLUS RELATED RESOURCES オプションを選択し、テンプレートに従って関連リソースも合わせて作成してください。 - 作成したVCNの名前のリンクをクリックし、詳細画面を表示します。
- 左下の Resources メニューから Security List を選択し、表示されている Default Security List for XXX という名前のセキュリティ・リストのリンクをクリックします。
- セキュリティ・リストの詳細画面で、上部の Edit All Rules ボタンを押します。
- Allow Rules for Ingress フィールドの1つめのルールを、以下のように変更します。
- DESTINATION PORT RANGE - 22 を All に変更
- DESTINATION PORT RANGE - 22 を All に変更
- Save Security List Rules ボタンを押して、変更を保存します。
CASBがOCIに対する変更を検知し、ダッシュボードに表示するにはしばらく(30分~2時間程度)かかります。
2-3. CASBで検知された警告を確認
しばらく立つと、先程OCIで作成したオブジェクトをCASBが検知し、セキュリティ・コントロール違反として認識してダッシュボードに警告を表示します。その情報を確認します。
- Oracle CASB のサービス・コンソールにアクセスします
- メニューから Applications を選択し、先程設定したOCIのアイコンをクリックします
- Health Summary がポップアップしてきます。先ほどとは異なり、RISK ACTIVITIES のところに数字が表示されているはずです。
吹き出しの中にある View details ボタンをクリックします - CASBが監視しているOCIテナンシーに対するリスク一覧が表示されます。
おそらく上部の方に、赤の ! マークとともに、セキュリティ・コントロールの違反が表示されているはずです。
そのうち、Internet Gateway attached to VCN というリスクをクリックします。 - リスクの詳細が表示されます。
Diagnostics の欄に、この警告の原因となったVCNの名前が表示されています。
上記の例 CASB Test VCN というのは、このチュートリアルの中でOCIに作成したVCNですので、正しくCASBがセキュリティ・リスクを検知できていることを示しています。
この画面には、Description にそのリスクの内容が、また Oracle CASB Cloud Service recommendation に推奨対処策が表示されています。 - もうひとつ、Security list allows traffic from any IP address というリスクがあるはずですので、それをクリックします。
同じように、対象のオブジェクト、リスクの内容、推奨の対処策が表示されていますので、内容を確認します。
以上で、このチュートリアルの項目は終了です。
Oracle CASB を利用することで、セキュリティ管理者がOCIの環境に存在する潜在的なセキュリティ・リスクを定常的に監視し、そこに対する対処を行うことが簡単にできるようになります。
Oracle CASB にはその他色々な機能があります。より詳細な情報については以下のドキュメントなどを参考に設定してみてください。