昨今リモートワークの増加に伴って、Azure上の仮想マシン(Azure VM)の利用が増加しています。特に、自宅からの業務継続のために新たにAzure VMに仮想マシンをデプロイするケースや、これまで社内ネットワークからのみ接続可能としていた仮想マシンを、自宅や外出先で利用可能なように外部ネットワークからも接続が可能なように構成変更するケースが増えています。
このようにインターネットからアクセスできるように構成する場合、仮想マシンにパブリックIPアドレスを割り当て、RDP接続やSSH接続を許可する構成がよく見られます。手軽に構成することが可能な一方で、こうした構成は、管理が甘いと攻撃者の格好の餌食となってしまいます。攻撃者は、常にインターネットをスキャンしRDP接続やSSH接続が可能な仮想マシンを探し、侵入や悪用の機会をうかがっています。仮想マシンへのログインに利用するユーザー名が推察しやすく脆弱なパスワードが設定されているなど、管理の甘い環境を狙い、仮想マシンを乗っ取ってコインマイナーに悪用したり、企業組織の侵入の足掛かりにしたりします。
Azure VMで利用している仮想マシンはしっかりと管理して、不正利用や攻撃の糸口になるリスクを下げておくことが重要です。今回は、Azure仮想マシンに対するリモート接続に関して確認しておくべきチェックポイントをご紹介します。
最低限確認しておくべきチェック項目
どのような構成をとっているAzure VMの仮想マシンでも確認しておくべきことですが、インターネットから直接RDP接続やSSH接続が可能となっている仮想マシンを利用している場合は特に、インターネットからの攻撃や侵入に備えて次のようなポイントを確認しておくことが必要です。
アカウントの管理は適切に
仮想マシンへのサインイン、RDP接続やSSH接続に利用するアカウントのユーザー名やパスワードは、簡単に推察しにくい、適切なものを設定しましょう。「検証環境だから」「とりあえず設定しておく」といった運用はやめましょう。
本稿執筆時点(2020年6月)では、Azure Active Directory認証を使用してAzure内のWindows仮想マシンにサインインする機能がプレビュー公開されています。仮想マシンをAzure ADに参加させることで、その仮想マシンにAzure ADユーザーでサインインすることができ、Azure ADでユーザー管理が可能になり、仮想マシンごとの接続ユーザーの管理をする必要がなくなります。
また、Azure ADのさまざまなID保護機能を利用してより高度なコントロールが可能です。例えば、ロールベースのアクセス制御(RBAC)を利用すると、Azure VMの仮想マシンの操作権限の管理や制御を柔軟に行えます。また、条件付きアクセスを利用することで、仮想マシンへのサインインの際に、ユーザー名とパスワードに加えて多要素認証要求したり、Azure Identity Protectionで悪意のあるアクターがRDPを試みようとしたときに、ブロックなどの対策を講じたりすることもできるようになります。
Just in Time VMアクセスで接続可能な時間を制限する
インターネット上の攻撃者は、総当たり攻撃(ブルートフォース攻撃)を利用して仮想マシンへの接続に利用するユーザー名/パスワードを解析します。Azure VMの仮想マシンへ接続時間を減らすことで、攻撃に対する露出時間を減らすことができるため、リスクを下げることができます。
「Just-In-Time(JIT)VMアクセス」を使用すると、Azure VM接続時間を制限することができます。通常は管理用リモート接続ポートを閉じておき、Azureポータルからのユーザーが要求したときだけ、接続ポートを開放します。開いたポートは、ユーザーが切断するか、設定しておいた最大要求時間を経過すると自動的に閉じられます。
接続元のIPの制限
Azure VM接続を制限しリスクを下げるそのほかの方法として、特定のIPからのみ接続可能とするように、発信元IPアドレスにアクセス制限をかけることも可能です。仮想マシンへの接続が、パブリックな固定のIPアドレス(あるいはIPアドレス範囲)に限定できる場合は、アクセス制限をかけることで、あらゆるIPアドレスからの接続を防ぐことができ、リスクを下げることができます。
不要なポートは閉じる
管理接続のためのRDP接続、SSH接続以外に、不要なポートが開いていないか確認しましょう。UDPポートが開いたままとなり、踏み台として利用されるケースが散見されています。仮想VMで必要とするポートはできるだけ閉じるようにしましょう。既定では、NSGを作成した場合、構成によってUDPを含むすべてのポートが閉じられます。
さらに、AzureはプラットフォームレベルのDDOS保護機能を備えていますが、Microsoftサポートのページにある「Azureサービスの受信UDPを無効にする方法」を参考に、ポートをインターネットに公開する必要があるかどうかを評価し、絶対に必要ではない全てのUDPポートを閉じることをお勧めします。
また、インターネットから直接アクセス可能な仮想VMは、ハードニングをしてできる限り攻撃面を減らすことも推奨しています。Microsoftが公開している「Windowsセキュリティベースライン」や「Azure向けCISベンチマーク」などを参考に安全なベースライン構成を確立したり、Azure仮想マシンで使用するためのCISハードニング済みイメージを活用したりしてください。
仮想マシンの健全性も大事
Azure VMは、OSやミドルウェアの細かな設定や管理を行えることが利点でもありますが、アップデートの管理など仮想マシンは自身で適切に管理する必要があります。インターネットから仮想マシンへの直接接続を許可していない場合でも、仮想マシンのセキュリティの健全性を保ちましょう。
- 最新のセキュリティ更新プログラムをインストールする:インターネットへのアクセスが必要なアプリケーションまたはサービスをAzure VMでホストしている場合は、特に、修正プログラムの適用を忘れずに実行してください。VMを定期的に再デプロイして、OSの最新バージョンを使用する。「Azure Resource Managerテンプレート」を使用してVMを定義し、簡単に再デプロイできるようにします。
- マルウェア対策ソフトを利用し保護の状態を監視する:どの仮想マシンも必ず常時マルウェア対策ソリューションを利用しましょう。強力な保護のためには、Windows DefenderのAdvanced Threat Protectionを使用することも推奨しています。
- 仮想ハードディスクファイルを暗号化する:「Azure Disk Encryption」を使用して、WindowsとLinuxのIaaS仮想マシンのディスクを暗号化できます。
- バックアップを取得する:不測の事態に備え、「Azure Backup」で仮想マシンのバックアップを取得、管理できます。
その他にも、公式サイトではAzureを利用する際のベストプラクティスが公開されているので、ぜひ活用してください。
- AzureにおけるIaaSワークロードのセキュリティに関するベストプラクティス
- Azureセキュリティのベストプラクティスとパターン
- Azureでのリモート管理セキュリティの強化
- Azure仮想マシンのセキュリティの概要
- Azureで仮想マシンをセキュリティで保護し、ポリシーを使用する
Azure Security Centerを活用
セキュリティコントロールは、構成の導入時に設定しておくだけではなく、常に健全な状態を維持することが重要です。「Azure Security Center」を使用することで、仮想マシンのセキュリティに関する推奨事項に基づいて、Azure VMの仮想マシンを一括して管理することができます。具体的には、仮想マシンにある次のような項目を監視し、対応するべきリスクがある場合は通知されます。
- 仮想マシンのセキュリティに関する推奨事項の提示
- 不足している可能性のあるシステムのセキュリティ更新プログラムと重要な更新プログラムを特定してダウンロードする
- エンドポイント保護の推奨事項をデプロイする
- ディスク暗号化を検証する
- 脆弱性を評価して修復する
- 脅威を検出する
パブリックIPを割り当てずに仮想マシンを利用することを検討する
Azure VMで仮想マシンをデプロイし、パブリックIPを割り当てるだけで、インターネットから接続可能な仮想マシンを手軽に構築できます。しかしながら、やはりセキュリティの側面から考えると、インターネットから任意のブルートフォース攻撃などからのリスクを下げるために、直接インターネットから接続することは避け、攻撃への露出面を可能な限り減らすことが重要です。VPNやExpressRouteを利用してAzure仮想ネットワークへのプライベート接続の環境を構成する、あるいは、「RD Gateway」などの中継サーバを構成する方法をぜひ検討してください。
また、より中継環境を構築しやすくするために、2019年11月には、Azureポータルを経由してAzure VMへ接続するPaaS「Azure Bastion」も登場しました。Azure Bastionを利用すると、Azure仮想マシンにパブリックIPを割り当てる必要がないため、RDPやSSHをパブリックインターネットに公開する必要がありません。
仮想マシンの基本的なセキュリティを見直して!
Azure仮想マシンは、リモートワークの高まりもあり利用が増えています。今回ご紹介した内容な基本的な項目ばかりですが、「検証環境なので設定が甘い」「共有利用するためにパスワードを簡易なものにしている」など、セキュリティ設定が甘くなっている環境が多く、不正利用などの被害を受けているのが実情です。今一度、適切なセキュリティコントロールが行われているかを確認してみてください。
著者紹介
垣内 由梨香
マイクロソフト株式会社 セキュリティ レスポンス チーム セキュリティ プログラム マネージャー
マイクロソフト株式会社に入社以来、Active Directory, Network, 証明書および暗号化を専門としたWindows エンジニアを経て現職。セキュリティの意識向上活動、インシデント対応に従事。CRYPTREC委員。