セキュア LDAP で守れ! - AWS Managed Microsoft AD で LDAPS を有効化する
Active Directory で使用される LDAP というプロトコルについて「AWS Directory Service 管理ガイド」のおことばを見ます
この LDAP 通信を SSL/TLS で保護できます
セキュアな LDAP -- LDAPS です
この LDAPS の有効化を AWS Managed Microsoft AD でやってみます
SSL/TLS 証明書
LDAPS の実装に必要なモノ -- SSL/TLS 証明書です
SSL/TLS 証明書の発行には認証局が必要になります
前出の「AWS Directory Service 管理ガイド」を確認します
つまり事実上 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 有効化 完成です!