見出し画像

SIEMを使ってBoxとmxHeroを安全に使う方法

ひさしぶりの記事です。今回はセキュリティのお話。
これを実装して記事を書いたのは前職時代ですので少し前。

課題

BoxとmxHeroを組み合わせて使う際、原則、Boxを リンクを知っている全員(※) という権限を有効化する必要があります。しかし、この権限を有効にすると従業員があまり意識することなく、この権限を付与できる状態になってしまい、リスクが高まります。

※この権限はURLさえ知っていれば、インターネットで誰でも見れる権限になります。

ゴール

今回はMicrosoft Sentinel とSlackを使ってセキュアにBoxとmxHeroを使う、という状態を目指します。

方法

今回はMicrosoft Sentinel とSlackを使ってセキュアな状態を目指します。しかし、Microsot Sentinelはなくてもできます。代替となるSIEMでもよいですし、SIEMがなければAWS Lambda でもできます。

具体的にはMicrosoft Sentinel にBoxのログを取り込み、定期的に "リンクを知っている全員" 権限を検出するクエリを投げて、合致するログがあったらSlackに通知する、というものです。

設定方法

今回はMicrosoft SentinelにBoxのログを取り込む設定は終わっているものとします。

Microsoft Sentinelのクエリを作る

例としてこんな感じのクエリになります。
このクエリはmxHero以外がBoxの権限をリンクを知っている全員に設定した、もしくは権限変更したログを抽出しています。

BoxEvents_CL
| where created_at_t > ago(1d)
| where event_type_s == "SHARE" or event_type_s == "ITEM_SHARED_UPDATE"
| where ip_address_s != "54.208.111.28"
    and ip_address_s != "54.236.184.32"
    and ip_address_s != "54.165.252.128"
    and ip_address_s != "54.165.253.193"
    and ip_address_s != "3.211.77.148"
    and ip_address_s != "52.22.51.97"
    and ip_address_s != "54.209.222.83"
    and ip_address_s != "107.23.152.206"
| where additional_details_sharedLinkSettings_newVisibilityStatus_s == "Open"
| project created_at_jst=created_at_t, event_type_s, additional_details_sharedLinkSettings_newVisibilityStatus_s, ip_address_s, source_item_name_s, created_by_login_s
| sort by created_at_jst

以降、クエリの解説です。

event_type_s == "SHARE"

Boxで共有設定がされたログを抽出しています。

event_type_s == "ITEM_SHARED_UPDATE"

Boxで共有設定が変更されたログを抽出しています。


where ip_address_s != 

この箇所はmxHeroのグローバルIPアドレスを明記して、Boxの権限設定変更元がmxHeroの場合は通知の除外対象としています。

※mxHero社のサポートに連絡し、サービスのグローバルIPアドレス一覧をもらいました。

where additional_details_sharedLinkSettings_newVisibilityStatus_s == "Open"

ここでは リンクを知っている全員 権限を抽出しています。

アラートルールを作成する

通知先はSlackにしています。いつのまにかwebhookが使えるようになっていたので、それを使って実現しています。

アラートロジックは普通に設定してもらえればよいです。
期間は5分間のログに対してクエリを実行することを示し、頻度は5分に1回クエリを実行することを表しています。

アラートロジック例

アクションにはSlackのIncoming Webhookを設定します。

アクション例

カスタムJSON ペイロードを変更することでSlackに通知される内容が変わります。

カスタムJSON

上記のカスタムJSONペイロードだと下記のように通知されます。

実際のSlack通知例


テストをする

パターン作ってテストしてみましょう。

ということでSIEMを使ったBoxの権限の検知のしくみでした。

この記事が気に入ったらサポートをしてみませんか?