Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

NetWorker: authc_config 스크립트를 사용하여 LDAPS 인증을 구성하는 방법

Summary: NetWorker의 authc_config 스크립트를 사용하여 LDAPS를 통한 AD/LDAP 인증을 구성하는 일반적인 개요입니다. 기존 LDAP 구성을 LDAPS로 업그레이드/변환할 때도 사용할 수 있습니다.

This article applies to   This article does not apply to 

Instructions

이 KB는 주로 LDAPS를 구성하는 데 필요한 사항에 중점을 둡니다. AD/LDAP를 NetWorker와 통합하는 데 필요한 사항에 대한 자세한 설명은 다음과 같습니다. NetWorker: AD/LDAP 인증을 설정하는 방법

참고: 외부 권한은 NetWorker Management Console 및 NWUI(NetWorker Web User Interface)에서 구성할 수 있습니다. 그러나 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 User Interface)에서 "AD over SSL"(LDAPS)을 구성하는 방법

AD/LDAP 구성이 먼저 LDAP를 통해 작동하도록 한 다음 잠재적인 구성 문제를 배제하기 위해 LDAPS로 변환하는 것이 좋습니다.

LDAPS를 사용하려면 LDAPS 서버에서 CA 인증서(또는 인증서 체인)를 JAVA 신뢰 키 저장소로 가져와야 합니다. 이 작업은 다음 절차를 통해 수행할 수 있습니다.
1) 관리자/루트 명령 프롬프트를 엽니다.

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 버전에 따라 다릅니다.
    • NRE(NetWorker Runtime Environment)가 설치된 시스템에서는 일반적으로 다음과 같습니다.
      • 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
  • 출력에서 수집된 LDAPS 서버의 별칭 이름으로 ALIAS_NAME 2,a.

3,a) OpenSSL 툴을 사용하여 LDAPS 서버에서 CA 인증서의 사본을 가져옵니다.
openssl s_client -showcerts -connect LDAPS_SERVER:636
  • 기본적으로 Windows 호스트에는 opensl 프로그램이 포함되지 않습니다. NetWorker 서버에 OpenSSL을 설치할 수 없는 경우 인증서를 LDAPS 서버에서 직접 내보낼 수 있습니다. 그러나 OpenSSL 유틸리티를 사용하는 것이 좋습니다.
  • OpenSSL 바이너리 디렉토리에 대한 경로가 OS PATH 환경 변수의 일부인 경우가 아니면 해당 바이너리 위치에서 OpenSSL 명령을 실행해야 합니다.
  • OpenSSL이 없고 설치할 수 없는 경우 AD 관리자가 인증서를 Base-64 인코딩 x.509 형식으로 내보냄으로써 인증서를 제공합니다.
  • 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 인증서--- 부터 ---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 서버 이름입니다. 인증서 체인에 대해 여러 인증서를 가져와야 하는 경우 각 인증서에 다른 ALIAS 이름이 있어야 하며 별도로 가져와야 합니다. 또한 인증서 체인을 3단계(하향)에 제시된 방식에서 순서대로 가져와야 합니다.
  • JAVA_PATH JAVA 설치 경로로 교체합니다. 경로 이름은 설치된 JAVA 버전에 따라 다릅니다.
  • 암호를 JAVA storepass로 교체합니다. 기본값은 changeit입니다.
  • PATH_TO\CERT_FILE 3단계에서 생성한 인증서 파일의 위치로 교체합니다.
  • 인증서를 가져오고 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
      서비스 네트워킹 시작
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 행에서 프로토콜 "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 Administrator 암호를 입력하라는 메시지가 표시됩니다. "-p password" 플래그로 명령을 실행할 수 있지만 지우기 텍스트 암호가 사용 중이기 때문에 일부 OS에서 이 명령이 실패할 수 있습니다.
  • CONFIG_ID 첫 번째 명령으로 수집된 구성 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 관리자에게 올바른 인증서를 사용/가져오는지 확인하십시오.

Additional Information

Windows Active Directory 또는 Linux LDAP를 사용하는 경우(예: OpenLDAP) LDAP 프로토콜이 인증에 사용됩니다. LDAP(Lightweight Directory Application Protocol) 및 LDAPS(Secure LDAP)는 애플리케이션과 인프라스트럭처 내의 네트워크 디렉토리 또는 도메인 컨트롤러 간에 사용되는 연결 프로토콜입니다.

LDAP는 지우기 텍스트로 통신을 전송하고 LDAPS 통신은 암호화되고 안전합니다.

Affected Products

NetWorker

Products

NetWorker