HttpClient 누들에서 수동으로 SSL 구성
다음 단계를 수행하십시오.
sm1252sp1kkr
다음 단계를 수행하십시오.
- 인증서를 관리합니다.
- 클라이언트 인증서 인증을 구성합니다.
- server.conf 파일을 구성합니다.
인증서 관리
CA Access Gateway
는 SSL v2/v3 및 TLS(Transport Layer Security) v1 네트워크 프로토콜과 관련 암호화 표준을 구현하는 OpenSSL 암호화 도구 키트를 사용합니다. OpenSSL 도구 키트에는 키 및 인증서 생성을 위한 openssl 명령줄 도구가 포함되어 있습니다. openssl 실행 파일 이미지와 지원 라이브러리는 installation_home\SSL\bin 폴더나 해당하는 UNIX 디렉터리에 있습니다.다음 단계를 수행하십시오.
- 고려 사항을 검토합니다.
- 다음 단계 중 하나를 사용하여 개인 키를 만듭니다.
- FIPS 전용 모드를 위한 개인 키를 생성합니다.
- FIPS 호환성 모드를 위한 개인 키를 생성합니다.
- 다음 단계 중 하나를 수행합니다.
- 인증 서명 요청을 생성하여 인증 기관에 제출하고, 인증 기관에서 인증서를 다운로드하여 설치합니다.
- 자체 서명된 공용 인증서를 생성합니다.
고려 사항 검토
SSL을 구성하기 전에 개인 키와 서버 인증서에 대한 다음 정보를 검토하십시오.
- 서버 인증서와 개인 키는 함께 작동하므로 서버 인증서를 해당 개인 키와 함께 사용하십시오.
- 서버 인증서는 인증 기관(CA)에 의해 디지털 서명되어야 합니다. 내부 데모를 위해 SSL을 활성화하려는 경우 서버 인증서는 자체 개인 키를 사용하여 자체 서명될 수 있습니다.
- SSL.conf 파일의 SSLCertificateFile 및 SSLCertificateKeyFile 지시문은 해당하는 인증서와 키 파일을 가리켜야 합니다.
- 클라이언트 인증서 및 루트 인증서가에 사전순으로 정렬되어 있는지 확인하십시오. 이름을 기준으로 클라이언트 인증서가 루트 인증서 앞에 있어야 하며 두 이름 모두 소문자여야 합니다.AG_installation_path/CA/secureporxy/SSL/clientcerts/certs location예: 클라이언트 인증서 이름이 noodle.cert이면 클라이언트 인증서 이름이 먼저 정렬되도록 루트 인증서 이름을 noodleroot.cert로 지정할 수 있습니다.
개인 키 생성
SSL은 키를 사용하여 메시지를 암호화 및 암호 해독합니다. 키는 공개 키 하나와 개인 키 하나의 쌍으로 이루어집니다.
키에는 다양한 암호화 알고리즘과 키 교환 방법이 사용됩니다. 인증서와 함께 사용하기 위해 개인 키를 생성할 때는 DES(Date Encryption Standard) 암호화 알고리즘을 사용한 RSA 키 교환 방식이 일반적으로 사용됩니다. 키 출력 파일은 암호화된 ASCII PEM 형식을 사용합니다.
FIPS 전용 모드를 위한 개인 키 생성
PKCS#8 형식은 호환되는 암호화 및 해싱 알고리즘을 사용하여 파일을 암호화합니다. 필요한 강력한 암호화에는 3DES 서명과 SHA1 해싱이 사용됩니다.
암호화된 개인 키를 생성하려면 다음 단계를 수행하십시오.
- 명령줄 창을 엽니다.
- 다음 디렉터리로 이동합니다.installation_home\SSL\bininstallation_homeCA Access Gateway가 설치된 디렉터리를 정의합니다.기본값: (Windows) [32 비트] C:\Program Files\CA\secure-proxy기본값: (Windows) [64 비트] C:\CA\secure-proxy기본값: (UNIX/Linux) /opt/CA/secure-proxy
- 다음 명령을 실행하여 암호화되지 않은 키를 생성합니다.openssl genrsa -out unencryptedserver.keynumbits(선택 사항) numbits반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.기본값: 1024범위: 1024 - 2048
- 다음 명령을 실행하여 생성된 키를 암호화하고 파일을 보호할 암호를 입력합니다.
openssl pkcs8 -in unencryptedserver.key -topk8 -outserver.key -v1 PBE-SHA1-3DES
server
서버의 정규화된 도메인 이름을 지정합니다.
암호화되지 않은 개인 키를 생성하려면 다음 단계를 수행하십시오.
- 명령줄 창을 엽니다.
- 다음 디렉터리로 이동합니다.installation_home\SSL\bininstallation_homeCA SiteMinder® SPS가 설치된 디렉터리를 정의합니다.기본값: (Windows) [32 비트] C:\Program Files\CA\secure-proxy기본값: (Windows) [64 비트] C:\CA\secure-proxy기본값: (UNIX/Linux) /opt/CA/secure-proxy
- 다음 명령을 실행합니다.openssl genrsa -out ..\keys\server.keynumbitsserver서버의 정규화된 도메인 이름을 지정합니다.(선택 사항) numbits반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.기본값: 1024범위: 1024 - 2048
개인 암호화되지 않은 서버 키가 생성됩니다.
FIPS 호환성 모드에서 개인 키 생성
이 과정에서는 호환되는 암호화 및 해싱 알고리즘을 사용하여 파일을 암호화합니다. 필요한 강력한 암호화에는 3DES 서명과 MD5 해싱이 사용됩니다.
암호화된 개인 키를 생성하려면 다음 단계를 수행하십시오.
- 명령줄 창을 엽니다.
- 다음 디렉터리로 이동합니다.installation_home\SSL\bininstallation_homeCA SiteMinder® SPS가 설치된 디렉터리를 정의합니다.기본값: (Windows) [32 비트] C:\Program Files\CA\secure-proxy기본값: (Windows) [64 비트] C:\CA\secure-proxy기본값: (UNIX/Linux) /opt/CA/secure-proxy
- 다음 명령을 실행하고 파일을 보호할 암호를 입력합니다.openssl genrsa -des3 -out ..\keys\server.key [numbits]server서버의 정규화된 도메인 이름을 지정합니다.(선택 사항)numbits반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.기본값: 1024범위: 1024 - 2048
암호화되지 않은 개인 키를 생성하려면 다음 단계를 수행하십시오.
- 명령줄 창을 엽니다.
- 다음 디렉터리로 이동합니다.installation_home\SSL\bininstallation_homeCA SiteMinder® SPS가 설치된 디렉터리를 정의합니다.기본값: (Windows) [32 비트] C:\Program Files\CA\secure-proxy기본값: (Windows) [64 비트] C:\CA\secure-proxy기본값: (UNIX/Linux) /opt/CA/secure-proxy
- 다음 명령을 실행합니다.openssl genrsa -out ..\keys\server.key [numbits]server서버의 정규화된 도메인 이름을 지정합니다.(선택 사항)numbits반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.기본값: 1024범위: 1024 - 2048
인증서 서명 요청 생성 및 제출
개인 키를 사용하여 인증서 요청 또는 인증서 서명 요청을 생성하고, 인증서에 서명하기 위해 해당 요청을 인증 기관에 제출하십시오.
다음 단계를 수행하십시오.
- 명령줄 창을 엽니다.
- 다음 명령을 실행합니다.openssl req -config .\openssl.cnf -new -key ..\keys\server.key -out ..\keys\server.csr
- 값을 요청하면 값을 입력합니다.시스템이 인증서 파일 이름과 요청 번호를 사용하여 인증서 요청을 생성합니다.
- (선택 사항) 이후 참조할 수 있도록 파일 이름과 인증서 서명 요청을 기록해 둡니다.
- 인증 기관으로 인증서 서명 요청을 제출합니다.
인증 기관으로부터 인증서를 다운로드하여 설치
인증 기관으로부터 자체 서명된 인증서를 다운로드하십시오.
다음 단계를 수행하십시오.
- 인증서 요청을 생성한CA Access Gateway호스트에 로그인합니다.
- httpd-ssl conf 파일을 엽니다.기본 경로:installation_home\httpd\conf\extra\httpd-ssl.conf
- 서버 키 및 인증서의 지시문이 올바른지 확인합니다.
- SSLPassPhraseDialog 변수의 값을 custom으로 설정합니다.
- SSLCustomPropertiesFile 변수의 값을 <installation_home>\httpd\conf\spsapachessl.properties로 설정합니다.
- 루트 CA에 대한 참조가 설정되었는지 확인합니다.
- 다음 단계를 수행하여 RootCA 또는 자체 서명된 인증서를 ca-bundle.cert에 추가합니다.
- 메모장에서 인증서를 열고 BEGIN부터 END까지의 행을 복사합니다.
- 메모장에서 ca-bundle.cert를 열고 끝에 인증서에서 복사한 줄을 붙여넣습니다.
- 변경 내용을 저장합니다.
자체 서명된 인증서 생성
자체 서명된 인증서를 생성하려면 다음 단계를 수행하십시오.
- 명령줄 창을 엽니다.
- 다음 명령을 실행합니다.openssl req -new -x509 -key server.key -out server.crt -days 365 -config openssl.cnf
- 출력을 다음 위치에 넣으십시오.
installation_home\SSL\certs
클라이언트 인증서 인증 구성
CA Access Gateway
와 백엔드 서버 간의 보안 SSL 연결을 위한 클라이언트 인증서 인증을 설정하십시오. 클라이언트 인증서 인증을 사용하도록 설정하면 CA Access Gateway
는 백엔드 서버에 리소스를 요청할 때 클라이언트 인증서를 사용하여 인증합니다.사전 요구 사항
클라이언트 인증서 인증을 사용하도록
CA Access Gateway
를 구성하려면 먼저 다음 태스크가 완료되었는지 확인하십시오.- 클라이언트 인증서 인증은 사용자 요청을 전달할 웹 서버에서 사용되도록 설정됩니다.
- CA Access Gateway용 클라이언트 인증서는CA Access Gateway설치 시 함께 설치되는 openssl.exe 유틸리티를 사용하여 pkcs8 표준 형식으로 생성됩니다.
- 기존 클라이언트 인증서가 사용되는 경우에는 pkcs8 DER 형식으로 변환됩니다.
- 공용 인증서와CA Access Gateway클라이언트 인증서의 루트 인증서는installation_path\SSL\Clientcert\certs에 있습니다.
- 구성된 웹 서버의 공용 인증서는installation_path\SSL\certs\ca-bundle.cert에 있습니다.
- CA Access Gateway클라이언트 인증서의 공용 인증서는 구성된 웹 서버의 트러스트된 저장소에 있습니다.
클라이언트 인증서 인증 사용
클라이언트 인증서 인증을 사용하도록
CA Access Gateway
를 구성하십시오.다음 단계를 수행하십시오.
- 다음 단계를 수행하여CA Access Gateway클라이언트 인증서의 개인 키 암호를 암호화합니다.
- 명령 프롬프트를 엽니다.
- 다음 위치로 이동합니다.installation_path\SSL\bin location
- 다음 명령을 실행합니다.WindowsEncryptUtil.bat <SPSCertificatePrivateKey_Password>UNIXEncryptUtil.sh <SPSCertificatePrivateKey_Password>암호화된 암호가 표시됩니다.
- server.conf 파일의 sslparams 섹션에서 다음 단계를 수행하여 클라이언트 인증서 인증 상세 정보를 구성합니다.
- ClientKeyFile에 pkcs8 형식의CA Access Gateway클라이언트 인증서 키 파일 이름을 입력합니다.
- ClientPassPhrase에 1 단계에서 생성한 암호화된 암호를 입력합니다.
- 클라이언트 요청을 구성된 웹 서버로 전달하도록 proxyrules.xml 파일을 구성합니다.
- CA Access Gateway를 다시 시작합니다.CA Access Gateway와 백엔드 서버 간에 클라이언트 인증서 인증이 사용되도록 설정되었습니다.
server.conf 파일 구성
server.conf 파일의 <sslparams> 섹션에는 CA SiteMinder® SPS와 대상 서버 간에 SSL(Secure Sockets Layer) 통신이 사용되도록 설정하는 데 필요한 설정이 포함되어 있습니다.
다음 단계를 수행하십시오.
- server.conf 파일을 열고 <sslparams> 섹션으로 이동합니다.
- 다음 매개 변수를 구성합니다.
- versions지원되는 SSL 버전을 결정합니다. 버전을 둘 이상 지정할 경우 값을 쉼표로 구분하십시오.
- ciphers사용하거나 사용하지 않도록 설정할 수 있는 암호화의 목록을 지정합니다. 사용되도록 설정된 암호화 앞에는 + 기호가 옵니다. 사용되지 않도록 설정된 암호화 앞에는 - 기호가 옵니다. 암호화를 둘 이상 지정할 경우 각 항목을 쉼표로 구분하십시오.
- cacertpath트러스트된 인증 기관 정보가 들어 있는 디렉터리의 경로를 지정합니다. 이 경로는 SPS의 설치 경로에 상대적인 경로입니다. 이 값은CA Access Gateway설치 도중 구성 마법사를 실행할 때 구성되며 이 값을 변경하면 안 됩니다.
- cacertfilename인증 기관 인증서 번들이 들어 있는 파일의 정규화된 경로 이름을 지정합니다. 이 파일은 파일 확장명이 .cer 또는 .cert이며 PEM으로 인코딩되어 있어야 합니다. 또한 CA(인증 기관) 번들의 전체 경로도 포함되어야 합니다. 이 값은CA Access Gateway설치 도중 구성 마법사를 실행할 때 구성됩니다.
- ClientKeyFileDER로 인코딩되고 암호로 암호화된 pkcs8 형식의CA Access Gateway클라이언트 인증서 키 파일 이름을 지정합니다. 이 파일이 다음 위치에 있는지 확인하십시오.installation_path/SSL/clientcert/key
- ClientPassPhraseEncryptUtil 도구를 사용하여CA Access Gateway클라이언트 인증서 키 파일에서 키를 추출하는 암호를 지정합니다.
- maxcachetimeCA Access GatewayHTTPS 클라이언트가 다시 사용할 수 있도록 SSL 세션 ID가 캐싱되는 기간(밀리초)을 지정합니다. 사용자가 HTTPS 연결을 통해 파일을 요청하면 SSL 핸드셰이크가 수행되고 SSL 세션 ID가 생성됩니다. 이 SSL 세션 ID는 사용자 세션을 식별하기 위해CA Access Gateway및 백엔드 서버에서 사용됩니다. HTTPS 연결이 사용자에 대해 종료되면CA Access Gateway는 이 매개 변수에서 지정된 최대 기간 동안 SSL 세션 ID를 캐싱합니다.동일한 사용자가 백엔드 서버에 대한 새 HTTPS 연결을 요청할 때는 빠른 응답을 위해 캐시된 SSL 세션 ID를 전송할 수 있습니다. 이 경우 사용자가 제공하는 SSL 세션 ID와 캐시된 SSL 세션 ID가 비교됩니다. 캐시에 사용 가능한 SSL 세션 ID가 있으면 새 HTTPS 연결이 더 빨리 설정됩니다.기본값: 120,000밀리초참고: SSL 통신을 사용하도록 설정하기 전에CA Access Gateway를 설치하는 데 사용된 JDK 위치에 JCE(Java Cryptography Extension) Unlimited Strength Jurisdiction Policy Files를 설치했는지 확인하십시오.
- 변경 내용을 저장합니다.