ME4: Active Directory Certificate Services를 사용하여 맞춤형 보안 인증서 생성
Summary: 이 지침은 OpenSSL 및 ADCS(Active Directory Certificate Services)를 사용하여 각 컨트롤러마다 하나씩 두 개의 맞춤형 SSL 인증서를 생성하는 방법을 보여줍니다. 인증서는 두 ME4 컨트롤러 모두에 대한 공통 FQDN(Fully Qualified Domain Name)과 각 개별 컨트롤러의 FQDN 시스템 이름 모두에서 작동합니다. ...
Instructions
-
도메인용 Active Directory Certificate Services를 설치하고 서비스 구성
-
각 ME4 컨트롤러의 IP, DNS(Domain Name System) 서버 IP, 검색 도메인 및 시스템 이름을 기록합니다
-
OpenSSL
-
ME4에서 사용하는 DNS 서버와 AD 도메인에서 라운드 로빈 DNS를 지원하는지 확인
이 문서에서는 ME4에 대해 다음 FQDN DNS 이름이 사용됩니다. 모든 이름이 가능하며 다음은 예시 이름입니다. 도메인 이름 및 기본 이름으로 바꿉니다.
-
일반 이름: me4.mscerttest.com
-
컨트롤러 A 이름: me4-a.mscerttest.com
-
컨트롤러 B 이름: me4-b.msccerttest.com
AD 둘 다 CS(인증서 서비스)와 ME4는 동일한 DNS 서버를 사용해야 합니다. 두 컨트롤러 모두에 대해 일반 FQDN 이름을 사용하려면 DNS 서버에서 라운드 로빈 DNS를 지원해야 합니다. 기본적으로 Microsoft DNS는 라운드 로빈 DNS를 지원합니다. 이 예에서 DNS 서버 IP는 10.240.225.174입니다.
DNS 서버에서 다음 A 레코드를 만듭니다. 이 예에서 A 컨트롤러의 IP는 10.240.225.6이고 B 컨트롤러의 IP는 10.240.225.7입니다. 사용자 환경의 경우 해당 도메인 이름과 IP를 사용합니다.
-
IP 10.240.225.6을 사용하여 me4.mscerttest.com에 대한 A 레코드 생성
-
IP 10.240.225.7을 사용하여 me4.mscerttest.com에 대한 A 레코드 생성
-
IP 10.240.225.6을 사용하여 me4-a.mscertest.com에 대한 A 레코드 생성
-
IP 10.240.225.7을 사용하여 me4-b.mscerttest.com에 대한 A 레코드 생성
nslookup을 통해 일반 FQDN(me4.mscerttest.com)에서 라운드 로빈 DNS를 확인하기 위해 두 컨트롤러의 IP 주소를 모두 반환하는지 검토합니다.
C:\Users\Administrator>nslookup
기본 서버: localhost
주소: 127.0.0.1
> me4.mscerttest.com
서버: localhost
주소: 127.0.0.1
이름: me4.mscerttest.com
주소: 10.240.225.7
10.240.225.6
ME4에서 사용하는 시스템 이름, 도메인 이름 및 DNS 서버는 AD CS에서 사용하는 것과 일치해야 합니다.
ME4 UI를 열고 작업 -> 시스템 설정을 선택합니다. Network 탭으로 이동합니다.
-
IP 페이지에서 A 및 B 컨트롤러의 IP를 확인하고 DNS에서 A 레코드 설정을 확인합니다.

-
DNS 페이지에서 다음을 확인합니다.
-
각 컨트롤러의 검색 도메인은 AD CS 도메인과 일치합니다.
-
각 컨트롤러의 호스트 이름은 개별 컨트롤러 A 레코드에 적용된 DNS 이름과 일치합니다.
-
DNS 서버는 ADC에서 사용하는 DNS와 동일합니다.

