소개
이 문서에서는 Hyperflex 클러스터의 자체 서명 SSL 인증서를 서드파티 인증서로 교체하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- SSL 인증서에 대한 기본 이해
- Linux 명령줄에 대한 기본 이해
- Hyperflex 클러스터 작업.
사용되는 구성 요소
이 문서의 정보는 다음을 기반으로 합니다.
Hyperflex Data Platform
(HXDP) 5.0.(2a) 이상
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
Cisco HyperFlex 구축에서는 구성 요소 간에 로컬 인증서 집합이 생성되어 신뢰할 수 있는 통신을 허용합니다.
조직에 이미 인증 기관이 있는 경우 기본 SSL 인증서를 자체 인증서로 대체하는 것이 좋습니다.
E이 구성을 시도하기 전에 이러한 요구 사항이 있는지 확인하십시오 :
구성
1단계. openssl.cnf의 복사본 생성
SSH를 관리 사용자로 사용하여 CMIP(Hyperflex Cluster Management IP)에 연결한 다음 진단 사용자로 전환합니다.
HyperFlex StorageController 5.0(2a)
admin @ X.X.X.X's password:
This is a Restricted shell.
Type '?' or 'help' to get the list of allowed commands.
hxshell:~$ su diag
Password:
_____ _ _____ _ ___ ____
| ___(_)_ _____ _ |_ _| |__ _ __ ___ ___ _ / _ \ _ __ ___ / ___| _____ _____ _ __
| |_ | \ \ / / _ \ _| |_ | | | '_ \| '__/ _ \/ _ \ _| |_ | | | | '_ \ / _ \ _____ \___ \ / _ \ \ / / _ \ '_ \
| _| | |\ V / __/ |_ _| | | | | | | | | __/ __/ |_ _| | |_| | | | | __/ |_____| ___) | __/\ V / __/ | | |
|_| |_| \_/ \___| |_| |_| |_| |_|_| \___|\___| |_| \___/|_| |_|\___| |____/ \___| \_/ \___|_| |_|
Enter the output of above expression: 2
Valid captcha
diag#
참고: 5.0(2a) 버전에서는 사용자가 추가 권한을 가질 수 있도록 diag 사용자를 사용할 수 있습니다. 클러스터가 4.5에 있는 경우 Cisco TAC에 문의하여 이 절차를 완료하십시오.
/tmp 폴더에 디렉토리 만들기
이 예에서는 ssl이라는 이름이 지정됩니다.
diag# mkdir /tmp/ssl
디렉터리 권한을 수정합니다.
diag# chmod 777 /tmp/ssl
openssl.cnf의 복사본 생성
이 예에서 openssl.cnf의 복사본은 openssl-san.cnf로 명명됩니다.
diag# cp /etc/ssl/openssl.cnf /tmp/ssl/openssl-san.cnf
diag# ls -l /tmp/ssl/
total 12
-rwxr-xr-x 1 diag diag 10835 Aug 3 21:39 openssl-san.cnf
2단계. openssl-san.cnf 파일 편집
CMIP에서 openssl-san.cnf 내용을 복사하기 위해 로컬 Linux 시스템에 디렉토리를 생성합니다.
Linux 시스템에서 파일의 내용을 편집합니다.
참고: openssl-san.cnf는 SCVM with vi 아래에서 편집할 수 있습니다.
[ req ] 섹션에서 req-extensions 행의 주석 처리를 제거합니다.
행에서 # 기호를 제거합니다.
[ v3_req ] 섹션에 주체 대체 이름(SAN)을 추가합니다.
[ v3_req ] 섹션에 SAN 행을 추가합니다. 모든 SCVM(Storage Controller Virtual Machine) 및 Hyperflex Cluster FQDN(Fully Qualified Domain Name)을 추가해야 합니다.
참고: Chrome은 더 이상 일반 이름 사용을 지원하지 않으므로 인증서에 SAN(주체 대체 이름)이 있어야 합니다.
참고: DNS 서버는 클러스터의 모든 SCVM을 확인해야 합니다.
3단계. 인증서 생성
3a 단계. CSR 생성
Linux 시스템에서 다음 명령을 실행합니다.
openssl req -nodes -newkey rsa:2048 -keyout /
/
.key -out /
/
.csr -config /
/openssl-san.cnf
user$ openssl req -nodes -newkey rsa:2048 -keyout /Users/user/Documents/SpringpathController5NQ1FDLLEH.key -out /Users/user/Documents/SpringpathController5NQ1FDLLEH.csr -config /Users/user/Documents/openssl-san.cnf
Generating a 2048 bit RSA private key
..........................+++++
.....................................................................................................+++++
writing new private key to '/tmp/ssl/SpringpathControllerM7L9J9RO04.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:MX
State or Province Name (full name) [Some-State]:CDMX
Locality Name (eg, city) []:Benito Juarez
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cisco Systems
Organizational Unit Name (eg, section) []:TAC
Common Name (e.g. server FQDN or YOUR name) []:Monterrey.mxsvlab.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:Cisco Systems
명령이 실행된 후 두 개의 파일(.key 및 .csr)이 생성됩니다.
user$ ls -l
total 54
-rw-r--r--@ 1 user staff 1549 Aug 3 14:24 SpringpathControllerM7L9J9RO04.csr
-rw-r--r-- 1 user staff 1704 Aug 3 14:24 SpringpathControllerM7L9J9RO04.key
-rw-r--r-- 1 user staff 11193 Aug 3 14:19 openssl-san.cnf
3b 단계. CA(Certificate Authority)에서 인증서 생성
http://<CA-IP>/certsrv/certrqxt.asp으로 이동합니다.
<Host Name of the CVM>.csr 파일의 내용을 복사하여 CA(Certificate Authority)에 붙여넣습니다.
Certificate template(인증서 템플릿)에서 Web Server(웹 서버)를 선택합니다.
Attributes(특성)에서 다음 형식으로 ALT Names(ALT 이름)를 입력합니다.
san:dns=
&dns=
&dns=
&dns=
Submit(제출)을 클릭하여 인증서를 .cer 파일로 생성합니다
참고: 인증서 유형이 웹 서버이고 Attributes 필드에 대체 이름이 있는지 확인하십시오.
참고: X.509 CSR의 내용은 사용자가 입력합니다. 항목의 내용에 대한 백엔드 검사가 없습니다. 노드의 [multiple] 호스트 이름 또는 IP를 주체 대체 이름으로 지정하거나 와일드카드 문자를 사용하여 일반 이름에 대한 호스트 이름을 지정하는 경우 모든 노드에 대해 단일 인증서를 사용할 수 있습니다
4단계. 인증서를 .cer에서 .crt로 변환
.cer 인증서를 로컬 Linux 시스템에 복사합니다.
로컬 Linux 시스템에서 다음 명령을 실행합니다.
openssl x509 -inform PEM -in certnew.cer -out certnew.crt
user$ openssl x509 -inform PEM -in certnew.cer -out certnew.crt
user$ ls -l
total 56
-rw-r--r--@ 1 user staff 1549 Aug 3 14:24 SpringpathControllerM7L9J9RO04.csr
-rw-r--r-- 1 user staff 1704 Aug 3 14:24 SpringpathControllerM7L9J9RO04.key
-rw-r--r--@ 1 user staff 2380 Aug 3 15:03 certnew.cer
-rw-r--r-- 1 user staff 2342 Aug 3 15:04 certnew.crt
-rw-r--r-- 1 user staff 11193 Aug 3 14:19 openssl-san.cnf
5단계. 인증서를 가져옵니다.
로컬 Linux VM의 .key 및 .crt 파일을 CMIP의 /tmp/ssl에 업로드합니다.
참고: SCP를 사용하여 파일을 SCVM에 복사할 수 있습니다
diag# ls -l
total 20
-rw-r--r-- 1 admin springpath 1704 Aug 3 22:46 SpringpathControllerM7L9J9RO04.key
-rw-r--r-- 1 admin springpath 2342 Aug 3 22:46 certnew.crt
-rwxr-xr-x 1 diag diag 10835 Aug 3 21:39 openssl-san.cnf
이 명령 실행
diag# /usr/share/springpath/storfs-misc/hx-scripts/certificate_import_input.sh
Enter the path for the key: /tmp/ssl/SpringpathControllerM7L9J9RO04.key
Enter the path for the certificate in crt format: /tmp/ssl/certnew.crt
Successfully installed certificate
The cluster needs to be re-registered with vCenter for the certificate import to be completed.
Do you want to continue with re-registration? (y/n): y
Enter vCenter username (user@domain): administrator @ vsphere.local
Enter vCenter Password:
Trying to retrieve vCenter information ....
Cluster re-registration in progress ....
Cluster re-registered successfully with vCenter !!
참고: vCenter 재등록이 필요합니다. 관리자 자격 증명을 제출합니다.
다음을 확인합니다.
인증서를 가져온 후 보안 연결이 설정되었는지 확인합니다.
문제 해결
IP를 사용하는 인증서가 유효하지 않습니다.
인증서가 FQDN으로 생성되므로 SCVM IP를 사용할 때 보안 연결이 없습니다.
FQDN을 사용하는 경우 보안 연결이 설정되어 있습니다.
관련 정보