このKBでは、主にLDAPSの構成に必要な情報に重点を置いています。AD/LDAPとNetWorkerを統合するために必要なものの詳細については、次を参照してください。
NetWorker:AD/LDAP認証を設定する方法
メモ: 外部権限は、NetWorker管理コンソールとNetWorker Webユーザー インターフェイス(NWUI)から構成できます。ただし、LDAPSを使用したActive Directoryの構成は、通常、authc_configスクリプトまたはNWUI(19.7以降)を使用することをお勧めします。NMC構成オプションは、「LDAP over SSL」のみを提供します。このオプションを使用すると、「Active Directory: false」が設定されます。このオプションは、認証サーバーがMicrosoft Active DirectoryではなくLDAPであることを想定しています。これにより、ログインに失敗します。このKBに記載されているプロセスでは、authc_configure スクリプトを使用してLDAPSを構成する方法について詳しく説明します。NWUI(19.7以降)は、「AD over SSL」オプションを提供します。
NetWorker:NWUI(NetWorker Webユーザー インターフェイス)から「AD over SSL」(LDAPS)を構成する方法
AD/LDAP構成を最初にLDAP経由で動作させ、次にLDAPSに変換して潜在的な構成の問題を除外することをお勧めします。
LDAPSを使用するには、LDAPSサーバーからJAVA信頼キーストアにCA証明書(または証明書チェーン)をインポートする必要があります。これは、次の手順で実行できます。
1)管理者/rootコマンド プロンプトを開きます。
2、a)トラスト ストア内の現在の信頼できる証明書のリストを表示します。
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- 通常、JAVAバイナリの場所はOS PATH 環境変数 の一部であるため、「keytool」はどこからでも実行できます。OSがkeytoolバイナリを見つけることができない場合。NetWorkerサーバーのJAVA \binディレクトリからkeytoolコマンドを実行します。
- JAVA_PATHをJAVAインストールへのパスに置き換えます。パス名は、インストールされているJAVAバージョンによって異なります。
- NetWorker Runtime Environment(NRE)がインストールされているシステムでは、通常、次のようになります。
- Linuxの場合/opt/nre/java/latest/
- Windowsの場合:C:\Program Files\NRE\java\jre-###
- パスワードをJAVA storepassに置き換えます。デフォルト値は changeit です。
[root@rhel7 /]# keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 156 entries
emcauthctomcat, 9-Jul-2018, trustedCertEntry,
Certificate fingerprint (SHA1): 01:9B:AF:A4:0D:DA:33:6D:AE:7A:76:8D:84:D5:EB:E2:63:13:0A:0A
...
...
2、b)LDAPSサーバーと一致するエイリアスのリストを確認します(存在しない場合があります)。上記のコマンドでOS grep/findstrコマンドを使用して、検索を絞り込むことができます。LDAPSサーバーから古い/既存のCA証明書がある場合は、次のコマンドを使用して削除します。
keytool -delete -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- ALIAS_NAMEを、2,aの出力から収集されたLDAPSサーバーのエイリアス名に置き換えます。
3、a)OpenSSLツールを使用して、LDAPSサーバーからCA証明書のコピーを取得します。
openssl s_client -showcerts -connect LDAPS_SERVER:636
- デフォルトでは、Windowsホストにはopensslプログラムは含まれません。NetWorkerサーバーにOpenSSLをインストールできない場合は、証明書をLDAPSサーバーから直接エクスポートできます。ただし、OpenSSLユーティリティを使用することを強くお勧めします。
- OpenSSLバイナリ ディレクトリへのパスがOS PATH環境変数の一部でない限り、バイナリの場所からOpenSSLコマンドを実行する必要があります。
- OpenSSLをインストールできず、インストールできない場合は、BASE-64エンコードx.509形式としてエクスポートして、AD管理者に証明書を提供してもらいます。
- LDAPS_SERVERをLDAPSサーバーのホスト名またはIPアドレスに置き換えます。
3,b)上記のコマンドは、CA証明書または証明書チェーンをPEM形式で出力します。例:
-----BEGIN CERTIFICATE-----
MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF
ADBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZFgZlbWNs
...
7NZfi9DiEBhpFmbF8xP96qB/kTJC+29t/0VE8Fvlg87fRhs5BceIoX8nUnetNCdm
m4mGyefXz4TBTwD06opJf4NQIDo=
-----END CERTIFICATE-----
メモ: 証明書のチェーンがある場合、最後の証明書はCA証明書です。CA証明書で終わる順(トップ ダウン)に、チェーン内の各証明書をインポートする必要があります。
3,c)証明書を
---BEGIN CERTIFICATE からコピーし---
---END CERTIFICATE で終わる---新しいファイルに貼り付けます。一連の証明書がある場合は、各証明書でこれを行う必要があります。
4)3,cで作成した証明書をJAVA信頼キーストアにインポートします。
keytool -import -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD -file PATH_TO\CERT_FILE
- ALIAS_NAMEをインポートされた証明書のエイリアスに置き換えます。通常、これはLDAPSサーバー名です。証明書チェーンに対して複数の証明書をインポートする必要がある場合は、各証明書に異なるエイリアス名を付け、別々にインポートする必要があります。また、証明書チェーンは、ステップ3、a(トップ ダウン)で提示された方法から順にインポートする必要があります。
- JAVA_PATHをJAVAインストールへのパスに置き換えます。パス名は、インストールされているJAVAバージョンによって異なります。
- パスワードをJAVA storepassに置き換えます。デフォルト値は changeit です。
- PATH_TO\CERT_FILEを、ステップ3、cで作成した証明書ファイルの場所に置き換えます。
- 証明書のインポートを求めるプロンプトが表示されたら、「 yes 」と入力し、 Enter を押します。
[root@rhel7 /]# keytool -import -alias winsrvr2k16-ca -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit -file /certificates/ca.cer
Owner: CN=WINSRVR2K16.emclab.local
Issuer: CN=emclab-WINSRVR2K16-CA, DC=emclab, DC=local
Serial number: 6e00000008b0927832010583c3000200000008
Valid from: Wed Sep 12 10:02:47 EDT 2018 until: Thu Sep 12 10:02:47 EDT 2019
Certificate fingerprints:
MD5: 08:FB:DE:58:7B:FC:62:C7:31:5D:37:28:2C:54:6D:68
SHA1: 06:72:D0:E9:19:31:8E:F6:2A:3A:47:60:52:91:0F:4F:2B:EB:10:9D
SHA256: AD:0B:2B:2F:FC:B8:9E:ED:48:16:38:04:A7:CA:6B:55:D9:92:88:CD:54:BB:84:C6:4D:5A:28:E2:35:04:B5:C7
...
...
...
Trust this certificate? [no]: yes
Certificate was added to keystore
5)証明書がキーストアに表示されていることを確認します。
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
メモ: オペレーティング システム grep または findstr コマンドを上にパイプ(|)して結果を絞り込みます。
[root@rhel7 /]# keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit | grep -i -A1 "winsrvr2k16*"
winsrvr2k16-ca, 12-Sep-2018, trustedCertEntry,
Certificate fingerprint (SHA1): 06:72:D0:E9:19:31:8E:F6:2A:3A:47:60:52:91:0F:4F:2B:EB:10:9D
6)NetWorkerサーバー サービスを再起動します。
Linuxの場合
nsr_shutdown
サービスNetworkerの開始
Windows:net stop nsrd
net start nsrd
メモ: NetWorkerサーバー サービスが再起動されない場合、authcはcacertsファイルを読み取りません。また、LDAPサーバーとのSSL通信を確立するために必要なインポートされた証明書は検出されません。
7、a)LDAPSを使用するようにauthc-create-ad-config(Active Directory)またはauthc-create-ldap-config(LDAP)スクリプトを更新します。
[Location]:
Linux |
/opt/nsr/authc-server/scripts/ |
Windows |
[INSTALL DRIVE]:\Program Files\EMC NetWorker\nsr\authc-server\scripts\ |
authc_config -u administrator -e update-config \
-D "config-tenant-id=1" \
-D "config-active-directory=y" \
-D "config-name=ad" \
-D "config-domain=emclab" \
-D "config-server-address=ldaps://winsrvr2k16.emclab.local:636/DC=emclab,DC=local" \
-D "config-user-dn=cn=Administrator,cn=Users,dc=emclab,dc=local" \
-D "config-user-dn-password=Pa$$w0rd01" \
-D "config-user-search-path=" \
-D "config-user-id-attr=sAMAccountName" \
-D "config-user-object-class=user" \
-D "config-group-search-path=" \
-D "config-group-name-attr=cn" \
-D "config-group-object-class=group" \
-D "config-group-member-attr=member" \
-D "config-user-search-filter=" \
-D "config-group-search-filter=" \
-D "config-search-subtree=y" \
-D "config-user-group-attr=memberOf" \
-D "config-object-class=objectClass
メモ: 新しい構成を追加する場合は、「-e add-config」を使用する必要があります。既存の構成を更新する場合は、「-e update-config」を使用する必要があります。config-server-address address 行で、プロトコル「ldaps」(小文字にする必要があります)とポート「636」を指定します。
7、b)コマンド ラインからスクリプトを実行します。構成が正常に更新/追加されたことを報告する必要があります。
8)構成が更新されたことを確認します。
authc_config -u Administrator -e find-all-configs
authc_config -u Administrator -e find-config -D config-id=CONFIG_ID
- 各コマンドでNetWorker管理者パスワードを入力するように求められます。コマンドは「-p password」フラグで実行できますが、一部のOSでは、クリア テキスト パスワードが使用されているために失敗する可能性があります。
- CONFIG_IDを、最初のコマンドで収集されたconfig IDに置き換えます。
[root@rhel7 /]# authc_config -u Administrator -e find-config -D config-id=1
Enter password:
Config Id : 1
Config Tenant Id : 1
Config Name : ad
Config Domain : emclab
Config Server Address : ldaps://winsrvr2k16.emclab.local:636/DC=emclab,DC=local
Config User DN : cn=Administrator,cn=Users,dc=emclab,dc=local
Config User Group Attribute : memberOf
Config User ID Attribute : sAMAccountName
Config User Object Class : user
Config User Search Filter :
Config User Search Path :
Config Group Member Attribute: member
Config Group Name Attribute : cn
Config Group Object Class : group
Config Group Search Filter :
Config Group Search Path :
Config Object Class : objectClass
Is Active Directory : true
Config Search Subtree : true
サーバーは現在、LDAPSを介してAD/LDAPで認証しています。
この手順に従うときにエラーや問題が発生した場合は、CA管理者に確認して、正しい証明書が使用/取得されていることを確認してください。
Windows Active DirectoryまたはLinux LDAPのどちらを使用しているか(例: OpenLDAP)LDAPプロトコルが認証に使用されます。LDAP(Lightweight Directory Application Protocol)およびSecure LDAP(LDAPS)は、インフラストラクチャ内のアプリケーションとネットワーク ディレクトリまたはドメイン コントローラー間で使用される接続プロトコルです。
LDAPはクリア テキストで通信を送信し、LDAPS通信は暗号化され、安全です。