그런 다음 텍스트 편집기를 사용하여 두 개의 구성 파일을 만듭니다. 이러한 파일은 OpenSSL에서 컨트롤러에 대한 인증서 요청 파일을 생성하는 데 사용됩니다. A 컨트롤러용 파일과 B 컨트롤러용 파일 두 개가 있습니다. 예제는 A 및 B 컨트롤러에 대한 환경을 기반으로 Related 탭에 첨부되어 있습니다.
이러한 파일의 내용은 텍스트 편집기에서 다음과 같이 표시됩니다.
[ req ]default_bits = 2048distinguished_name = req_distinguished_namereq_extensions = req_extprompt = no
[ req_distinguished_name ]countryName = USstateOrProvinceName = New HampshirelocalityName = NashuaorganizationName = DellorganizationalUnitName = ITcommonName = me4-a.mscerttest.com
[ req_ext ]subjectAltName = @alt_names[alt_names]DNS.1 = me4.mscerttest.comDNS.2 = me4-a.mscerttest.com
각 컨트롤러 구성 파일(ME4-A용 1개, ME4-B용 1개)에서 다음 필드를 수정하여 이름과 도메인을 일치시킵니다.
-
commonName과 alt_names 모두에서 일반 이름 및 컨트롤러 이름은 해당 컨트롤러의 환경과 일치해야 합니다.
-
키 크기로 2048이 아닌 다른 크기를 사용하는 경우 default_bits로 해당 정보를 변경합니다.
-
countryName, stateOrProvinceName, localityName, organizationName, 및 organizationalUnitName은 회사 정보와 일치해야 합니다.
완료되면 환경에 필요한 이름과 구성이 포함된 두 개의 텍스트 파일(ME4-A.cnf 및 ME4-B.cnf)이 있어야 합니다.
ME4는 외장형 스토리지이므로 OpenSSL을 통해 인증서 요청을 생성하여 ADCS에 제공해야 합니다. 첫 번째 단계는 시스템에 OpenSSL이 아직 설치되지 않은 경우 이를 설치하는 것입니다. 이 프로세스의 경우 편의를 위해 Windows 버전이 ADCS에 설치되었습니다. OpenSSL은 Linux 서버 또는 일부 다른 Windows 서버에 있을 수 있으며 여전히 인증서 요청을 생성할 수 있습니다.
OpenSSL의 Windows 버전은 @ https://slproweb.com/products/Win32OpenSSL.html 다운로드할 수 있습니다.
64비트 OpenSSL 정식 버전을 선택하고 설치합니다.
설치가 완료되면 Windows 시작 버튼을 누르고 프로그램 목록에서 OpenSSL로 이동합니다. Win64 OpenSSL 명령 프롬프트에 대한 아이콘이 아래쪽에 있습니다. 이 아이콘을 클릭하면 OpenSSL을 실행하기 위한 모든 적절한 설정 명령이 있는 DOS 명령 창이 열립니다. 다음 섹션의 명령 프롬프트를 사용합니다.

구성 파일 및 OpenSSL을 사용하여 인증서 요청 파일 생성
Win64 OpenSSL 명령 프롬프트 창을 시작합니다. 프롬프트가 열리면 ME4-A.cnf 및 ME4-B.cnf 파일이 있는 디렉토리로 변경합니다(cd). 아래 단계는 ME4-A 파일에 대해 한 번, ME4-B 파일에 대해 한 번, 총 두 번 완료해야 합니다.
A 컨트롤러 인증서 요청의 경우 ME4-A.cnf 파일을 사용합니다. 아래 명령은 A 컨트롤러에 대한 개인 키 파일 및 인증서 요청 파일을 생성합니다.
openssl req -out ME4-A.csr -newkey rsa:2048 -nodes -keyout ME4-A.key -config ME4.cnf
명령이 완료되면 "ME4-A.csr"(A에 대한 인증서 요청 파일) 및 "ME4-A.key"(A의 개인 키 파일)입니다.
명령줄에서 ME4-A를 ME4-B로 대체하여 B 컨트롤러에 대해 이 작업을 반복합니다. 단계가 완료되면 두 인증서를 생성하는 데 4개의 파일이 필요합니다.
-
ME4-A.csr -
ME4-A.key -
ME4-B.csr -
ME4-B.key
이러한 파일을 AD CS 서버에 복사하여 인증서 생성을 준비합니다.
".key" 및 ".csr" 파일을 ADCS 서버의 디렉터리에 추가합니다. ADCS 서버에서 DOS 명령 프롬프트를 엽니다. 명령 프롬프트에서 해당 파일이 있는 디렉토리로 "변경"(cd)합니다. 이 예에서는 표준 ADCS 템플릿 웹 서버를 템플릿으로 사용합니다. 웹 서버 템플릿에 있는 것과 다른 매개 변수가 필요한 경우 고유한 템플릿을 만들고 아래 명령에서 참조합니다.
다음 명령을 실행하여 A 컨트롤러용 인증서를 생성합니다.
certreq -submit -attrib "CertificateTemplate:WebServer" ME4-A.csr ME4-A.cer
이 예에서는 ADCS 서버를 사용하므로 명령줄에서 ADCS를 정의하기 위해 -config DOMAINCA\CA1 옵션을 추가할 필요가 없습니다. 화면에 ADCS를 표시하는 대화 상자가 표시되고 ADCS 서버에서 명령을 실행할 때 선택할 수 있습니다.

