はじめに

こんにちは。宮井です。

今回は、Oracle Cloud Guard(クラウド・ガード) を検証してみたいと思います。

オンプレ・クラウド問わずシステムを安全に運用するためには、セキュリティ対策は欠かせないものになっているかと思います。
とりわけ、クラウドを安全に使うためには、適切に設定されている必要があります。
公開範囲を誤って設定することで思わぬ事故を起こしてしまうなど、クラウドにおける設定ミスは重大なセキュリティリスクにつながります。

クラウド・ガードはまさにOracle Cloudを安全に使うためのセキュリティ関連のサービスとなります。
また、このサービスは無料で利用できるサービスのため、Oracle Cloud (OCI) 導入の際に活用して頂けるとよいかと思います。
ただし、下記の手順では通知サービスを利用している為、そちらは費用が掛かります。ご利用の際はご注意ください。

マネージャー_宮井の新たな技術記事です。
今回は概要をお伝えしていますので、ご興味を持っていただけたらと思います。


今回は
オブジェクトストレージの公開範囲をパブリックに設定して、それを検知してメール通知させるまでをゴールとしたいと思います。

社内で共有するはずだった資料をうっかり全世界に公開してしまいました!というようなケースですね。ヒヤリハットでは済みません。
しかし、以下の設定をあらかじめしておけばうっかりを検知して、対処する初動を加速させることができます。ご注目ください。

検証に進む前に、4つの基本的な用語を先に説明したいと思います。
触ってみて覚えるタイプという人はあとから読んでいただいてもよいかと思います。

ターゲット 監視対象にするコンパートメントを定義します。
すべてを対象とすることも可能ですし、コンパートメント毎にルールを変えることが可能となっています。
ディテクタ 監視対象に問題や不備が無いかをチェックします。
具体的にどのような項目をチェックするかは、”ディテクタ・レシピ”というもので定義されています。
Oracle管理のレシピが用意されていますが、個々のルールを無効化したり、リスク・レベルの変更等のカスタマイズが可能です。
問題 ディテクタによって検出されたセキュリティ上リスクとなりうるアクションまたは設定です。
誤った設定を行ってしまった場合などに問題として表示されるようになります。
レスポンダ 問題を検出したときに、対処としてクラウド・ガードが実行できるアクションです。
対象となる問題から修正を実行することで、問題を解消することが出来る場合があります。

ディテクタ同様に、レスポンダにも“レスポンダ・レシピ”というものがあり、どのような対処を行うか定義されています。
説明はこんなところで、実際に触っていきたいと思います。

クラウド・ガードによる問題の検知

 クラウド・ガードの有効化

クラウド・ガードは、「アイデンティティとセキュリティ」から選択します。

この際にクラウドガードを有効化していない場合は、有効化をします。
しばらく前に実行してしまっていたので割愛しますが、必要なポリシーの設定とリージョンやクラウド・ガードの対象となるコンパートメント等を画面に従って設定します。
簡単に有効化できます。

有効化出来たら下記のような画面が表示されるかと思います。

次に「問題」をクリックすると、先ほど説明した”問題”の一覧を表示することが出来ます。

ターゲットの作成

現在はルート・コンパートメントを指定してクラウド・ガードを設定していますが、今回はターゲットを設定して特定のコンパートメントに対して検知を行うようにします。

「ターゲット」を開いて「新規ターゲットの作成」をクリックします。

ターゲット名、コンパートメント名、各レシピにOracle提供のレシピを選択して作成します。

ターゲットが作成されました。

通知サービスの設定

検知された問題をメールで受信するために「通知」を設定します。

通知サービスの設定はこの場では割愛しますが、トピックを作成して通知するメールアドレスを登録します。
「管理と監視」 -「関連サービス」-「通知」からトピックを作成します。

こちらは有料サービスのためご注意ください!

イベント設定

先ほど作成した「通知」を、設定を利用して、クラウド・ガードで検知した問題をメールに飛ぶようにします。
「イベント」から「ルール」の作成をします。

ここでクラウド・ガードと通知設定をマッピングして「ルールの作成」をします。

  • ルール条件
    条件:イベント・タイプ
    サービス名:Cloud Guard
    イベント・タイプ:Detected Problem
  • アクション
    アクション・タイプ:通知
    通知コンパートメント:コンパートメントを指定
    トピック:通知で作成したトピックを指定

問題の検知

パブリックバケットを作成して、問題を起こします。
こちらも割愛しますが、オブジェクト・ストレージから「パブリック」のオブジェクト作成します。

 

時間をおくと、クラウド・ガードの「問題」から見て、「Bucket is public」という問題が表示されています。

では、メールはどうでしょう。
先ほど発生させた問題に関するメールが飛んでました。

メールの内容がjson形式のデフォルトのままという感じですが、やりたいことはできているようです。

さいごに

今回はクラウド・ガードで問題を検出して、通知させるところまで検証してみました。

以前のセキュリティ対策は侵入を防ぐ対策が主だったかと思いますが、昨今はランサムウェア対策のような被害軽減などセキュリティ対策も色々手法が増えているかと思います。
対策方法も進化していますので、なるべく人力ではなく、こういったサービスを利用して機械的にチェックができると安心かと思います。

本日はここまでとなります。次回は問題の対処について書いてみたいと思います。

当社はOracleデータベースOracle Cloudサービスを多数展開しております。
何かお困りのことがありましたら、お気軽にお問い合わせください!
お問い合わせはこちら📩