見出し画像

セキュア LDAP で守れ! - AWS Managed Microsoft AD で LDAPS を有効化する

Active Directory で使用される LDAP というプロトコルについて「AWS Directory Service 管理ガイド」のおことばを見ます

LDAP (Lightweight Directory Access Protocol) は、Active Directory に対するデータの読み書きに使用される標準の通信プロトコルです。一部のアプリケーションでは、LDAP を使用して Active Directory のユーザーやグループの追加、削除、または検索を行なったり、そのユーザーを認証するための認証情報を転送したりします。すべての LDAP 通信には、クライアント (アプリケーションなど) とサーバー (Active Directory など) が含まれています。

この LDAP 通信を SSL/TLS で保護できます
セキュアな LDAP -- LDAPS です

この LDAPS の有効化を AWS Managed Microsoft AD でやってみます

SSL/TLS 証明書

LDAPS の実装に必要なモノ -- SSL/TLS 証明書です
SSL/TLS 証明書の発行には認証局が必要になります

前出の「AWS Directory Service 管理ガイド」を確認します

サーバー側の LDAPS を有効にする前に、証明書を作成する必要があります。この証明書は、AWS Managed Microsoft AD ドメインに参加している Microsoft エンタープライズ CA サーバーによって発行される必要があります。

注記
AWS Managed Microsoft AD のサーバー側の LDAPS は、単独の CA から発行される証明書をサポートしていません。また、サードパーティーの認証機関により発行された証明書もサポートしていません。

つまり事実上 Active Directory 証明書サービス (AD CS) 一択です
オレオレ証明書は門前払いです

LDAPS 有効化手順

AWS Managed Microsoft AD で LDAPS を有効化するフローです

  • セキュリティグループのルールを追加する

AWS Managed Microsoft AD と AD CS を導入するサーバーが疎通するようセキュリティグループのルールを追加します

  • AD CS をインストールして認証機関を設定する

AD CS をインストールし エンタープライズ CA を構築します

  • 証明書を発行する

Kerberos 認証証明書を発行し ドメインコントローラーに登録します

では やって行きます!

セキュリティグループのルールを追加する

AWS Managed Microsoft AD と AD CS が疎通するようセキュリティグループのルールを追加します

・ AWS Managed Microsoft AD ディレクトリのセキュリティグループ


AWS Managed Microsoft AD ディレクトリのセキュリティグループの名前は「<ディレクトリ ID>__controllers」です
このセキュリティグループを探してアウトバウンドルールを追加します

  • 追加するルール

ちなみに LDAPS ではポート 636 を使用しますが 最初から開いてたりします

・ AD CS を導入する EC2 インスタンスにアタッチした AWS セキュリティグループ


AD CS を導入する EC2 インスタンスにアタッチした AWS セキュリティグループに以下のインバウンドルールを追加します

  • 追加するルール

AD CS をインストールして認証機関を設定する

ディレクトリに結合した EC2 インスタンスで 役割サービスに [Certification Authority] を選択し AD CS をインストールします

また 疎通確認に Ldap.exe というツールが使用できます
[AD DS and AD LDS Tools] でインストールできます
入れておいてあげましょう

インストールが完了したら認証局を構築します
AD CS で構築できる認証局はエンタープライズ CA またはスタンドアロン CA の 2 種類があります

AWS Managed Microsoft AD ディレクトリの LDAPS ではエンタープライズ CA が要件となりますので エンタープライズ CA を構築します


サーバーマネージャーの通知から [Configure Active Directory Certificate Services on the destination server] をクリックします

[Credential] に管理者ユーザーを指定します
このユーザーは AWS Managed Microsoft AD ディレクトリ内の Admins グループまたは Enterprise Certificate Authority Administrators グループのユーザーである必要があります

認証局を構築するので 役割サービスには [Certification Authority] を選択します

[Enterprise CA] を選択します

[Root CA] を選択します

プライベートキーを新しく作成する必要があります (既存のキーがないので)
[Create a new private key] を選択します

セキュリティ上 ハッシュアルゴリズムはできるだけ最新のものを選択します

任意の CA 名を指定します

証明書の有効期限はデフォルト (5 年) のまま進みます

データベースの場所は変更せず 進みます

設定を確認して [Configure] をクリックします

CA 構築完了です

証明書を発行する

Kerberos 認証証明書を発行します


[Administrative Tools (管理ツール) ] から [Certification Authority] を選択して起動します
左サイドペインの [Certificate Authority] ツリーを展開します

[Certificate Templates] を右クリックし、[Manage] (管理) を選択します

[Certificate Templates Console] ウィンドウが開きます
[Kerberos Authentication] を右クリックし、[Duplicate Template] を選択します

[Compatibility] タブを選択します
CA および証明書を利用するクライアントオペレーティングシステムを選択します
ここで選択したオペレーティングシステムのバージョン以前はサポートされません

AD CS の証明書テンプレートには 1 ~ 4 のバージョンがあり それぞれ以下のオペレーティングシステムをサポートします

証明書テンプレートのバージョン

  • バージョン 1 : Windows 2000 以降

  • バージョン 2 : Windows Server 2003 / Windows XP 以降

  • バージョン 3 : Windows Server 2008 / Windows Vista 以降

  • バージョン 4 : Windows Server 2012 / Windows 8 以降

[General] タブで証明書テンプレート名を指定します
わかりやすい名前を付けてあげます

[Security] タブを選択します
証明書は発行後 ドメインコントローラーで登録されるため [Domain Controllers] に以下の権限を設定します

  • Read

  • Enroll

  • Autoenroll

設定が終わったら [OK] をクリックします
証明書テンプレートが追加されました

証明書を発行します
[Certificate Authority] ウィンドウで、[Certificate Templates] を右クリックし、[New > Certificate Template to Issue] を選択します

[Enable Certificate Templates] ウィンドウで、作成した証明書テンプレートを選択し [OK] をクリックします

しばらく待っていると 証明書が発行され ドメインコントローラーに登録されます
[Enable Certificate Templates] ウィンドウの [Issued Certificates] で確認できます

疎通確認

スタートメニューで「ldp」と検索し Ldap.exe を起動します

[Connect] ウィンドウで以下を入力します

  • Server: <ディレクトリのDNS 名>

  • Port: 636

  • SSL: 有効

[OK] をクリックします
疎通が成功すると証明書の情報が返ってきます

これで AWS Managed Microsoft AD の LDAPS 有効化 完成です!

この記事が気に入ったらサポートをしてみませんか?