명령이 완료되면 명령줄 출력에 요청 ID가 표시됩니다. ME4-A.cer 파일은 해당 디렉토리에도 생성되는 필수 인증서입니다.
C:\Users\Administrator\Downloads\ME4Certs>certreq -submit -attrib "CertificateTemplate:WebServer" ME4-A.csr ME4-A.cerActive Directory Enrollment Policy {0CCDC8D2-7840-40BE-819F-A7EA9535C5D6} ldap:RequestId: 19RequestId: "19"Certificate retrieved(Issued) Issued
표시된 요청 ID는 19이며 이제 AD 인증 기관에 대한 MMC의 Issued Certificates 아래에서 유효한 인증서인 것을 확인할 수 있습니다.

인증서의 매개변수를 보려면 요청 ID를 오른쪽 클릭하고 Open을 선택합니다.

인증서 주체가 구성 파일에서 대체 이름을 사용하기 때문에 이 인증서는 일반 이름(me4.mscerttest.com)과 컨트롤러 이름(me4-a.mscerttest.com)에 모두 유효합니다.
명령줄에서 ME4-A를 ME4-B로 대체하여 B 컨트롤러에 대해 이 작업을 반복합니다. 이렇게 하면 A 인증서와 B 인증서가 서로 다른 두 개의 인증서이므로 이 인증서에 대한 다른 요청 ID가 생성됩니다.
이 작업이 완료되면 디렉터리에 두 개의 인증서 파일이 있어야 합니다. 이러한 파일 및 관련 ".key" 파일은 ME4 A 및 B 컨트롤러에 업로드되는 것입니다. ADCS로 생성된 A 및 B .cer 파일과 A 및 B "를 복사합니다..key" 다음 단계를 위해 OpenSSL에서 생성된 파일을 공통 디렉토리로 보냅니다.
-
ME4-A.cer -
ME4-A.key -
ME4-B.cer -
ME4-B.key
FTP를 사용하여 A 인증서 및 A 키 파일을 A 컨트롤러로 전송하고 B 인증서 및 키 파일에 대해 동일한 작업을 수행합니다. 그런 다음 두 컨트롤러 모두에서 관리 서비스를 재부팅하여 인증서를 활성화합니다.
이 업로드는 다른 Dell 지원 문서 PowerVault ME4: 사용자 지정 인증서
설치 및 제거이 업로드에는 해당 문서와 두 가지 차이점이 있습니다.
-
해당 문서에서 업로드할 파일의 이름은 "
.pem"-
파일 확장자를 변경할 필요가 없습니다."
.cer" 및 ".key" 업로드 시 그대로 사용할 수 있습니다.
-
-
ME4가 AD CS 인증 기관에 연락하여 인증서를 확인하는 방법을 모르기 때문에 FTP 업로드가 끝날 때 오류가 발생합니다. 인증서가 올바르게 업로드되었으며 유효하므로 오류를 무시해도 됩니다. 오류는 다음과 같습니다.
Verifying uploaded certificate and key.ERROR: cert verify FAILED. <C = US, ST = New Hampshire, L = Nashua, O = Dell, OU = IT, CN = me4-a.mscerttest.comerror 20 at 0 depth lookup: unable to get local issuer certificateerror /mnt/ramdisk/apphome/cert-file.pending: verification failed>Warning: The uploaded SSL certificate did not pass openssl validation.
인증서에 SSL 오류가
없는지 확인마지막 단계는 다음과 같습니다.
-
브라우저를 엽니다.
-
일반 이름에 대한 https 연결을 생성합니다.
-
A 및 B 컨트롤러 FQDN 모두에 대한 https 연결을 생성합니다.
-
SSL 오류가 발생하지 않는지 확인합니다.
참고: 일반 이름을 사용하는 경우 기본적으로 컨트롤러 중 하나로 반복해서 이동합니다. 일반 이름이 다른 컨트롤러에 연결되어 있는지 확인합니다. 이 작업은 일반 이름을 사용하는 컨트롤러에서 관리 서비스를 다시 시작하여 수행할 수 있습니다. 이제 일반 FQDN의 다른 컨트롤러에 연결되는지 확인합니다.
