エンタープライズ環境: 企業向けに Linux 用 Windows サブシステムを設定する

このガイダンスの対象者は、複数のコンピューターにソフトウェアを配布し、それらの作業コンピューター間で一貫したレベルのセキュリティ設定を維持することを目標として、エンタープライズ作業環境のセットアップを担当する、IT 管理者またはセキュリティ アナリストです。

多くの企業が、Microsoft IntuneMicrosoft Defender を使って、これらのセキュリティ設定を管理しています。 ただし、WSL を設定し、このコンテキストで Linux ディストリビューションにアクセスするには、いくつか特定のセットアップが必要です。 このガイダンスでは、エンタープライズ環境の WSL で Linux を安全に使用できるようにするために知っておくべきことを説明します。

セキュリティ保護されたエンタープライズ環境を設定するにはさまざまな方法がありますが、WSL を利用するセキュリティ保護された環境を設定するには、次の方法をお勧めします。

前提条件

最初に、すべてのエンタープライズ デバイスに少なくとも次のバージョンがインストールされていることを確認します。

  • Windows 10 22H2 以降、または Windows 11 22H2 以降
    • 高度なネットワーク機能は、Windows 11 22H2 以降でのみ利用できます。
  • WSL バージョン 2.0.9 以降
    • WSL のバージョンは、wsl --version を実行して確認できます。

Microsoft Defender for Endpoint (MDE) の統合を有効にする

Microsoft Defender for Endpoint は、企業ネットワークによる高度な脅威に対する防御、検出、調査、対応を支援するように、設計されたエンタープライズ エンドポイント セキュリティ プラットフォームです。 MDE は WSL プラグインとしての WSL と統合されるようになったため、セキュリティ チームは、開発者ワークロードのパフォーマンスへの影響を最小限に抑えながら、Defender for Endpoint を使って、実行中のすべての WSL ディストリビューションでのセキュリティ イベントを表示して継続的に監視できます。

使い始める方法について詳しくは、WSL 用の Microsoft Defender for Endpoint プラグインに関する記事をご覧ください。

Microsoft Intune は、クラウドベースのエンドポイント管理ソリューションです。 それは、組織のリソースへのユーザー アクセスを管理し、モバイル デバイス、デスクトップ コンピューター、仮想エンドポイントなど、多くのデバイスでのアプリとデバイスの管理を簡素化します。 Microsoft Intune を使って組織内のデバイスを管理できます。これには、WSL とその主要なセキュリティ設定へのアクセスの管理も含まれるようになりました。

InTune を使用した Windows コンポーネントとしての WSL の管理に関するガイダンスと推奨される設定については、「WSL のための Intune の設定」をご覧ください。

高度なネットワーク機能とコントロールを使用する

Windows 11 22H2 以降と WSL 2.0.9 以降では、Windows ファイアウォール規則が WSL に自動的に適用されます。 これにより、Windows ホストで設定されているファイアウォール規則が、すべての WSL ディストリビューションに既定で自動的に適用されるようになります。 WSL 用のファイアウォール設定のカスタマイズに関するガイダンスについては、「Hyper-V ファイアウォールを構成する」をご覧ください。

さらに、特定のエンタープライズ シナリオに合わせて、.wslconfig ファイルの [wsl2] の下の設定を構成することをお勧めします。

ミラー モードのネットワーク

networkingMode=mirrored は、ミラー モードのネットワークを有効にします。 この新しいネットワーク モードを使うと、複雑なネットワーク環境 (特に VPN など) との互換性が向上し、IPv6 などの既定の NAT モードでは使用できない新しいネットワーク機能のサポートが追加されます。

DNS トンネリング

dnsTunneling=true は、WSL が DNS 情報を取得する方法を変更します。 この設定を使うと、さまざまなネットワーク環境での互換性が向上し、ネットワーク パケットではなく仮想化機能を使って DNS 情報が取得されます。 何らかの接続の問題が発生する場合は、これを有効にすることをお勧めします。VPN や高度なファイアウォール設定などを使うときは特に役立ちます。

自動プロキシ

autoProxy=true は、Windows の HTTP プロキシ情報を使うよう WSL に強制します Windows でプロキシを使う場合は、この設定をオンにすることをお勧めします。そうすると、そのプロキシが WSL ディストリビューションに自動的に適用されます。

カスタムの WSL イメージを作成する

一般に "イメージ" と呼ばれるものは、簡単に説明すると、ファイルに保存されたソフトウェアとそのコンポーネントのスナップショットです。 Linux 用 Windows サブシステムの場合、イメージは、サブシステム、そのディストリビューション、そのディストリビューションにインストールされているすべてのソフトウェアとパッケージで構成されます。

WSL イメージの作成を開始するには、まず Linux 用 Windows サブシステムをインストールします

インストールしたら、ビジネス向け Microsoft Store を使用して適切な Linux ディストリビューションをダウンロードし、インストールします。 ビジネス向け Microsoft Store を使用してアカウントを作成します。

WSL イメージのエクスポート

カスタムの WSL イメージをエクスポートするには、wsl --export <Distro> <FileName> を実行します。これにより、イメージは tar ファイルにラップされ、他のマシンに配布できるようになります。 カスタム ディストリビューション ガイドを使って、CentOS や RedHat などのカスタム ディストリビューションを作成できます。

WSL イメージの配布

共有デバイスまたはストレージ デバイスから WSL イメージを配布するには、wsl --import <Distro> <InstallLocation> <FileName> を実行します。これにより、指定した tar ファイルが新しい配布としてインポートされます。

Linux のディストリビューションとパッケージの更新およびパッチ

Linux ユーザー領域の監視と管理には、Linux 構成マネージャー ツールを使用することを強くお勧めします。 選択できる Linux 構成マネージャーは多数あります。 WSL 2 での Puppet のすばやい実行に関するこちらのブログ記事をご覧ください。

Windows ファイル システムへのアクセス

WSL の内部の Linux バイナリは、Windows ファイルにアクセスするとき、wsl.exe を実行した Windows ユーザーのユーザー アクセス許可を使ってそれを行います。 そのため、Linux ユーザーは、WSL 内でルート アクセス権を持っていたとしても、Windows ユーザーがそれらのアクセス許可を持たない場合は、Windows で Windows 管理者レベルの操作を行うことはできません。 WSL からの Windows ファイルと Windows 実行可能ファイルへのアクセスに関しては、bash などのシェルの実行には、そのユーザーとして Windows から powershell を実行するのと同じセキュリティ レベルのアクセス許可が付与されます。

サポートされています

  • wsl --importwsl --export を使用して承認済みのイメージを内部で共有する
  • WSL Distro Launcher リポジトリを使用して自社向けに独自の WSL ディストリビューションを作成する
  • Microsoft Defender for Endpoint (MDE) を使って、WSL ディストリビューション内のセキュリティ イベントを監視する
  • ファイアウォールの設定を使って、WSL のネットワークを制御する (Windows ファイアウォール設定の WSL への同期を含む)
  • Intune またはグループ ポリシーを使って、WSL とその主要なセキュリティ設定へのアクセスを制御する

まだサポートされていませんが、調査中である機能の一覧を次に示します。

現在はサポートされていません

WSL 内で現在サポートされていない、一般的な機能の一覧を次に示します。 Microsoft ではこれらの要求を把握しており、追加方法を調査しています。

  • Windows ツールを使用した Linux ディストリビューションとパッケージの更新とパッチの管理
  • Windows Update を使用して WSL ディストリビューションのコンテンツも更新する
  • 自社内のユーザーがアクセスできるディストリビューションの制御
  • ユーザーに対するルート アクセスの制御