OpenSearch 사용자 정의 인증서
- 최종 업데이트2026/01/29
클러스터 설정에서 Control Room을 설치하는 동안, 보안 강화를 위해 제품에서 제공하는 기본 인증서 대신 신뢰할 수 있는 CA(인증 기관)의 사용자 정의 인증서를 업로드할 수 있습니다.
사용자 정의 인증서를 업로드하기 전에 다음 지침과 권장 사항을 검토해야 합니다.
- 설치에 실패하지 않도록 인증서의 유효 기간이 적절한지 확인합니다.
- Windows 및 Linux에서 사용자 정의 인증서 파일의 명명 규칙을 검토하십시오.
파일 예상되는 파일 이름 지정 방식 예상되는 파일 형식 루트(CA 인증서) root-ca-cert.pem .pem 인증서/키(노드 관리용) elasticsearch-cert.pem .pem elasticsearch-key.pem 인증서/키(노드 간 통신용) elasticsearch-node-cert.pem .pem elasticsearch-node-key.pem -
elasticsearch-cert.pem은 관리 목적으로 사용되며, 첫 번째 노드의 호스트 이름을 사용하는 것이 권장됩니다.
elasticsearch-node-cert.pem은 노드 간 통신을 보호하는 데 사용됩니다. 이는 두 번째 또는 세 번째 노드의 호스트 이름을 포함해야 하며, 클러스터 구성원 간 암호화되고 신뢰할 수 있는 통신을 보장합니다.
주:- 중간 인증서가 있는 경우, 이를 루트 인증서로 사용하려면 이름을 root-ca-cert.pem으로 변경하면 됩니다. 그러면 시스템은 이 중간 인증서까지 인증서 체인을 검증한 후, 해당 중간 인증서를 루트 인증서로 인식하게 됩니다.
- .zip 파일에는 인증서, 키, 및 루트 CA 인증서 파일이 포함되어야 합니다.
- 다음 인증서(Windows 및 Linux에 적용)가 루트/중간 CA 인증서에 의해 서명되었는지 확인하십시오.
- elasticsearch-cert.pem
-
elasticsearch-node-cert.pem
주:
- 두 개의 고유한 CA 서명 인증서를 생성해야 합니다.
- 노드 관리자용
- 노드 상호 통신용
- 두 인증서 모두 고유한 일반 이름을 가져야 합니다. 이러한 인증서에는 동일한 일반 이름을 사용할 수 없습니다.
- 전송 계층 TLS 인증서는 해당 인증서의
확장 키 사용섹션에서 클라이언트(TLS 웹 클라이언트 인증)와 서버(TLS 웹 서버 인증) 모두로 구성되어야 합니다. 이는 TLS 인증서를 사용하는 노드가 내부적으로 통신 요청을 주고받는 역할을 모두 수행하기 때문입니다. 인증서에는 서버 및 클라이언트 인증 모두에 대한 확장 키 사용이 포함되어야 합니다. 예를 들어 인증서를 생성할 때 구성 파일을 사용하여extendedKeyUsage = serverAuth, clientAuth를 포함해야 합니다.
- 두 개의 고유한 CA 서명 인증서를 생성해야 합니다.
-
elasticsearch-cert.pem은 관리 목적으로 사용되며, 첫 번째 노드의 호스트 이름을 사용하는 것이 권장됩니다.
- .zip 파일의 인증서가 아래 지침에 따라 Control Room에서 쉽게 접근하고 처리할 수 있도록 합니다.
- 인증서가 암호화되지 않았는지(비밀번호 보호 없음) 확인
- 다섯 개의 필수 인증서 파일만 포함
- 폴더 구조는 .zip 파일 안에 하위 폴더를 포함해서는 안 됩니다.
예시:
- 인증서에는 일반 이름(CN)이 있어야 합니다. CN으로 호스트 이름을 사용하는 것이 좋습니다.
일반적인 사용자 정의 인증서 업로드 오류 디버깅
사용자 정의 인증서 검색이 다음과 같은 이유로 실패할 수 있습니다. 자세한 정보는 temp 폴더의 msi 로그를 확인하십시오. 예: C:\Users\<Username>\AppData\Local\Temp.
| 오류 코드 | 가능한 원인 | 완화 |
|---|---|---|
| java.security.cert.CertificateExpiredException | 인증서가 유효하지 않음 오류입니다. | 인증서가 만료되지 않았는지 확인하고, 인증서 세부 정보에 불일치 사항이 있는지 점검합니다. 문제를 수정한 후 인증서를 다시 업로드합니다. |
| java.Lang.RuntimeException: 오류: 필수 인증서가 존재하지 않습니다 | .zip 폴더 구조가 잘못되었거나 인증서가 누락되었습니다. | 인증서가 .zip 폴더에 올바르게 배치되었는지 확인합니다. |
| 오류: java.lang.RuntimeException: Elasticsearch 루트 인증서는 CA가 아닙니다. | 루트 CA가 노드 인증서와 일치하지 않습니다. | 인증서가 유효한 CA 인증서인지 확인합니다. 문제를 수정하고 인증서를 다시 업로드합니다. |