클라우드 색인 검색 서버(Solr)에 대한 SSL 구성
시작하려면 먼저 PEM 형식으로 변환된 인증서 및 키를 단일 파일로 가지고 있어야 합니다.
* 
인증서 전용 파일이 없는 경우 선택적으로 인증서 및 키 파일에서 해당 파일을 생성할 수 있습니다.
1. 키 도구 유틸리티를 사용하여 JKS 키 저장소를 PKCS12 형식으로 변환합니다.
keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12
2. openssl 명령을 사용하여 키가 아닌 인증서만 포함하는 PKCS12 형식의 키 저장소를 PEM 형식으로 변환합니다.
openssl pkcs12 -nokeys -in solr-ssl.keystore.p12 -out solr-ssl.cacert.pem
3. 신뢰 저장소와 키 저장소가 PKCS12 형식일 경우 p12 파일 경로와 함께 SOLR_SSL_KEY_STORESOLR_SSL_TRUST_STORE를 설정하여 p12 파일을 사용합니다.
4. 신뢰 저장소와 키 저장소가 JKS 형식일 경우 jks 파일 경로와 함께 SOLR_SSL_KEY_STORESOLR_SSL_TRUST_STORE를 설정하여 jks 파일을 사용하고 SOLR_SSL_KEY_STORE_TYPESOLR_SSL_TRUST_STORE_TYPEJKS로 설정합니다.
* 
Solr 9.0.0부터 Windchill이 SSL로 구성된 경우 Solr은 SSL로 구성해야 합니다.
Solr에 대한 SSL 구성
Solr을 실행 중인 모든 노드에 대해 Windchill Index Search 서버를 구성합니다. 모든 노드에 대해 동일한 인증서 및 키 파일을 사용합니다.
1. 인증서(jks 또는 pkcs12) 파일을 <Index_Search_Home>/solr/server/etc에 복사합니다.
클러스터된 설정에 여러 Solr 서버가 배포된 경우, 아래 예에서 설명한 대로 Solr을 실행하는 각 노드에 있는 모든 Solr 서버의 키 저장소 파일을 가져와야 합니다.
Solr 서버
시스템
가져올 키 저장소 파일
가져오기 명령 예
SolrServerA
Node1
SolrServerB 및 SolrServerC의 키 저장소 파일을 가져옵니다.
keytool -importkeystore -srckeystore SolrServerB.jks -destkeystore SolrServerA.jks -srcstoretype JKS -deststoretype JKS
keytool -importkeystore -srckeystore SolrServerC.jks -destkeystore SolrServerA.jks -srcstoretype JKS -deststoretype JKS
SolrServerB
Node2
SolrServerA 및 SolrServerC의 키 저장소 파일을 가져옵니다.
keytool -importkeystore -srckeystore SolrServerA.jks -destkeystore SolrServerB.jks -srcstoretype JKS -deststoretype JKS
keytool -importkeystore -srckeystore SolrServerC.jks -destkeystore SolrServerB.jks -srcstoretype JKS -deststoretype JKS
SolrServerC
Node3
SolrServerA 및 SolrServerB의 키 저장소 파일을 가져옵니다.
keytool -importkeystore -srckeystore SolrServerA.jks -destkeystore SolrServerC.jks -srcstoretype JKS -deststoretype JKS
keytool -importkeystore -srckeystore SolrServerB.jks -destkeystore SolrServerC.jks -srcstoretype JKS -deststoretype JKS
2. 공통 SSL 관련 시스템 등록 정보를 설정합니다.
SSL 설정을 활성화하려면 다음 파일에서 SOLR_SSL_*부터 등록 정보 세트의 설명을 제거하고 업데이트합니다.
Windows: bin\solr.in.cmd
예:
set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_KEY_STORE_PASSWORD=<password>
set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_TRUST_STORE_PASSWORD=<password>
REM Require clients to authenticate
set SOLR_SSL_NEED_CLIENT_AUTH=false
REM Enable clients to authenticate (but not require)
set SOLR_SSL_WANT_CLIENT_AUTH=false
Unix: bin/solr.in.sh
예:
bin/solr.in.sh example SOLR_SSL_* configuration
SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_KEY_STORE_PASSWORD=<password>
SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_TRUST_STORE_PASSWORD=<password>
# Require clients to authenticate
SOLR_SSL_NEED_CLIENT_AUTH=false
# Enable clients to authenticate (but not require)
SOLR_SSL_WANT_CLIENT_AUTH=false
여기서 <password>는 인증서를 작성할 때 제공되는 암호입니다.
3. Windchill 셸을 열고 다음 명령을 실행하여 프로토콜을 색인 검색 서버에 연결될 때 색인 검색 클라이언트에서 사용할 HTTPS로 설정합니다.
xconfmanager -s wt.index.solrProtocol=https -t codebase/wt.properties -p
4. SSL을 사용하도록 Windchill이 구성된 경우 Windchill 외부에서 사용 중인 모든 Java 클라이언트에 연결하는 데 인증서가 필요합니다.
결과적으로 인증서를 Solr 클라우드의 Solr 노드에서 사용 중인 JVM으로 가져와야 합니다. 이렇게 하면 Solr 노드가 Windchill에 연결하고 색인을 위한 문서를 다운로드할 수 있습니다.
인증서 파일을 JVM 신뢰 스토어(Solr 노드의 JDK/JVM)에 추가합니다.
a. Solr 노드에서 사용하는 Java 위치로 이동하여 <JAVA_HOME>/lib/security 아래에 있는 cacerts 파일의 경로를 확인합니다.
b. <JAVA_HOME>/bin으로 이동하여 새 인증서를 가져옵니다. cacerts에 쓸 수 있는 권한을 가진 사용자로 다음 키 도구 유틸리티를 실행합니다.
keytool -import -file <인증서 파일> -alias <고유 이름> -keystore <cacerts 파일 경로>
예를 들어,
keytool -import -file D:\SolrWithSSL\solr-5.4.1\server\etc\solr-ssl.cacert.pem -alias Key_Alias -keystore ../lib/security/cacerts
입니다.
5. Windchill를 다시 시작합니다.
Zookeeper에 대한 SSL 구성
1. Solr 노드를 시작하기 전에 urlScheme 클러스터 전체 등록 정보를 https로 설정해야 합니다.
명령 프롬프트를 열고 <INDEX_SEARCH_HOME>/solr/server/scripts/cloud-scripts로 이동하고 다음 명령을 실행합니다.
Windows:
zkcli.bat -zkhost <Zookeeper 호스트 이름:포트 엔트리의 쉼표로 구분된 목록> -cmd clusterprop -name urlScheme -val https
예:
zkcli.bat -zkhost host1.ptcnet.ptc.com:2181,host2.ptcnet.ptc.com:2182,host3.ptcnet.ptc.com:2183 -cmd clusterprop -name urlScheme -val https
Unix:
sh zkcli.sh -zkhost <Zookeeper 호스트 이름:포트 엔트리의 쉼표로 구분된 목록> -cmd clusterprop -name urlScheme -val https
예:
sh zkcli.sh -zkhost host1.ptcnet.ptc.com:2181,host2.ptcnet.ptc.com:2182,host3.ptcnet.ptc.com:2183 -cmd clusterprop -name urlScheme -val https
* 
Zookeeper 노드를 다시 시작할 때마다 urlScheme 명령을 실행해야 합니다.
2. Solr 클라우드(Zookeeper 노드 및 Solr 노드)를 다시 시작한 다음 Solr 관리 인터페이스로 이동하여 Solr이 SSL과 함께 실행 중인지 확인합니다.
* 
기본적으로 Solr에는 암호화 제품군에 대한 구성이 포함되어 있지 않으며 Jetty에서 제공하는 기본 암호화 제품군을 사용합니다. 자세한 내용은 적용 가능한 Jetty: The Definitive Reference(eclipse.dev)를 참조하십시오. 보안 암호화 제품군 사용에 대한 지침은 내부 보안 요구 사항 및 보안 정책을 참조하는 것이 좋습니다.
도움이 되셨나요?