ネットワーク ベースラインの作成
Azure のネットワーク サービスは柔軟性、可用性、回復性、セキュリティ、および整合性を最大化するように設計されています。 ネットワーク接続は、Azure に配置されているリソース間、オンプレミスのリソースと Azure でホストされているリソース間、インターネットと Azure 間で確立できます。
Azure ネットワーク セキュリティに関する推奨事項
以降のセクションでは、CIS Microsoft Azure Foundations Security Benchmark v. 1.3.0 での Azure ネットワークの推奨事項について説明します。 各推奨事項には、Azure portal で実行するための基本的な手順が含まれています。 これらの手順は、独自のサブスクリプションに対して実行し、独自のリソースを使用して各セキュリティに関する推奨事項を検証する必要があります。 レベル 2 オプションを使用すると、一部の機能またはアクティビティが制限される可能性があることに注意してください。そのため、どのセキュリティ オプションを適用するかを慎重に検討してください。
インターネットからの RDP および SSH アクセスを制限する - レベル 1
Azure VM へのアクセスには、リモート デスクトップ プロトコル (RDP) と Secure Shell (SSH) プロトコルを使用できます。 これらのプロトコルを使って、リモートの場所から VM を管理できます。 これらのプロトコルは、データセンター コンピューティングでの標準です。
RDP と SSH をインターネット経由で使うと発生する可能性があるセキュリティ上の問題は、攻撃者がブルート フォース手法を使って Azure VM にアクセスできることです。 攻撃者がアクセス権を取得すると、VM を起点として仮想ネットワーク上の他のマシンを侵害したり、Azure の外部にあるネットワーク接続されたデバイスを攻撃したりできます。
インターネットから Azure VM への RDP および SSH による直接アクセスを無効にすることをお勧めします。 Azure サブスクリプションの VM ごとに、次の手順のようにします。
Azure portal にサインインします。 [仮想マシン] を検索して選択します。
左側のメニューの [設定] で、[ネットワーク] を選びます。
[ネットワーク] ペインで、[受信ポートの規則] タブに RDP 用の規則 (例:
port=3389, protocol = TCP, Source = Any or Internet
) がないことを確認します。[受信ポートの規則] タブに SSH 用の規則 (例:
port=22, protocol = TCP, Source = Any or Internet
) がないことを確認します。
インターネットからの RDP および SSH の直接アクセスを無効にしたときは、他のオプションを使ってリモート管理のためにこれらの VM にアクセスできます。
- ポイント対サイト VPN
- サイト間 VPN
- Azure ExpressRoute
- Azure Bastion ホスト
インターネットからの SQL Server アクセスを制限する - レベル 1
ファイアウォール システムは、コンピューター リソースへの不正アクセスを防ぐのに役立ちます。 ファイアウォールが有効になっていても、正しく構成されていない場合は、SQL Server への接続の試みがブロックされることがあります。
ファイアウォールを経由して SQL Server のインスタンスにアクセスするには、SQL Server を実行しているコンピューターでファイアウォールを構成する必要があります。 IP 範囲 0.0.0.0/0
(開始 IP 0.0.0.0
と終了 IP 0.0.0.0
) でイングレスを許可すると、SQL Server データベースを攻撃に対して脆弱にする可能性があるすべてのトラフィックに対するオープン アクセスが許可されます。 SQL Server データベースでインターネットからのイングレスが許可されていないことを確認します。 各 SQL Server インスタンスで、次の手順のようにします。
Azure portal にサインインします。 [SQL サーバー] を探して選択します。
メニュー ペインの [セキュリティ] で、[ネットワーク] を選びます。
[ネットワーク] ペイン [パブリック アクセス] タブで、ファイアウォール規則が存在することを確認します。 [開始 IP] に
0.0.0.0
、[終了 IP] に0.0.0.0
が設定されている規則、またはさらに広いパブリック IP 範囲へのアクセスを許可する別の組み合わせが設定されている規則がないことを確認します。設定を変更する場合は、[保存] を選びます。
Network Watcher を有効にする - レベル 1
NSG のフロー ログは、NSG を介した IP イングレスとエグレスのトラフィックに関する情報を提供する、Azure Network Watcher の機能です。 フロー ログは JSON 形式で書き込まれ、以下のことを示します。
- ルールごとの送信フローと受信フロー。
- そのフローが適用されるネットワーク インターフェイス (NIC)。
- フローに関する 5 タプル情報: 送信元と送信先の IP アドレス、送信元と送信先のポート、使用されたプロトコル。
- トラフィックが許可されたか、拒否されたか。
- バージョン 2 では、バイト数やパケット数などのスループット情報。
Azure portal にサインインします。 Network Watcher を検索して選択します。
サブスクリプションと場所に対する [Network Watcher] を選びます。
サブスクリプションに NSG フロー ログが存在しない場合は、NSG フロー ログを作成します。
NSG フロー ログの保持期間を 91 日以上に設定する - レベル 2
サブスクリプションで仮想ネットワークを作成または更新すると、お使いの仮想ネットワークのリージョンで Network Watcher が自動的に有効になります。 Network Watcher が自動的に有効になっていても、リソースは影響を受けず、料金はかかりません。
NSG フロー ログを使って異常をチェックし、侵害の疑いについての分析情報を得ることができます。
Azure portal にサインインします。 Network Watcher を検索して選択します。
左側のメニューで、[ログ] の下にある [NSG フロー ログ] を選びます。
NSG フロー ログを選びます。
[保有期間 (日)] が 90 日より長いことを確認します。
設定を変更する場合は、メニュー バーで [保存] を選択します。