NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

Azureアカウント作成後に実施したアカウント保護設定

本記事は  【Advent Calendar 2023】  9日目の記事です。
🎄  8日目  ▶▶ 本記事 ▶▶  10日目  🎅

はじめに

はじめまして。入社4年目の林と申します。
オンプレ・クラウド関わらずインフラをメインにお仕事をしております。
先日、Azureアカウントを新規で作成する機会がありましたので、その際に実施したアカウントを保護するための設定をまとめたいと思います。

アカウント保護のための設定について

そもそもアカウント保護って何なんだろう、というお話からさせていただきます。
アカウント作成できた後は自由に使いたいサービスを使ったらいいんじゃないかと思うかもしれません。
クラウドは非常に便利で画面をポチポチするだけでいろんなサービスが使用できますが、その反面、適切な保護をしておかないと不正利用の的にもなり得ます。

Azure含め、クラウドサービスは従量課金制が多く、適切に保護しておかないと気付かないうちに勝手に使われていて高額請求される、、、なんて例も珍しくありません。
そんなクラウドサービスをより安全に使用するために、不正利用を防ぐ設定をしておく必要があります。
これから説明する内容はあくまでも設定例の一つなので、「これだけ実施しておけば大丈夫!」というわけではありませんのでご理解ください。
私が設定を進めていく中で失敗した部分も含めて共有します。

また、公式のベンチマークもありますので、こちらもご参考ください。 learn.microsoft.com

AWSアカウント作成時の設定については過去に弊ブログで執筆されています。 tech.nri-net.com

1. ユーザ設定

サインアップユーザのMFA(多要素認証)設定

サインアップユーザ=Azureアカウント作成時のMSアカウントのユーザです。
ユーザのIDが「MicrosoftID」になっているかと思います。 本ユーザは請求関連の権限含めた強い権限をデフォルトで保持しています。MFAの設定をした後、基本的なサービス利用は個別ユーザで行うのが良いです。 ひとまずは不正利用されないようにMFAの設定を実施します。

Azureアカウントにログイン後、Microsoftアカウント > セキュリティ設定よりMFA設定が可能です。

注意点
サインアップユーザは削除することも可能です。ただし、サインアップユーザでしかできない作業などもあります。
例えば、試用版を利用中であれば任意のタイミングで従量課金制にアップグレード(オファーの変更)ができます。このアップグレードはサインアップユーザでしか実施できません。

私は一度サインアップユーザを削除してしまい、従量課金にアップグレードできない状態でした。
削除したユーザはデフォルトで30日間残っているので、別でEntraIDの管理権限を持つユーザがいれば復活させることも可能です。


各ユーザのMFAの設定

今度は各ユーザの設定です。 Microsft EntraID > 概要 > プロパティから、セキュリティの規定値群を設定可能です。
こちらを有効化しておくことで、ユーザ初回ログイン時のMFA設定を強制できます。

learn.microsoft.com


2. ログ関連

(参考)ストレージアカウントの保護

ログを保存するためにはストレージアカウントやLogAnalyticsといった、保存場所の設定を先にしておく必要があります。 保存場所も保護する必要があり、ストレージアカウントでいうと、パブリックなアクセスは閉塞するようにしました。
ネットワークを「選択した仮想ネットワークとIPアドレスから有効」にし、任意のネットワークからに制限。
その後例外で「信頼されたサービスの一覧にあるAzureサービスがこのストレージアカウントにアクセスすることを許可します」で、Auzre上のサービスからはアクセスできるようになります。


アクティビティログ

誰が何を作成(削除)した、といった記録が残っているのがアクティビティログです。サブスクリプション単位で取得可能です。 ひとまず残しておくという場合はストレージアカウントに、該当ログをよく調べる場合や何かのトリガとしたい場合などはLogAnalyticsに保存がいいと思います。
サブスクリプション > アクティビティログのエクスポートより診断設定を追加できます。診断設定の宛先にはあらかじめ作って置いた保存場所を指定します。

★私はここで、何度エクスポートの設定を作り直しても、ログがエクスポートされませんでした。 原因不明だったので、サブスクリプションごと作り直したらエクスポートされるようになりました。アカウント作りたてのころでよかったと切実に思います。
リソースについてもサブスクリプションの移動が可能ですので、どうにもいかない場合は、作り直しも一つの手段です。


サインインログ

EntraIDのサインインログを保存します。これも考え方はアクティビティログと同じでよいかと思います。
★サインインログの保存にはMicrosoft Entra ID P1以上のライセンスが必要です。

私は管理者アカウントのログインを検知したかったので、LogAnalyticsに保存をしました。
EntraID > サインインログ > データ設定のエクスポートで設定可能です。


3. アラート

予算設定

意図しない利用料の増加に気づくため、予算設定、通知設定は大切です。 サブスクリプション単位で設定可能です。 サブスクリプション > 予算 より、期間や警告の条件(予算の何%に達したらメールする等)が設定できます。


ログインアラート

管理者ユーザ等、強い権限を持つユーザがログインしたことを検知するためのアラートを作成しました。
LogAnalyticsにログが保存できれば、モニターから簡単にアラートを作成することができます。

ルールのスコープにサインインログを保管しているLogAnalyticsを指定し、シグナルをカスタムログ検索にします。 あとは検索クエリを入力し、細かい設定(閾値やアクション等)を設定してあげれば完了です。

最後に

以上が、私がアカウント作成時に実施した主な作業です。
冒頭にも述べたように、これだけやっていれば大丈夫、というわけではなく、あくまで一例程度として御覧いただければと思います。
実際にクラウドで被害にあった話を数名お聞きしたこともあります。
業務利用以外にも、個人や趣味などで使われてるアカウントなども標的になり得ますのでお気を付けください。
自分はその話を聞いて、急いで個人アカウントのセキュリティ設定を実施しました。
アカウントを適切に保護して、素敵なクラウド生活をお過ごしください。

 

 

執筆者:林朋弥
インフラエンジニア。たまにスマホアプリとか。