Microsoft Entra Domain Services の統合
Microsoft Entra Domain Services は、Microsoft Entra ID (Azure AD) から Microsoft が管理する一連のドメインコントローラにアイデンティティ情報をレプリケーションします。クラウド専用の Microsoft Entra ID テナント、またはオンプレミスの Active Directory (AD) ドメインサービス環境と同期されている Microsoft Entra ID テナントで動作します。どちらの環境でも同じ機能が提供されています。
Microsoft Entra Domain Services を使用して、ファイアウォールを Microsoft Entra ID と統合できます。次の認証サービスを利用できます。
- Web 管理コンソール。
- キャプティブポータル。
- ユーザーポータル。
- Windows、macOS、Linux 版のクライアント認証エージェント (CAA)。
- リモートアクセス SSL VPN。
このガイドでは、サードパーティ製品に関する手順についても説明しています。各ベンダーの最新ドキュメントを確認することを推奨します。
要件
Microsoft Entra Domain Services を使用してファイアウォールを Microsoft Entra ID と統合するには、次の要件を満たす必要があります。
- 既存の Microsoft Entra ID 設定。詳細は、Azure ポータルでの Microsoft Entra ID (Azure AD) の設定を参照してください。
- OpenSSL がインストールされた Windows、macOS、または Linux のエンドポイント。
自己署名証明書の作成
Microsoft Azure では、extendedKeyUsage
が serverAuth
に設定された自己署名証明書を使用できます。この例では、OpenSSL がインストールされた Linux マシンを使って、自己署名証明書を生成します。次の手順を実行します。
- ターミナルを実行します。
-
次のコマンドを実行して、認証局 (CA) の秘密鍵を作成します。
構文
openssl genrsa -out <name>.key 4096
例
openssl genrsa -out azureADca.key 4096
$ openssl genrsa -out azureADca.key 4096 Generating RSA private key, 4096 bit long modulus ..........................................................................................................................................................++ ................++ e is 65537 (0x10001)
-
次のコマンドを実行して、CA 証明書を生成します。プロンプトに必要な値を入力します。この CA 証明書は、署名された証明書を検証します。
構文
openssl req -x509 -new -nodes -key <CA private key>.key -days <Number of days> -out <name>.pem
例
openssl req -x509 -new -nodes -key azureADca.key -days 365 -out azureADca.pem
$ openssl req -x509 -new -nodes -key azureADca.key -days 365 -out azureADca.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []:CA State or Province Name (full name) []:ON Locality Name (eg, city) []:Burlington Organization Name (eg, company) []:Sophos Organizational Unit Name (eg, section) []:Sales Engineering Common Name (eg, fully qualified host name) []:sophostest.com Email Address []:admin@sophostest.com
-
次の情報をコピーして、テキストファイルに貼り付け、ファイルを
<name>.conf
という名前で保存します。例:azureAD-eku.conf
。[client_server_ssl] extendedKeyUsage = serverAuth
-
次のコマンドを実行して、LDAP 証明書の秘密鍵を作成します。
構文
openssl genrsa -out <name>.key 4096
例
openssl genrsa -out ldapssl_private.key 4096
$ openssl genrsa -out ldapssl_private.key 4096 Generating RSA private key, 4096 bit long modulus ...................................++ ..........++ e is 65537 (0x10001)
-
次のコマンドを実行して、証明書署名要求 (CSR) を生成します。プロンプトに必要な値を入力します。
構文
openssl req -new -key <LDAP private key>.key -out <name>.csr
例
openssl req -new -key ldapssl_private.key -out azureADldapssl.csr
$ openssl req -new -key ldapssl_private.key -out azureADldapssl.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []:CA State or Province Name (full name) []:ON Locality Name (eg, city) []:Burlington Organization Name (eg, company) []:firewallinabox Organizational Unit Name (eg, section) []:Sales Engineering Common Name (eg, fully qualified host name) []:firewallinabox.tk Email Address []:admin@firewallinabox.tk Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:testpassword123!
-
次のコマンドを実行して、証明書を生成します。CA は CSR に基づいて署名します。
構文
openssl x509 -req -extensions client_server_ssl -extfile <Extended key usage file>.conf -in <Certificate signing request>.csr -CA <CA public key>.pem -CAkey <CA private key>.key -CAcreateserial -out <name>.crt -days <Number of days>
例
openssl x509 -req -extensions client_server_ssl -extfile azureAD-eku.conf -in azureADldapssl.csr -CA azureADca.pem -CAkey azureADca.key -CAcreateserial -out azureADcert.crt -days 365
$ openssl x509 -req -extensions client_server_ssl -extfile azureAD-eku.conf -in azureADldapssl.csr -CA azureADca.pem -CAkey azureADca.key -CAcreateserial -out azureADcert.crt -days 365 Signature ok subject=/C=CA/ST=ON/L=Burlington/O=firewallinabox/OU=Sales Engineering/CN=firewallinabox.tk/emailAddress=email@email.com Getting CA Private Key
-
次のコマンドを実行して、証明書を
.pfx
形式に変換します。構文
openssl pkcs12 -export -out <name>.pfx -inkey <LDAP private key>.key -in <Signed certificate>.crt -certfile <CA certificate>.pem
例
openssl pkcs12 -export -out SophosazureADcert.pfx -inkey ldapssl_private.key -in azureADcert.crt -certfile azureADca.pem
$ openssl pkcs12 -export -out SophosazureADcert.pfx -inkey ldapssl_private.key -in azureADcert.crt -certfile azureADca.pem Enter Export Password: Verifying - Enter Export Password:
自己署名証明書が作成されました。この例では、SophosazureADcert.pfx
です 。
Microsoft Azure の設定
Microsoft Entra Domain Services
Microsoft Entra Domain Services を使用してファイアウォールを Microsoft Entra ID と統合するには、次の手順を実行します。
- Microsoft Azure ポータルにサインインします。
-
Microsoft Entra Domain Services を設定します。チュートリアル:Microsoft Entra Domain Services のマネージドドドメインの作成と設定を参照してください。
Microsoft Entra Domain Services が展開されると、ステータスが「実行中」になります。
-
「同期」をクリックします。
-
「すべて」または「範囲指定」を選択し、「同期範囲の保存」をクリックします。
注
ユーザーが Microsoft Entra Domain Services と同期されるには、Office 365 にサインインし、パスワードを変更する必要があります。初めてサインインするユーザーは、パスワードを変更する必要があります。これにより、Kerberos および NTLM 認証用のパスワードハッシュが生成され、Microsoft Entra ID に保存されます。
-
展開した Microsoft Entra Domain Services に移動し、「Secure LDAP」をクリックします。
- 「Secure LDAP」と「インターネット経由でのセキュアな LDAP アクセスを許可」をオンにします。
- 「Secure LDAP 証明書が含まれる .PFX ファイル」で、作成した
.pfx
自己署名証明書をアップロードします。 -
「.PFX ファイルを復号化するパスワード」で、ファイルを復号化するパスワードを入力します。
-
「保存」をクリックします。
-
「プロパティ」に移動し、IP アドレス、Secure LDAP 外部 IP アドレス、および管理者グループをメモします。
設定した管理者グループが、Microsoft Entra Domain Services に LDAP バインド要求を送信するためにファイアウォールによって使用されるグループであることを確認します。
管理者アカウントの確認
ファイアウォールで使用する管理者アカウントを確認するには、次の手順を実行します。
- 「Microsoft Entra ID」を選択します。検索することもできます。
-
「ユーザー」をクリックします。
ファイアウォールで使用する管理者アカウントが、Microsoft Entra Domain Services で設定されている Admin グループのメンバーであることを確認します。
セキュリティルール
ファイアウォールのパブリック IP アドレスからの LDAPS トラフィックを許可するには、次の手順を実行します。
- 「ネットワークセキュリティグループ」を選択します。検索することもできます。
- セキュリティグループをクリックし、「設定」 > 「受信セキュリティルール」を選択します。
-
ファイアウォールのパブリック IP アドレスからの LDAPS トラフィックを許可する受信セキュリティルールを追加します。
-
ファイアウォールで使用する管理者アカウントを使って、Office 365 にサインインします。パスワードを変更するようメッセージが表示されます。
ファイアウォールの設定
AD サーバーの設定とグループのインポート
AD サーバーを設定し、グループをインポートするには、次の手順を実行します。
- Web 管理コンソールにサインインします。
- 「認証 > サーバー」の順に選択し、「追加」を選択します。
-
次の設定を行います。
- サーバーの種類:Active Directory
- サーバー名:名前を入力します。
- サーバー IP/ドメイン: Microsoft Entra ID のパブリック IP アドレスを入力します。
- 接続のセキュリティ: SSL/TLS
- ポート:
636
- NetBIOS ドメイン: NetBIOS ドメインを入力します。
- ADS ユーザー名:Microsoft Entra Domain Services で設定された管理者グループのメンバーである管理者アカウントのユーザー名を入力します。
- パスワード:管理者のパスワードを入力します。
- サーバー証明書の検証: チェックボックスの選択を解除します。
- 表示名の属性:
DisplayName
- メールアドレスの属性:
mail
- ドメイン名: ドメインを入力します。
-
検索クエリ: ドメインの検索クエリを入力します。
-
接続をテストします。
- 「保存」をクリックします。
- Microsoft Entra ID からグループをインポートします。詳細は、グループのインポートを参照してください。
認証サービス
Microsoft Entra ID サーバーを認証方法として使用するには、次の手順を実行します。
- 「認証 > サービス」に移動します。
- 「ファイアウォール認証方法」で、任意のサービスの Microsoft Entra ID サーバーを選択して適用します。
Microsoft Entra Domain Services で Microsoft Entra ID を使用して、ユーザーを認証できるようになりました。
ヒント
さらにセキュリティを高めるには、Microsoft Azure への IPsec 接続を作成し、IPsec 接続で LDAP をバインドします。詳細は、Sophos Firewall: Azure への IPsec VPN ゲートウェイ接続の設定を参照してください。