0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI Security Zones で実現する予防的統制

0
Posted at

001samune.png

はじめに

本記事では OCI Security Zones についてまとめていきます。


概要

簡潔に言うと、予防的統制を実現できるサービス です。
具体的に言うと、セキュリティポリシーを指定のコンパートメントに適用し、セキュリティリスクのあるリソースの作成及び操作を制限することができます。

OCI Security Zones を構成するコンポーネントを見ていきましょう。

セキュリティ・ゾーン

対象とするコンパートメントとセキュリティ・ゾーン・レシピとの関連付けを表すものです。
指定したコンパートメントとその子コンパートメント全てがセキュリティ・ゾーンとして扱われます。

加えて、後述するセキュリティ・ゾーン・レシピは、アタッチしたコンパートメントとその子コンパートメント全てに継承されます。
そのため、異なるセキュリティ・ゾーン・レシピを適用したいコンパートメントがある場合は、そのコンパートメントを対象とするセキュリティ・ゾーンを別途作成する必要があります。
もしくは以下ドキュメントの通りセキュリティ・ゾーンから指定のコンパートメントを削除することでも対応は可能です。

セキュリティ・ゾーン・レシピ

セキュリティ・ゾーンとして扱われるコンパートメントにアタッチするセキュリティ・ゾーン・ポリシーの集合体です。
セキュリティ・ゾーンとして扱われるコンパートメント内のリソース作成及び操作は、セキュリティ・ゾーン・ポリシーにより制限されます。

レシピには オラクルが定義する Maximum Security Recipeユーザーが定義する Custom Security Recipe があります。

Maximum Security Recipe に含まれるセキュリティ・ゾーン・ポリシーは以下ドキュメントを参照してみてください。

Maximum Security Recipe 内のセキュリティ・ゾーン・ポリシーの無効化はできません。
そのため、一部のセキュリティ・ゾーン・ポリシーを無効化したい場合は、Maximum Security Recipe をクローンして作成する Custom Security Recipe を利用しましょう。

セキュリティ・ゾーン・ターゲット

セキュリティ・ゾーンを作成した際に自動で作成される、指定したコンパートメントを対象とした OCI Cloud Guard ターゲットのことです。


使用方法(デモ)

検証構成

検証構成図は以下の通りです。

architecture.drawio.png

検証では、以下2パターンの動作を確認していきます。

  1. 親コンパートメントを対象とするセキュリティ・ゾーンを作成し Maximum Security Recipe をアタッチ。子コンパートメントでセキュリティ違反となるリソース作成を実施
  2. 追加で子コンパートメントを対象とするセキュリティ・ゾーンを作成し、パターン1で違反となったポリシーを無効化した Custom Security Recipe をアタッチ。子コンパートメントで同様のリソース作成を実施
  • 環境コードは以下 GitHub にあげてますので、よかったら覗いてみてください

OCI Cloud Guard 有効化

OCI Security Zones は OCI Cloud Guard と統合されているため、セキュリティ・ゾーンを作成するには OCI Cloud Guard が有効化されている必要があります。

今回有効化については割愛しますが、以下ドキュメントを参考にしてみてください。

OCI Cloud Guard 用IAMポリシー作成と、OCI Cloud Guard が有効化されればOKです。
OCI Cloud Guard ターゲットは作成しても問題有りませんが、セキュリティ・ゾーンとして指定するコンパートメントとターゲットとして指定したコンパートメントが一致する場合、そのターゲットは削除されます。

パターン1

子コンパートメントにもセキュリティ・ゾーン・レシピが継承されることを確認していきます。

セキュリティ・ゾーン作成

OCI コンソール左上のハンバーガーマークをクリックし、Identity & SecurityZones をクリックします。
図1.png

Create Security Zone をクリックします。
図2.png

  • OCI Cloud Guard が有効化されていないと上記画面は表示されません

対象とするコンパートメントはルートコンパートメントとし、セキュリティ・ゾーン・レシピは Oracle-managed (Maximum Security Recipe) として Create Security Zone をクリックします。
図3.png

  • 上記画像の注意書きにもある通り、既存の OCI Cloud Guard ターゲットは置き換えられると示されています

これで作成は完了です。
図4.png

ちなみに OCI Cloud Guard のターゲット一覧を確認すると、セキュリティ・ゾーン作成時に指定したコンパートメントを対象とするターゲットが自動で作成されています。
図5.png

こちらの画面からのセキュリティ・ゾーン・レシピ変更はできませんが、ディテクタ・レシピ等は変更可能です。
図6.png

動作確認

セキュリティ・ゾーン・ポリシーの一部である deny buckets_without_vault_key に違反する操作を、子コンパートメントで実施していきます。

オブジェクトストレージサービス画面にて、子コンパートメントが選択されている状態で Create bucket をクリックします。
図7.png

全てデフォルトのままで Create bucket をクリックします。
ポイントは Encryption がオラクルマネージドになっていることです。
図8.png

すると顧客管理キーで暗号化してねとエラーになりました。
しっかり子コンパートメントにもセキュリティ・ゾーン・レシピが継承されているのがわかります。
image.png

パターン2

別途アタッチされたセキュリティ・ゾーン・レシピが優先されることを確認していきます。

カスタムセキュリティ・ゾーン・レシピ作成

こちら でも触れた通り Maximum Security Recipe 内のセキュリティ・ゾーン・ポリシーを無効化することができないため、カスタムセキュリティ・ゾーン・レシピを作成していきます。

OCI Security Zones サービスページ内の Recipes を選択し Create Recipe をクリックします。
図9.png

レシピ名及び説明文を入力し Next をクリックします。
所属させるコンパートメントは今回ルートコンパートメントにしていますが、子コンパートメントでもOKです。
図10.png

デフォルトでは全てのポリシーが有効化になっているので、パターン1で引っ掛かった deny buckets_without_vault_key のチェックを外して Next をクリックします。
図11.png

  • ポリシーの有効化・無効化は後からでも可能です

確認画面が表示されるので Create をクリックして完了です。
図12.png

セキュリティ・ゾーン作成

子コンパートメントを対象とするセキュリティ・ゾーンを作成していきます。
対象コンパートメントが選択された状態で Create Security Zone をクリックします。
図13.png

先程作成したセキュリティ・ゾーン・レシピを選択し、対象コンパートメントを選択し、Create Security Zone をクリックします。
図14.png

これで作成は完了です。
image.png

こちらも OCI Cloud Guard のターゲット一覧を確認すると、セキュリティ・ゾーン作成時に指定したコンパートメントを対象とするターゲットが自動で作成されています。
image.png

動作確認

パターン1と同様の操作を実施してみます。

オブジェクトストレージサービス画面にて、子コンパートメントが選択されている状態で Create bucket をクリックします。
図7.png

全てデフォルトのままで Create bucket をクリックします。
image.png

今度は問題なく作成ができました。
別途アタッチしたセキュリティ・ゾーン・レシピが優先されていることが確認できます。
image.png


おわりに

本記事では、セキュアなコンパートメントを構成するのに役立つサービスである OCI Security Zones についてまとめました。
無償で利用可能なサービス ですし、セキュリティベストプラクティスを用意に実現できるため、運用コストとの兼ね合いですが積極的に有効化していきましょう。


🌟この記事が誰かの役に立てば幸いです!
また、ご質問やフィードバックもお待ちしています。


参考資料

リファレンス

ブログ

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?