Active Directory : LDAP over SSL/TLS2025/10/17 |
|
LDAP over SSL/TLS を設定して、Active Directory に LDAPS で接続できるようにします。 |
| [1] | Let's Encrypt 等で正規の SSL/TLS 証明書を取得、または 自己署名の証明書を作成します。 自己署名の証明書を作成する場合は以下のように実行します。 正規の証明書を使用する場合は以下はスキップで OK です。 |
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. # 有効期限 10 年で作成 # [DnsName] には Active Directory ホストを FQDN で指定 PS C:\Users\Administrator> New-SelfSignedCertificate ` -DnsName "fd3s.srv.world" ` -KeyAlgorithm "ECDSA_nistP384" ` -KeyExportPolicy "Exportable" ` -CertStoreLocation "Cert:\LocalMachine\My" ` -NotAfter (Get-Date).AddYears(10) PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\My Thumbprint Subject ---------- ------- C14578E62D65C33A69053958BABA0A05F598DD8B CN=fd3s.srv.world |
| [2] | SSL/TLS 証明書の Private key のアクセス権を変更します。 正規の証明書 / 自己署名の証明書、いずれの場合も以下は設定します。 |
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\Users\Administrator> Get-ChildItem Cert:\LocalMachine\My PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\My Thumbprint Subject ---------- ------- C14578E62D65C33A69053958BABA0A05F598DD8B CN=fd3s.srv.world PS C:\Users\Administrator> $ObjCert = Get-ChildItem Cert:\LocalMachine\My\C14578E62D65C33A69053958BABA0A05F598DD8B PS C:\Users\Administrator> $Cert = [System.Security.Cryptography.X509Certificates.ECDsaCertificateExtensions]::GetECDsaPrivateKey($ObjCert) PS C:\Users\Administrator> $fileName = $Cert.key.UniqueName PS C:\Users\Administrator> $filePath = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$fileName" # [NETWORK SERVICE] に Full Control 追加 PS C:\Users\Administrator> icacls $filePath /grant "NT AUTHORITY\NETWORK SERVICE:(F)" processed file: C:\ProgramData\Microsoft\Crypto\Keys\a9f8f43b128f5e956f346cd5c9ea6c29_41bafaca-92a7-4cab-a195-66c812ee3926 Successfully processed 1 files; Failed processing 0 files PS C:\Users\Administrator> icacls $filePath C:\ProgramData\Microsoft\Crypto\Keys\a9f8f43b128f5e956f346cd5c9ea6c29_41bafaca-92a7-4cab-a195-66c812ee3926 NT AUTHORITY\NETWORK SERVICE:(F) BUILTIN\Administrators:(F) NT AUTHORITY\SYSTEM:(F) Successfully processed 1 files; Failed processing 0 files |
| [3] | 自己署名の証明書を作成した場合は、信頼済みストアに追加しておきます。 正規の証明書を使用する場合は以下はスキップで OK です。 |
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\Users\Administrator> $ObjCert = Get-ChildItem Cert:\LocalMachine\My\C14578E62D65C33A69053958BABA0A05F598DD8B PS C:\Users\Administrator> Export-Certificate -Cert $ObjCert -FilePath "C:\Users\Administrator\fd3s.srv.world.cer" Directory: C:\Users\Administrator Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 10/17/2025 6:25 AM 476 fd3s.srv.world.cer PS C:\Users\Administrator> Import-Certificate -FilePath "C:\Users\Administrator\fd3s.srv.world.cer" -CertStoreLocation "Cert:\LocalMachine\Root" PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\Root Thumbprint Subject ---------- ------- C14578E62D65C33A69053958BABA0A05F598DD8B CN=fd3s.srv.world # 一旦 再起動 PS C:\Users\Administrator> Restart-Computer -Force |
| [4] | 再起動後、PowerShell 等から [ldp.exe] を起動し、[connection] - [connect] を開くと以下の画面になります。 ここで、[Server] の項目には AD ホストを FQDN で入力、[Port] には [636] を指定、[SSL] にチェックを入れて、[OK] します。 |
|
| [5] | 以下のように [Established connection ***] と表示されれば、接続 OK です。 |
|
| [6] | Linux クライアントから接続テストする場合は以下のように設定します。 例として、Ubuntu 24.04 クライアントから接続します。 |
|
root@client:~#
apt -y install ldap-utils
root@client:~#
vi /etc/ldap/ldap.conf # AD で自己署名の証明書を使用中の場合は、最終行に追記 TLS_REQCERT allow # AD に接続 # 例としてユーザー情報取得 # -D "(任意の AD ユーザー)" -w "(AD ユーザーのパスワード)" root@client:~# ldapsearch -x -H ldaps://fd3s.srv.world:636 -b "dc=srv,dc=world" -D "serverworld@srv.world" -w "P@ssw0rd01" -s sub "(&(objectcategory=user)(sAMAccountName=*))" # # LDAPv3 # base <dc=srv,dc=world> with scope subtree # filter: (&(objectcategory=user)(sAMAccountName=*)) # requesting: ALL # # Administrator, Users, srv.world dn: CN=Administrator,CN=Users,DC=srv,DC=world objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: Administrator description: Built-in account for administering the computer/domain distinguishedName: CN=Administrator,CN=Users,DC=srv,DC=world instanceType: 4 whenCreated: 20251017111330.0Z whenChanged: 20251017132240.0Z uSNCreated: 8196 memberOf: CN=Group Policy Creator Owners,CN=Users,DC=srv,DC=world memberOf: CN=Domain Admins,CN=Users,DC=srv,DC=world memberOf: CN=Enterprise Admins,CN=Users,DC=srv,DC=world memberOf: CN=Schema Admins,CN=Users,DC=srv,DC=world memberOf: CN=Administrators,CN=Builtin,DC=srv,DC=world uSNChanged: 16432 name: Administrator objectGUID:: aqq75GPewEWmnCteP/Dbpw== userAccountControl: 66048 badPwdCount: 0 codePage: 0 countryCode: 0 badPasswordTime: 0 lastLogoff: 0 lastLogon: 134051830102149507 logonHours:: //////////////////////////// pwdLastSet: 134051726233637236 primaryGroupID: 513 objectSid:: AQUAAAAAAAUVAAAAH8UbFThaqcEcMsxj9AEAAA== adminCount: 1 accountExpires: 0 logonCount: 11 sAMAccountName: Administrator sAMAccountType: 805306368 objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=srv,DC=world isCriticalSystemObject: TRUE dSCorePropagationData: 20251017132240.0Z dSCorePropagationData: 20251017132240.0Z dSCorePropagationData: 20251017111451.0Z ..... ..... |
| Sponsored Link |
|
|