웹 응용 프로그램 서버를 위한 SSL 구성
HTTPS(HTTP Secure)는 컴퓨터 네트워크에서 안전한 통신을 위해 사용되는 통신 채널입니다. Servigistics InService에서 HTTPS는 SSL(Secure Sockets Layer)을 사용하여 Servigistics InService 웹 서버와 브라우저 간에 전달된 모든 데이터가 비공개 및 적분인지 확인합니다. SSL은 안전하지 않은 인프라에서 안전한 통신을 제공하기 위해 설계된 암호화 프로토콜입니다. Servigistics InService에서 HTTPS를 지원하려면 신뢰할 수 있는 인증 기관인 타사가 응용 프로그램에 대해 검증한 SSL 인증서를 구성해야 합니다. 기본적으로 응용 프로그램은 SSL을 통해 통신하기 위해 포트 8443을 사용합니다.
타사 인증서(신뢰할 수 있는 인증 기관)를 사용하여 HTTPS 지원
타사 인증서는 신뢰할 수 있는 인증 기관에 의해 검증됩니다. 타사에 의해 검증된 인증서에 .keystore 또는 .jks 파일 확장자가 있는지 확인하십시오.
다음 절차에서 타사 인증서는 *.jks라고 합니다. 이 절차는 모든 설정 구성 유형에 적용됩니다. Publisher 및 Viewer에 대한 구성자 엔티티에서 보안 포트 및 코어 호스트 이름이 올바르게 업데이트되었는지 확인하십시오.
Servigistics InService에서 *.jks 인증서를 사용하려면 다음 단계를 따르십시오. 모놀리식, 분할 및 클러스터 구성의 경우 개별 엔티티에 대해 동일한 단계를 수행해야 합니다. 즉, 분할 및 클러스터 구성의 경우 Publisher 및 해당 Viewer 엔티티 각각에 대해 다음 단계를 수행합니다.
1. 실행 중인 모든 coreServer, coreCMIserver 및 JBoss 서비스를 중지합니다.
2. *.jks 인증서를 <INS_HOME>/InS_SW/SW/system/wildfly/standalone/configuration 위치에 저장합니다.
|
|
• Servigistics InService의 경우 .jks 확장자의 HTTPS 인증서가 있어야 합니다.
• 암호를 알고 있어야 합니다.
• 인증서에 별칭이 있어야 합니다. 예를 들어, jboss입니다. 별칭은 인증서를 생성하는 동안 인증서에서 설정됩니다.
|
3. 웹 및 오프라인 시스템에 대한 security-realm 요소와 관련된 세부 정보를 업데이트합니다(해당되는 경우).
a. 웹 시스템의 경우 <INS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration 디렉토리에 있는 standalone-full-<database-name>.xml 파일을 엽니다.
b. 오프라인 시스템의 경우 <INS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration 디렉토리에 있는 standalone-full.xml을 엽니다.
<security-realm name="SSLRealm>
<server-identities>
<ssl>
<keystore path="*.jks" relative-to="jboss.server.config.dir" keystore-password="<actual_password_value>" alias="<actual alias from certificate>"
key-password="<actual_password_value>"/>
</ssl>
</server-identities>
</security-realm>
각 항목은 다음과 같습니다.
◦ Keystore path: 인증서의 이름입니다.
◦ keystore-password: 인증서 암호입니다.
◦ alias: 인증서의 실제 별칭입니다.
◦ key-password: 인증서 암호입니다.
|
|
오프라인 시스템의 경우 standalone-full-<database-name>.xml 대신 standalone-full.xml을 수정합니다.
|
4. 다음 명령을 실행하여 JAVA 키스토어 인증서인 *.jks 인증서를 CA 인증서로 내보냅니다.
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -exportcert -noprompt
-alias "<actual alias from certificate>"
-keypass "<actual_password_value>" -storepass "<actual_password_value>"
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/<certificate_name>.jks
5. 다음 명령을 실행하여 CA 인증서를 JRE 인증서로 가져옵니다.
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -import -noprompt
-alias "<actual alias from certificate>"
-keypass keypass "<actual_password_value"> -storepass keypass "<actual_password_value">
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <INS_HOME>/InS_SW/SW/System/Java/jre/lib/security/cacerts
6. 분할 및 클러스터 환경의 경우 다음 단계를 수행하여 Publisher 및 Viewer에 대해 새로 생성된 인증서를 가져옵니다.
a. 한 시스템에서 sw/System/WildFly/standalone/configuration 폴더의 인증서를 복사하여 다른 시스템의 동일한 위치로 복사합니다. Publisher 인증서를 Viewer에 복사하고 Viewer 인증서를 Publisher에 복사합니다.
b. importCertificate.bat 파일을 실행하고 매개변수를 Certificate Name으로 전달합니다. SW 폴더에는 .sh 또는 .bat 파일이 포함되어 있습니다. 예: importCertificate.bat <FullCertificateName.crt>.
|
|
와일드카드 인증서를 사용하는 경우 인증서의 교차 가져오기에 대해 이 단계를 건너뛸 수 있습니다.
|
7. coreServer, coreCMIserver 및 JBoss 서비스를 다시 시작합니다.
SSL을 사용하여 Servigistics InService 웹 응용 프로그램에 액세스할 수 있습니다. 예를 들어, https://localhost:8443 URL을 시도해 보십시오.
자체 서명 인증서를 사용하여 HTTPS 지원
자체 서명된 인증서는 신뢰할 수 있는 인증 기관이 아닌 ID가 인증된 동일한 엔티티가 서명한 인증서입니다. 응용 프로그램을 설치하면 해당 응용 프로그램에서 자체 서명된 인증서를 자동으로 생성합니다.
HTTPS를 지원하려면 시스템에 인증서를 추가해야 합니다.
|
|
• PTC는 신뢰할 수 있는 인증서 기관인 타사의 SSL 인증서만 사용할 것을 권장합니다. 자체 서명된 인증서는 테스트 시스템에만 사용하도록 제한되어야 합니다. 방화벽을 사용하는 경우라도 생산 환경에서 자체 서명된 인증서를 사용하지 않는 것이 좋습니다.
• 모놀리식 구성의 경우 응용 프로그램을 설치할 때 인증서가 자동으로 생성됩니다.
• 이러한 단계는 자체 서명 인증서만 생성하고 가져오기 위한 것입니다.
|
1. 한 시스템의 sw/System/WildFly/standalone/configuration 폴더에 있는 인증서를 다른 시스템의 동일한 위치에 복사합니다. Publisher 인증서를 Viewer에 복사하고 Viewer 인증서를 Publisher에 복사합니다.
2. importCertificate.bat 파일을 실행하고 매개 변수를 인증서를 복사한 위치에서 machineName으로 전달합니다. SW 폴더에 다음과 같은 .sh 또는 .bat 파일이 있습니다.
예를 들어, Publisher 시스템에서 SW 폴더로 이동하고 다음 명령을 실행합니다.
◦ Windows:
importCertificate.bat <v1.FullName>
◦ Linux의 경우:
./importCertificate.sh <v1.FullName>
◦ Viewer 1: Windows의 경우:
importCertificate.bat <Publisher.FullName>
, Linux의 경우:
./importCertificate.sh <Publisher.FullName>
| • 오프라인 시스템에 웹 서버의 인증서를 가져옵니다. 오프라인 SSL 구성의 경우 importCertificate.bat <primary_server_Full_host_Name> 명령을 실행합니다. • 전체 이름은 <host_name>.ptcnet.ptc.com과 같은 전체 도메인 이름을 의미합니다. |
클러스터 환경의 경우
분할 환경의 경우
문제 해결
일부 단계가 올바르게 수행되지 않아 인증서를 다시 가져오려면 다음 단계를 수행하십시오.
1. sw\System\Java\JRE\lib\security\cacerts 파일을 삭제하거나 이름을 바꿉니다.
2. inskeystore 및 모든 인증서를 삭제합니다.
3. 시스템 이름을 매개 변수로 사용하는 모든 시스템에서 createkeyStore를 실행합니다.
4. 필요에 따라 인증서를 복사합니다.
5. importKeyStore를 사용하여 모든 시스템에 다른 인증서를 가져옵니다.