독립형 색인 검색 서버에 대한 SSL 구성(Solr)
시작하려면 먼저 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
|
Windchill Index Search 클라이언트를 구성합니다.
1. Windchill 셸을 열고 다음 명령을 실행하여 프로토콜을 색인 검색 서버에 연결될 때 색인 검색 클라이언트에서 사용할 HTTPS로 설정합니다.
xconfmanager -s wt.index.solrProtocol=https -t codebase/wt.properties -p
2. Windchill를 다시 시작합니다.
Windchill Index Search 서버를 구성합니다.
1. 인증서(JKS) 파일을 <Index_Search_Home>/solr/server/etc에 복사합니다.
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=secret
set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_TRUST_STORE_PASSWORD=secret
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=secret
SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_TRUST_STORE_PASSWORD=secret
# Require clients to authenticate
SOLR_SSL_NEED_CLIENT_AUTH=false
# Enable clients to authenticate (but not require)
SOLR_SSL_WANT_CLIENT_AUTH=false
여기서 "secret"는 인증서를 작성할 때 제공되는 암호입니다.
Solr 키스토어의 기본 암호를 수정하려는 경우 다음 단계를 수행하여 Solr 서버 시작 문제를 방지합니다.
a. Windows용 solr.in.cmd 또는 Unix용 solr.in.sh에서 암호가 올바른지 확인합니다.
b. <INDEX_SEARCH_HOME>/solr/server/etc/jetty-ssl.xml 파일을 엽니다.
c. 다음 등록 정보 값을 올바른 암호로 업데이트합니다.
<Set name="KeyStorePassword"><Property name="solr.jetty.keystore.password"
default="<enter the correct password>"/></Set>
<Set name="TrustStorePassword"><Property name="solr.jetty.truststore.password"
default="<enter the correct password>"/></Set>
d. jetty-ssl.xml 파일을 저장하고 Solr 서버를 시작합니다.
3. 인증서 파일을 JVM 신뢰 스토어(Windchill의 JDK/JVM만)에 추가합니다.
a. Windchill에서 사용하는 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
입니다.
4. Solr 서버가 비 SSL로 구성되어 있으며 Windchill이 SSL을 사용하도록 구성된 경우 Windchill 외부에서 사용 중인 모든 Java 클라이언트에 연결하는 데 인증서가 필요합니다.
이 때문에, 인증서를 색인 검색 서버에서 사용 중인 JVM으로 가져와야 합니다. 이렇게 하면 Index Search Server가 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
입니다.
|
JVM 키스토어의 기본 암호는 "changeit"입니다.
|
5. Solr 서버와 Windchill 모두 SSL을 사용하도록 구성된 경우, 인증서 파일(pem 또는 pkcs12 형식)을 Solr 서버의 신뢰 저장소에 추가합니다. 기본적으로 jetty는 위 단계에서 만들어진 <Solr Server Home>/solr/server/etc/solr-ssl.keystore.jks의 신뢰 저장소 및 키 저장소를 나타냅니다.
keytool 유틸리티 실행:
keytool -import -file <windchill certificate file in pem or pkcs12 format>
-alias <unique name> -keystore <Solr Server Home>/solr/server/etc/solr-ssl.keystore.jks
예:
keytool -import -file D:\ptc\Windchill\certificates\windchillserver.pem
-alias Key_Alias -keystore D:\SolrWithSSL\SolrServer\solr\server\etc\solr-ssl.keystore.jks
6. Windchill 및 색인 검색 서버를 다시 시작한 다음 Solr 관리 인터페이스로 이동하여 Solr이 SSL과 함께 실행 중인지 확인합니다.
|
solr-ssl.keystore.jks 키 저장소의 기본 암호는 "secret"입니다.
|
|
SSL의 알려진 문제의 경우 다음 사이트를 참조하십시오.
|