[Azure] ホストセキュリティ

ホストレベルのセキュリティとしては、仮想マシンに対してセキュリティ構成を行うことで保護することが可能になる。

Microsoft Defender for Cloud

セキュリティポリシー、セキュリティ強化、リソースの保護のための推奨事項が提供される。

無償版と有償版があり、有償版の場合、提供される機能がプライベートクラウド、またはAzure以外のクラウドサービスまで拡張される。

主な機能

Microsoft Defender for Endpoint

各エンドポイントの情報を収集して状態を監視する。

EDR (Endpoint Detection and Response)

エンドユーザーが利用するPCやサーバーなどセキュリティで保護すべき対象を、一元的に保護する仕組みを提供する。各マシンを監視し、不正な挙動を検知して抑制・アラート発砲などの対応を行うことができる。

脆弱性診断

仮想マシン、コンテナー、SQL Server、その他リソースなどの脆弱性の検出・管理・解決が可能になる。

セキュリティベンチマーク

Azureセキュリティベンチマークでのセキュリティ制御と、ベストプラクティスを提供する。また、ニーズに合わせた標準や規則標準を適用することができる。

特権アクセスワークステーション (PAW)

PAW(Privileged Access Workstation)は、攻撃の対象、もしくは踏み台となりやすい端末のセキュリティレベルを複数に分けて管理し役割に応じた端末を用意することでセキュリティを高める。

デバイスのセキュリティレベル

役割に応じて3つのセキュリティレベルを設けて、利用シーンに応じて使う端末を厳密に区別する。セキュリティレベルが上がると、ユーザー側で操作できる作業が減るため、結果として高いセキュリティを保持している。

以下の図のように、下からエンタープライズデバイス、特殊デバイス、特権デバイスの3つに分類され、上に行くほどセキュリティレベルが高くできる作業範囲が狭くなる。

エンタープライズデバイス

システムを利用するための最低限のセキュリティを確保した上で、安全な環境を構成した企業向けのセキュリティレベル。任意のアプリケーションの実行やWeb閲覧、Eメールなど様々な操作が可能で、エンドユーザーや一般開発者向けの構成となっている。

特殊デバイス

エンタープライズデバイスと同じように一般的な操作は可能だが、アプリケーションのインストールなどの管理者特権が制限された状態となっている。管理者特権を排除し、セキュリティレベルを高めた構成となっている。

特権デバイス

セキュリティ侵害を受けた場合に重大なリスクになりえる役割のアカウントが使用するためのセキュリティレベル構成となっている。一般的な作業は制限され、一部のセキュリティタスクや管理タスク等を実行するために必要なアプリケーションに制限される。また、通信に関しても事前に設定された宛先のみに制限されている。

ジャンプボックス(踏み台)

ジャンプボックス(踏み台)は、クラウド上の仮想マシンにアクセスする際に、各個別のPCからアクセスするのではなく接続用のマシンを用意してそこを起点に接続する手法をいう。

各個別のクライアントPCから接続できるように運用すると、接続口を複数作ることになるため、接続口を限定することでセキュリティリスクを大きく軽減することができるうえ、管理上の手間も少なくなる。

仮想マシンへのアクセス

仮想マシンへのアクセスはWindowsとLinuxで方法が異なる。

仮想マシンへのアクセス方法
Windows
  • RDP接続 (Remote Desktop Protocol)
    • ポート番号 3389
  • Azure PowerShell
    • Get-AzRemoteDesktopFileコマンドレット
Linux
  • SSH接続
    • ポート番号 22

仮想マシンを踏み台サーバーとして扱い、数台の踏み台サーバーで運用することでもセキュリティリスクは軽減できるが、踏み台サーバー自体がポートを開放することになるのでセキュリティリスクが残ってしまう。

Azure Bastion

Azure BastionはAzure Portal経由で仮想マシンに接続できるようにするサービスで、安全かつ手軽に仮想マシンに接続できるようになる。Azure Portalへのアクセスに多要素認証を必須にしておけば、Azure Bastionを利用する際にも必要なため、結果的に高いセキュリティが実現できる。

    Azure Bastionの注意点
  • Azure Bastionは一つの仮想ネットワークに一つのみ作成可能である。
  • Azure Bastionは専用のサブネットが必要で、サブネットの名前は AzureBastionSubnet にする必要がある。

仮想マシンの更新管理

Azure Update Management

Azure上のWindows、Linux仮想マシン、またオンプレミス、他クラウド環境の更新プログラムを管理することができる。更新プログラムの有無や仮想マシンの状況などの確認は、Azure PortalのAutomation Accountから確認することができる。

Azure Update Managementの関連図

Automation Account

Azure上の様々な管理作業をRunbookを利用して自動化を提供する。ここでは、Automation Hybrid Runbook Workerを利用して更新対象仮想マシンのセキュリティ更新などを管理している。

MMA (Microsoft Monitoring Agent)

仮想マシンの状態をAzure上(Automation Account)に連携する。Log Analyticsエージェントとも呼ばれる。更新対象のマシンの状態をAzure上に連携することで、Automation Account上で一元管理できる。

更新プログラム配布ポイント

更新プログラムやセキュリティパッチのダウンロード元を示す。WindowsとLinuxで取得方法が異なる。

更新プログラムの取得方法
Windows 以下の2通りの方法で取得可能
  • Windows Updateを利用する。
  • Windows Server Update Serviceを利用する。
Linux
  • Windows PowerShell for Linuxを利用して、更新プログラムを取得、適用する。

Azure Disk Encryption

仮想マシンの仮想ディスクに対して暗号化を行い保護する。Windowsの場合はBitLocker機能を使用し、Linuxの場合はDM-Crypt機能を使用して暗号化を行う。

暗号化に必要なキーとシークレットは、Azure KeyVaultで管理される。

Microsoft Defender for Cloudを使用している場合、暗号化されていない仮想マシンが存在する場合、脆弱性としてセキュリティの警告として出る。

制限事項

Azure Disk Encryptionを使用するにはいくつかの制限事項があるので注意

サポート対象外の仮想マシン

多くのVMサイズで利用できるが、以下に該当する仮想マシンではサポートしていない。

  • ベーシックレベルのVM
  • AシリーズのVM
  • メモリサイズが2GB以下のVM

Azure Disk Encryptionの有効化

Azure Disk Encryptionを有効化する方法は、Azure Portalから有効化する以外に、Azure-CLI、Azure PowerShellを利用する方法がある。

Azure-CLI

az vm encryption enable --disk-encryption-keyvault {パラメータ}

Azure PowerShell

Set-AzVmEncryptionExtension {パラメータ}
    注意
  • Azure Disk Encryptionを有効化する際、Azure Key Vaultストアと仮想マシンが同じリージョンにないとエラーになる。

コメント

このブログの人気の投稿

docker-compose up で proxyconnect tcp: dial tcp: lookup proxy.example.com: no such host

docker-compose で起動したweb、MySQLに接続できない事象

【PHP】PHP_CodeSnifferを使う(コーディングルールのカスタマイズ)