캐싱 프록시의 SSL(Secure Sockets Layer)
SSL(Secure Sockets Layer)은 인터넷을 통해 전송하기 전에 정보를 자동으로 암호화하고, 사용하기 전에 상대편에서 암호 해독하기 위한 시스템입니다. 이 시스템은 인터넷을 통해 전송되는 동안 신용카드와 같은 민감한 정보를 보호합니다.
캐싱 프록시는 SSL을 사용하여 대리 서버를 보호하고 안전한 원격 관리를 제공합니다. 자세한 내용은 다음 섹션에서 설명합니다. SSL은 백엔드 서버와의 연결을 보호하는 데 사용될 뿐만 아니라(예: 컨텐츠 서버 또는 Application Server), 프록시 서버와 클라이언트 간의 통신도 보호할 수 있습니다.
포워드 프록시의 경우, 캐싱 프록시는 SSL 터널링을 지원하여 SSL을 우회하고 이미 암호화된 데이터를 변경하지 않은 상태로 전달합니다.
SSL 핸드쉐이크
SSL 보호는 보안 연결 요청이 하나의 시스템에서 다른 시스템으로 전송될 때
초기화됩니다. 예를 들어, 브라우저가 대리 프록시 서버에 요청을 전송할 때입니다. 요청 구문
https://(http:// 대신)은 포트 443에서 요청을
전송하도록 브라우저에 요청하고, 이는 서버가 보안 연결 요청(루틴 요청을 위한 포트 80 대신)을
듣는 위치입니다. 브라우저와 서버 사이에 보안 세션을 설정하려면
두 개의 시스템이 암호 스펙에 동의하고 정보를 암호화하고 복호화하기 사용되는 키를 선택하도록 SSL 핸드쉐이크로 불리는
교환을 수행합니다. 키는 자동으로
생성되며 세션이 종료할 때 유효기간이 끝납니다.
- 클라이언트 준비
클라이언트는 자신의 암호화 기능을 설명하는 클라이언트 헬로 메시지를 전송하여 캐싱 프록시와 SSL 세션을 시작합니다.
- 서버 준비
서버는 클라이언트에 인증서를 전송하고 데이터 암호화에 사용할 암호 모음을 선택합니다.
- 클라이언트 종료
클라이언트는 암호화된 데이터에 대해 대응하는 암호화 키를 작성하는 데 사용되는 암호 키 정보를 전송합니다. 이 핵심 자료는 프리마스터 시크릿(premaster secret)으로 알려져 있으며, 서버의 공개 키(서버 인증서에서 획득; ( 키 및 인증서 관리 ) 참조)로 암호화됩니다. 서버와 클라이언트 모두 읽기 및 쓰기 대칭 암호화 키를 프리마스터 시크릿에서 끌어낼 수 있습니다.
- 서버 종료
서버는 전체 핸드쉐이크 프로토콜에 대한 최종 확인 및 MAC(메시지 인증 코드)를 전송합니다.
- 클라이언트 유효화
클라이언트는 서버 종료 메시지를 유효화하는 메시지를 전송합니다.
- 데이터 흐름 보안
클라이언트가 서버 종료 메시지를 유효화하면, 암호화된 데이터 흐름이 시작됩니다.
보안 연결의 종단점으로 캐싱 프록시를 사용하면 콘텐츠 또는 애플리케이션 서버의 부하를 줄일 수 있습니다. 캐싱 프록시가 보안 연결을 유지할 때, 암호화, 복호화 및 키 생성을 수행하며, 이 모든 작업은 CPU 집약적 작업입니다. 캐싱 프록시는 각 키의 사용을 극대화하기 위해 SSL 세션 시간 초과를 구성할 수도 있습니다.
SSL 한계
- 캐싱 프록시 자체는 인증 기관으로 사용할 수 없습니다( 키 및 인증서 관리 참조).
- 일부 브라우저는 캐싱 프록시에서 사용되는 모든 암호화 기술을 지원하지 않을 수 있습니다.
- SUSE Linux® 는 SSL 터널링만 지원합니다(일반 SSL 아님; ( SSL 터널링 ) 참조).
SSL 성능 조정
높은 HTTPS 통신량으로, Caching Proxy 서버는 높은 CPU 사용을 발생시킵니다. 환경 변수(GSK_V3_SIDCACHE_SIZE) 및 프록시 지시문(SSLV3Timeout)을 조정하면, 프록시 서버가 로드를 핸들하고 CPU 사용을 줄일 수 있습니다.
SSL 세션 ID는 브라우저 및 서버에서 사용되는 암호화 또는 복호화 키를 포함하여 재사용 가능한 SSL 세션을 식별하고, 새 연결 시 발생하는 불필요한 SSL 핸드쉐이크를 피하기 위해 사용하는데 이는 서버에서 CPU 시간을 많이 소비하기 때문입니다. IBM 의 Global Security Kit (GSKit) 라이브러리는 캐싱 프록시 서버용으로 SSL 세션 ID를 지원하며 SSL 세션 ID 캐시를 포함합니다. 기본적으로, SSL 세션 ID 캐시는 512 항목을 포함하고 있습니다. 항목 한계에 도달하는 경우, 가장 오래된 세션 항목이 제거되고, 새 항목이 캐시에 추가됩니다.
GSK_V3_SIDCACHE_SIZE 환경 변수를 사용하여 SSL 세션 ID 캐시의 기본 크기를 변경하십시오. 변수의 유효한 값은 1 - 4096입니다. 크기를 늘리면 캐시된 SSL 세션을 찾는 데 필요한 찾아보기 시간이 늘어납니다. 그러나 증가된 검색 시간은 SSL 연결을 설정하는 데 필요한 오버헤드와 비교하여 대수롭지 않습니다. 캐시 크기를 늘리면, 프록시 서버가 더 많은 동시 SSL 세션을 처리하고 프록시 서버에 높은 HTTPS 로드가 있는 경우, CPU 사용을 줄일 수 있습니다.
Caching Proxy에는 조정 가능한 지시문 SSLV3Timeout이 있습니다. (참조 : SSLV3Timeout -- SSLV3 세션이 만료되기 전에 대기할 시간을 지정합니다.) 지시문의 기본값은 1000초입니다. 이 지시문은 세션 캐시에서 SSL 세션의 수명을 정의합니다. 수신 SSL 연결이 기존 SSL 세션을 사용하지 않고 세션 수명이 값을 초과하는 경우 해당 세션은 세션 캐시에서 제거됩니다. SSLV3Timeout 값을 일반적인 보안 클라이언트 세션의 길이로 설정하는 것을 권장합니다. 제한시간이 너무 짧게 설정된 경우, 프록시의 성능을 저하시킬 수 있습니다. 이는 여러 SSL 핸드쉐이크가 단일한 보안 세션을 완료하는 것이 필요하기 때문입니다. 그러나, 값이 너무 길게 설정된 경우, 보안 세션의 보안에 지장을 줄 수 있습니다.
대리 프록시에 대한 SSL 구성
캐싱 프록시가 대리 서버로 사용될 때, 클라이언트와 프록시 간 요청 또는 콘텐츠 서버와 프록시 간 요청, 혹은 양쪽 모두의 요청을 보안 소켓 계층(SSL)을 사용하여 안전하게 수행할 수 있습니다. SSL을 사용 가능하게 하려면, 우선 키 데이터베이스를 작성하여 인증을 작성하거나 획득해야 합니다.
애플리케이션 서버 배포판에는 키 및 인증서를 관리하기 위한 IBMGlobal Security Kit (GSKit) 유틸리티가 포함되어 있습니다. 자세한 내용은 키 및 인증서 관리를 참조하십시오.
키 데이터베이스와 인증서가 설정된 후, 대리 프록시 서버에 SSL을 구성하려면 구성 및 관리 양식에서 프록시 구성 → SSL 설정을 선택하십시오. SSL 설정 양식에서 SSL 사용 가능 상자를 선택한 후 해당 필드에 키 링 데이터베이스 파일 및 비밀번호 파일의 경로 이름을 입력하십시오. 선택적으로, SSL 세션의 시간 종료 값을 지정할 수 있습니다 (키 재작성에 너무 많은 시간이 소요되면 SSL V3 세션의 시간 종료 필드에 시간 종료 값을 증가시키려 할 수 있습니다).
또한 보안 요청의 컨텐츠를 캐시하려는 서버 시도 여부를 지정할 수 있습니다. 캐시로 성능을 개선할 수 있지만, 민감한 자료를 캐시하면 보안 위험을 초래할 수 있습니다. 캐싱 필터를 사용하여 보안 요청에서 캐시되는 파일 유형을 제어할 수 있습니다. 이를 위해 를 사용하는 URL에 대한 https:// 필터를 생성합니다. (캐싱 필터를 지정하려면 양식에서 구성 및 관리 를 선택하십시오 캐시 구성 –> 캐싱 필터.) 프록시 서버에 대한 SSL 캐시 설정은 클라이언트 시스템이나 컨텐츠 서버 시스템과의 연결 여부에 상관없이 프록시 서버에서 종료된 모든 연결에 영향을 줍니다.
여러 도메인에 대한 SSL 지원
이전에는 개별 SSL 인증서를 제공하는 여러 도메인에 대해 대리 프록시 역할을 수행하는 단일 캐싱 프록시 서버를 구성하는 것이 불가능했습니다. 이러한 제한사항은 더이상 적용되지 않습니다. 캐싱 프록시는 여러 도메인의 대리 프록시 역할을 수행하며, 이제 요청이 전송된 도메인에 따라 배포할 올바른 인증서를 결정할 수 있습니다. 이러한 새 기능은 ibmproxy.conf 파일의 SSLCertificate 지정문을 사용하여 구성됩니다. 자세한 내용은 SSLCertificate -- 인증서에 대한 키 레이블 지정 항목을 참조하십시오.
보호 마스크의 IP 범위 사용
MASK ALL@"9.38.[100-192,202,203].[0-255]", @"9.38.[0-99],193-201,204-255].
[0-255]",@"[0-8,20-255].[0-37,39-255].[0-255].[0-255]"이 예제에서, 대괄호([])는 범위를 묶고, 인용표(" ")는 범위 IP 템플리트를 묶고,
범위 IP 템플리트에는 공백이 허용되지 않습니다. MASK 부지시문에는 행 구분이 포함될 수 없습니다. 자세한 내용은 지시어 참조 장의 "Mask -- HTTP 요청을 수행할 수 있는 사용자 이름, 그룹 및 주소 지정 " 항목을 참조하십시오.9.*.[32,33].154 는 허용되지 않습니다.SSL이 사용 가능한 경우 사용 불가능한 리스너 스레드
이 새로운 기능은 캐싱 프록시 관리자가 SSL이 활성화된 경우(일반적으로 443번 포트) 표준 HTTP 요청(일반적으로 80번 또는 8080번 포트)에 대한 수신 스레드를 비활성화할 수 있도록 합니다. 활성 HTTP 리스너 스레드를 실행하면 보안 트랜잭션을 수행하는 서버에 보안되지 않는 사이트가 작성될 수 있습니다. 이러한 리스너 스레드를 사용하지 않는 기능으로 서버 보안이 향상됩니다. SSLOnly 지시문을 사용하여 SSL이 사용 가능할 때 표준 HTTP 요청에 대한 리스너 스레드를 사용 불가능하게 하십시오.
SSL 설정은 단순한 다시 시작 조작으로 변경되지 않기 때문에 SSL을 구성한 후에는 변경사항이 적용되기 전에 서버를 완전히 정지한 다음 다시 시작해야 합니다.
- KeyRing -- 키 링 데이터베이스에 대한 파일 경로 지정
- KeyRingStash -- 키 링 데이터베이스 비밀번호 파일에 대한 파일 경로 지정
- SSLCaching -- 보안 요청에 대한 캐시 사용 가능
- SSLEnable -- 보안 요청에 대한 포트 443의 인식 지정
- SSLV2Timeout -- SSLV2 세션이 만기되기 전에 대기할 시간 지정
- SSLV3Timeout -- SSLV3 세션이 만기되기 전에 대기할 시간 지정
- SSLVersion -- SSL 버전 지정
- V2CipherSpecs -- SSL 버전 2에 지원되는 암호 스펙 목록
- V3CipherSpecs -- SSL 버전 3에 지원되는 암호 스펙 목록
- SSLCertificate -- 인증서에 대한 키 레이블 지정
- SSLOnly -- HTTP 요청의 리스너 스레드 사용 불가능
클라이언트 측 인증
이 기능은 캐싱 프록시가 SSL 세션을 통해 클라이언트 측 공개 키 기반 구조(PKI) 인증서를 검색할 수 있도록 합니다. 이 인증은 클라이언트를 인증하는 데 사용됩니다. 클라이언트에게 PKI 인증을 제시하도록 요구하면, 클라이언트의 인증을 보증함으로써 서버 보안이 향상됩니다. SSLCertificate 지시문을 사용하여 프록시 서버의 클라이언트 측 PKI 인증 검색 여부를 지정하십시오.
SSL 터널링
캐싱 프록시가 포워드 프록시로 구성될 경우, 클라이언트와 콘텐츠 서버 간 보안 연결을 지원하기 위해 SSL 터널링을 사용합니다. SSL 터널링에서 암호화된 데이터는 프록시 서버를 통하여 변경되지 않고 전달됩니다. 프록시 서버가 데이터를 암호 해독하지 않기 때문에 요청이나 문서 헤더를 읽는 데 프록시 서버가 필요한 기능은 SSL 터널링에서 지원되지 않습니다. 또한 터널을 통과한 요청은 캐시되지 않습니다.
이는 정방향 프록시 구성에만 적용합니다.

- 클라이언트가 터널링 요청을 수행합니다:
CONNECT server-host-name:port HTTP/1.1(또는 HTTP/1.0 ). 포트 번호는 선택적이며 주로 443입니다. 전방향 프록시가 브라우저에 구성된 경우, 클라이언트의 브라우저는 모든 HTTPS 요청에 대해 자동으로 CONNECT 요청을 먼저 프록시 서버에 전송합니다. - 프록시는 포트 80의 연결을 승인하고 요청을 수신하여 클라이언트가 요청한 포트의 대상 서버로 연결합니다.
- 프록시는 클라이언트에게 연결이 성립된 것에 응답합니다.
- 프록시는 SSL 핸드쉐이크 메시지를 클라이언트에서 대상 서버로, 대상 서버에서 클라이언트의 양방향으로 릴레이합니다.
- 일단 보안 핸드쉐이크가 완료 후 프록시가 암호화된 데이터를 전송하고 수신하여 클라이언트나 대상 서버에서 암호가 해독되도록 합니다.
- 클라이언트나 대상 서버가 각 포트 닫기를 요청하면 프록시 서버는 두 연결 (포트 443 및 80)을 모두 닫고 표준 활동을 재개합니다.
SSL 터널링 구성
전방향 프록시 설정에서는 SSL 터널링만 사용 가능합니다. SSL 터널링을 활성화하려면 구성 및 관리 양식에서 프록시 구성 → 프록시 설정을 선택하십시오. SSL 터널링 선택란을 선택하십시오.
CONNECT 메소드(기본적으로 사용 불가능함)가 또한 SSL 터널링 접속을 위해 사용 가능해야 합니다. 구성 양식에서 이를 활성화하려면 서버 구성 ( Server Configuration ) → 요청 처리(Request Processing)를 선택하고 요청 처리 방법( HTTP ) 양식을 사용하십시오.
OutgoingPorts, OutgoingIPs, IncomingIPs)이 제공됩니다. 최소한 OutgoingPorts에 대한 값을 지정하는 것이 필요합니다.
그렇지 않은 경우, CONNECT 메소드를 사용할 수 없습니다. - OutgoingPorts (원격 서버 포트로 SSL 터널링 액세스 제한). 형식은 다음과 같습니다.
클라이언트가 SSL 터널링에 대해 원격 서버의 포트 443에만 연결하도록 허용하려면, 다음 지시문을 설정하십시오. (포트 443은 정상적으로 원격 서버에서 HTTPS 요청을 위한 것입니다. )Enable CONNECT OutgoingPorts [all | [port1|port1-port2|port1-*],...]
클라이언트가 SSL 터널링에 대해 원격 서버의 모든 서버에 연결하도록 허용하려면, 다음 지시문을 설정하십시오.Enable CONNECT OutgoingPorts 443 SSLTunneling on
클라이언트가 SSL 터널링에 대해 원격 서버의 포트 80, 8080-8088, 및 9000과 위의 포트에 연결하도록 허용하려면, 다음 지시문을 설정하십시오.Enable CONNECT OutgoingPorts all SSLTunneling onEnable CONNECT OutgoingPorts 80,8080-8088,9000-* SSLTunneling on포트 및 포트 범위는 목록에서 공백 없이 쉼표로 구분됩니다.
중요: 포워드 프록시 구성 시, 일반 SSL 터널링을 활성화하려면 최소한 또는
all옵션과OutgoingPorts함께443를 지정해야 합니다. - OutgoingIPs (원격 서버의 IP 주소로 SSL 터널링 액세스 제한). 형식은 다음과 같습니다.
예를 들어, 클라이언트가 원격 서버의 IP/호스트 이름과 일치하는 모든 포트에 연결할 수Enable CONNECT OutgoingIPs [[!]IP_pattern,...]*.ibm.com있도록 허용하고 일치하지 않아야192.168.*.*하는 포트를 설정하려면 다음 지시어를 설정하십시오:Enable CONNECT OutgoingPorts all OutgoingIPs *.ibm.com,!192.168.*.* SSLTunneling on참고: IP_패턴은 목록 내에서 공백 없이 쉼표로 구분됩니다. - IncomingIPs(클라이언트의 IP 주소로 SSL 터널링 액세스 제한). 형식은 다음과 같습니다.
에를 들어, IP 주소Enable CONNECT IncomingIPs [[!]IP_Pattern,...]192.168.*.*에서 들어오는 클라이언트가 SSL 터널링에 대해 원격 서버의 모든 포트에 연결하도록 하려면, 다음 지시문을 설정하십시오.Enable CONNECT OutgoingPorts all IncomingIPs 192.168.*.* SSLTunneling on참고:192.168.*.*을 추측하는 것은 내부 LAN IP 마스크입니다. 선행 옵션을 사용하면 내부 사용자만 연결 메소드 및 SSL 터널링 기능을 사용할 수 있습니다.- IP_patterns는 목록에서 공백 없이 쉼표로 구분됩니다.
보안 원격 관리 구성
캐싱 프록시의 원격 관리는 SSL(Secure Sockets Layer)이 제공하는 보안 기능과 암호 인증을 사용하여 수행할 수 있습니다. 이렇게 되면 권한없는 사용자가 프록시 서버에 액세스할 가능성이 크게 줄어듭니다.
https://
your.server.name
/
yourFrontPage.html
키 및 인증 관리
SSL을 구성하기 전에 키 데이터베이스를 설정하고 인증서를 획득하거나 작성해야 합니다. 인증은 서버 ID를 인증하는 데 사용됩니다. IBM Key Management 유틸리티(iKeyman이라고도 함)를 사용하여 인증 파일을 설정하십시오. 이 유틸리티는 Java 개발 키트(JDK)의 일부입니다. iKeyman 또한 인증서 파일을 열기 위한 Java 기반 그래픽 인터페이스를 포함합니다.
- IBM JDK 버전 1.6 이상을 설치했는지 확인하십시오.
- 키 관리자를 사용하여, 보안 네트워크 통신에 대한 키를 작성하고 인증 기관에서 인증을 받으십시오. 인증 기관에서 인증을 받으려고 대기하는 동안 자체 인증을 작성할 수 있습니다.
- 키 데이터베이스를 작성하고 키 데이터베이스 비밀번호를 지정하십시오.
Linux를 제외한 모든 운영 체제에서 인증서가 만료되는 경우, 캐싱 프록시가 올바르게 시작되지 않고 키 데이터베이스가 만료된다는 것을 표시하는 오류 메시지가 표시됩니다. Linux에서는 프록시가 시작되지만, 프로세스가 빠르게 사라지고 오류 메시지가 생성되지 않습니다.
- libstdc++-3.2.3-52
- libgcc-3.2.3-52
인증 기관
공용 키는 서버의 신뢰할 수 있는 루트 CA로 지정된 인증 기관(CA)에서 디지털로 서명한 인증과 연관되어야 합니다. 인증 요청을 인증 기관(CA) 제공업체에 제출하여 서명된 인증을 구입할 수 있습니다.
- VeriSign
- Thawte
- Verisign 클래스 1 개별 가입자 인증 기관 - 사람이 검증되지 않음
- Verisign 클래스 2 개별 가입자 인증 기관 - 사람이 검증되지 않음
- Verisign 클래스 3 개별 가입자 인증 기관 - 사람이 검증되지 않음
- VeriSign 클래스 3 국제 서버 인증 기관
- VeriSign 클래스 2 OnSite 개별 인증 기관
- VeriSign 클래스 1 공용 기본 인증 기관
- VeriSign 클래스 2 공용 기본 인증 기관
- VeriSign 클래스 3 공용 기본 인증 기관
- VeriSign 클래스 1 공용 기본 인증 기관 - G2
- VeriSign 클래스 2 공용 기본 인증 기관 - G2
- RSA 보안 서버 인증 기관(VeriSign)
- Thawte 개인 기본 인증 기관
- Thawte 개인 프리메일 인증 기관
- Thawte 개인 프리미엄 인증 기관
- Thawte 프리미엄 서버 인증 기관
- Thawte 서버 인증 기관
IBM 키 관리자 유틸리티 사용
이 절에서는 IBM Key Manager 유틸리티(iKeyman)의 사용에 대한 빠른 참조를 제공합니다. 키 관리자를 사용하여, SSL 키 데이터베이스 파일, 공용-개인용 키 쌍 및 인증 요청을 작성하십시오. 인증 기관 서명된 인증을 받은 후, 키 관리자를 사용하여 원래의 인증 요청을 작성한 키 데이터베이스에 인증을 배치하십시오.
IBM 키 관리자 및 IBMGlobal Security Kit (GSKit) 에 대한 보다 상세한 설명서는 GSKit 소프트웨어와 함께 제공됩니다.
키 관리자를 실행하도록 시스템 설정
- IBM JDK 버전 1.6 이상을 설치하십시오. 로드 밸런서 제품과 함께 제공되는 Java 패키지를 사용할 수 있습니다.
- JAVA_HOME을 Java 디렉토리 위치로 설정하십시오. 예를 들어,
- Windows 플랫폼의 경우:
set JAVA_HOME=C:\Program Files\IBM\edge\lb\java - AIX®, HP-UX, Linux 및 Solaris 플랫폼의 경우:
export JAVA_HOME=/opt/ibm/edge/lb/java/
- Windows 플랫폼의 경우:
- IBM JCE, IBM CMS 및 IBMJCEFIPS 서비스 제공자를 등록하십시오.
JAVA_HOME/jre/lib/security/java.security 파일을 업데이트하여 다음 예시에서 표시된 위치에 IBMCMS 및 IBM JCE 제공자를 모두 추가하십시오:
security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.security.cmskeystore.CMSProvider
security.provider.3=com.ibm.crypto.provider.IBMJCE
security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
security.provider.5=com.ibm.security.cert.IBMCertPath - FIPS 조작을 사용하려면 JAVA_HOME/jre/lib/security/java.security 파일을 업데이트하여
IBMJCEFIPS도 추가하십시오. IBMJCE보다 더 높은 우선순위에 IBMJCEFIPS 제공자를 등록해야 합니다. 예를 들어,security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.security.cmskeystore.CMSProvider
security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
security.provider.4=com.ibm.crypto.provider.IBMJCE - 선택사항: 암호 하드웨어를 사용 중인 경우, IBMPKCS11Impl 서비스 제공자를 등록하십시오. 예를 들어,security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.security.cmskeystore.CMSProvider
security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
security.provider.4=com.ibm.crypto.provider.IBMJCE
security.provider.5=com.ibm.crypto.pkcs11Impl.provider.IBMPKCS11Impl
security.provider.6=com.ibm.security.jgss.IBMJGSSProvider
security.provider.7=com.ibm.security.cert.IBMCertPath
키 관리자 시작하기
키 관리자 그래픽 사용자 인터페이스를 JDK에서 iKeyman 도구를 실행하여 시작하십시오. 예를 들어, 다음 명령을 사용하십시오.
새 키 쌍 및 인증 요청 작성
- 키 데이터베이스를 생성하지 않은 경우, 새 키 데이터베이스, 암호 및 스태시 파일 생성 방법의 지침을 따르십시오.
- 키 관리 유틸리티에서 메인 메뉴의 키 데이터베이스 → 파일 → 열기를 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름을 입력하십시오(기본값을 사용하는 경우, key.kdb를 클릭하십시오). 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 비밀번호를 입력하고 확인을 클릭하십시오.
- 메인 메뉴에서 생성 → 새 인증서 요청을 클릭하십시오.
- 새 키 및 인증 요청 대화 상자에서 다음 사항을 지정하십시오.
- 키 레이블: 데이터베이스에서 키와 인증서를 식별하는 데 사용되는 이름(레이블)을 입력하십시오. 예를 들어,
my self-signed certificate또는www.companyA.com. - 키 크기: 키의 크기, 예를 들어,
1024. (128비트 암호화의 장점을 이용하려면 1024의 키 크기가 권장됨). - 조직 이름: 키와 연관된 조직의 이름.
예제:
Company A. - 조직 단위(선택적)
- 지역 (선택 사항)
- 시/도(선택적)
- 우편번호 (선택 사항)
- 국가: 국가 코드. 최소 2개의 문자를 지정해야 합니다(예:
US). - 인증 요청 파일: 요청 파일의 이름 선택적으로, 기본 이름을 사용할 수 있습니다.
- 키 레이블: 데이터베이스에서 키와 인증서를 식별하는 데 사용되는 이름(레이블)을 입력하십시오. 예를 들어,
- 확인을 클릭하십시오. 확인 메시지가 나타납니다.
A new certificate request has been successfully created in the file keyfile_database_name . - 확인을 클릭하십시오. 입력한 레이블 이름은 개인 인증 요청 표제 아래에 표시됩니다.
- 정보 대화 상자에서 확인을 클릭하십시오. 파일을 인증 기관으로 전송하도록 다시 알려줍니다.
- 자체 서명된 인증서를 생성하지 않은 경우, 인증서 요청을 인증 기관(CA)으로 보내십시오:
- 키 관리자가 계속 실행되도록 하십시오.
- 웹 브라우저를 시작하고, 인증을 획득하려는 인증 기관의 URL을 입력하십시오.
- 인증 요청을 전송하려면 인증 기관에서 제공한 명령을 따르십시오.
자체 서명된 인증 작성
인증이 발행되기를 기다리는 동안 클라이언트와 프록시 서버 간에 SSL 세션을 사용 가능하도록 하기 위해, 키 관리 유틸리티를 사용하여 자가 서명된 서버 인증을 작성할 수 있습니다. 목적을 검사하는 데 자체 인증을 사용할 수도 있습니다.
- 키 데이터베이스를 생성하지 않은 경우, 새 키 데이터베이스, 암호 및 스태시 파일 생성 방법의 지침을 따르십시오.
- 키 관리 유틸리티에서 메인 메뉴의 키 데이터베이스 → 파일 → 열기를 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 비밀번호를 입력하고 확인을 클릭하십시오.
- 키 데이터베이스 내용 프레임에서 개인 인증을 선택하고 자체 인증 신규 작성 단추를 클릭하십시오.
- 자체 인증 신규 작성 창에서 다음 사항을 지정하십시오.
- 키 레이블: 데이터베이스에서 키 및 인증서를
식별하기 위해 사용되는 이름(레이블)(예:
my self-signed certificate) - 키 크기: 키의 크기, 예를 들어,
512. - 공통 이름: 서버의 전체 호스트 이름(예:
www.myserver.com) - 조직 이름: 키와 연관된 조직의 이름(예:
Company A) - 조직 단위(선택적)
- 지역 (선택 사항)
- 시/도(선택적)
- 우편번호 (선택 사항)
- 국가: 국가 코드. 최소한 두 문자를 지정해야 합니다(예제: US).
- 유효 기간: 인증이 유효한 기간
- 키 레이블: 데이터베이스에서 키 및 인증서를
식별하기 위해 사용되는 이름(레이블)(예:
- 확인을 클릭하십시오.
- 키 데이터베이스를 서버에 등록하려면 구성 설정에 키 파일과 스태시 파일을 추가하십시오( 새 키 데이터베이스, 암호 및 스태시 파일 생성 참조).
키 내보내기
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 키 데이터베이스 파일 → 열기를 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 비밀번호를 입력하고 확인을 클릭하십시오.
- 키 데이터베이스 내용 프레임에서 개인 인증을 선택한 다음 레이블의 내보내기/가져오기 단추를 클릭하십시오.
- 내보내기/가져오기 키 창에서 다음을 수행하십시오.
- 키 내보내기를 선택하십시오.
- 목표 데이터베이스 유형을 선택하십시오(예: PKCS12).
- 파일 이름을 입력하거나 찾아보기를 클릭하여 선택하십시오.
- 정정 위치를 입력하십시오.
- 확인을 클릭하십시오.
- 비밀번호 프롬프트 대화 상자에서, 올바른 비밀번호를 입력하고 한번 더 입력하여 확인한 다음에 확인을 클릭하여 선택된 키를 다른 키 데이터베이스로 내보내십시오.
키 가져오기
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 키 데이터베이스 파일 → 열기를 선택하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 올바른 비밀번호를 입력하고 확인을 클릭하십시오.
- 키 데이터베이스 내용 프레임에서 개인 인증을 선택한 다음 레이블의 내보내기/가져오기 단추를 클릭하십시오.
- 내보내기/가져오기 키 창에서 다음을 수행하십시오.
- 키 가져오기를 선택하십시오.
- 키 데이터베이스 유형을 선택하십시오(예: PKCS12 ).
- 파일 이름을 입력하거나 찾아보기를 클릭하여 선택하십시오.
- 정정 위치를 선택하십시오.
- 확인을 클릭하십시오.
- 비밀번호 프롬프트 대화 상자에서 올바른 비밀번호를 입력하고 확인을 클릭하십시오.
- 키 레이블 목록의 선택란에서 올바른 이름을 선택하고 확인을 클릭하십시오.
인증 기관 나열
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 키 데이터베이스 파일 → 열기를 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 올바른 비밀번호를 입력하고 확인을 클릭하십시오.
- 키 데이터베이스 내용 프레임에서 서명자 인증을 선택하십시오.
- 서명자 인증, 개인 인증 또는 인증 요청을 클릭하여서, 키 정보 창에 인증 기관 목록을 표시하십시오.
이 절차를 사용하여 기본적으로 신뢰할 수 있는 인증 기관(CA)으로 지정된 인증 기관(CA)으로부터 전자적으로 발송된 인증서를 수신하십시오( 인증 기관 목록 참조). 인증 기관 서명된 인증을 발행하는 인증 기관이 키 데이터베이스에 있는 인증 기관이 아니면, 우선 인증 기관의 인증을 저장하고 인증 기관을 신뢰할 수 있는 인증 기관으로 지정해야 합니다. 그런 다음, CA 서명 인증서를 데이터베이스로 수신할 수 있습니다. 신뢰할 수 없는 인증 기관(CA)으로부터 CA 서명 인증서를 수신할 수 없습니다( CA 인증서 저장 참조).
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 키 데이터베이스 파일 → 열기를 선택하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 비밀번호를 입력하고 확인을 클릭하십시오.
- DB 유형 목록의 파일 이름이 올바른지 확인하십시오.
- 키 데이터베이스 창에서 개인 인증을 선택한 후, 수신을 클릭하십시오.
- 파일의 인증 수신 대화 상자에서, 인증 파일 이름 텍스트 필드에 base 64-encoded 유효 파일의 이름을 입력하십시오. 확인을 누르십시오.
- 키 관리자 유틸리티를 종료하려면 메인 메뉴에서 키 데이터베이스 파일 → 종료를 클릭하십시오.
키 데이터베이스에 기본 키 표시
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 키 데이터베이스 파일 → 열기를 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 비밀번호를 입력하고 확인을 클릭하십시오.
- 키 데이터베이스 내용 프레임에서 개인 인증을 선택한 다음 인증 기관 인증 레이블 이름을 선택하십시오.
- 키 정보 창에서 보기/편집을 클릭하여 인증 기본 키 정보를 표시하십시오.
새 키 데이터베이스, 비밀번호, 숨김 파일 작성
키 데이터베이스는 하나 이상의 키 쌍 및 인증서를 저장하기 위해 서버가 사용하는 파일입니다. 모든 키 쌍과 인증에 하나의 키 데이터베이스를 사용하거나 여러 데이터베이스를 작성할 수 있습니다. 키 관리 유틸리티는 새 키 데이터베이스를 작성하고 비밀번호 및 스태쉬 파일을 지정하는 데 사용됩니다.
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 키 데이터베이스 파일 → 새로 만들기를 선택하십시오.
- 새로 작성 대화상자에서 CMS 키 데이터베이스 파일 유형을 선택했는지 확인하십시오. 키 데이터베이스 이름 및 파일 위치를 입력하거나 key.kdb 기본값을 승인하십시오. 확인을 클릭하십시오.
- 비밀번호 프롬프트 대화상자에서 이 데이터베이스에 대한 비밀번호를 입력하고 확인하십시오. 확인을 클릭하십시오.
- 비밀번호 파일을 스태쉬하기 위한 확인란을 선택하십시오. 프롬프트되면 비밀번호를
입력하고 확인하여 검증하십시오.
DB-Type: CMS key database file keyfile_database_name메시지가 표시됩니다.참고: 비밀번호 파일을 숨겨두지 않으면 서버는 시작되지만 포트 443에서 대기하지 않습니다.
새 키 데이터베이스를 작성할 때 지정한 비밀번호는 개인용 키를 보호합니다. 개인용 키는 문서에 서명하거나 공용 키로 암호화된 메시지를 해독할 수 있는 유일한 키입니다.
- 비밀번호는 미국 영어 문자 세트로 구성되어야 합니다.
- 비밀번호는 문자 길이가 최소 6개이며, 최소한 두 개의 비연속 숫자를 포함해야 합니다. 본인의 이름이나 직계 가족의 이름, 이니셜, 생일 등 사용자에 대해서 공개적으로 얻어낼 수 있는 정보로 비밀번호를 구성하지 않도록 하십시오.
- 비밀번호를 스태쉬하십시오.
키 데이터베이스 비밀번호는 자주 변경하는 것이 좋습니다. 그러나 비밀번호의 만기 날짜를 지정한 경우에는, 비밀번호를 변경한 시기의 기록을 보존하십시오. 비밀번호가 변경하기 전에 만기되면 오류 로그에 메시지가 작성되고 서버가 시작되지만, 보안 네트워크 연결은 작성할 수 없습니다.
- 메인 메뉴에서 키 데이터베이스 파일 → 열기를 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름을 입력하거나 key.kdb 기본값을 승인하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 성립된 비밀번호를 입력하고 확인을 클릭하십시오.
- 메인 메뉴에서 키 데이터베이스 파일 → 비밀번호 변경을 클릭하십시오.
- 비밀번호 변경 대화 상자에 새 비밀번호를 입력하고 확인하십시오. 확인을 클릭하십시오.
프록시와 LDAP 서버 간 SSL 연결의 경우, pac_keyring.pwd 파일에 키 데이터베이스 비밀번호를 입력하십시오. (pac_keyring.pwd 파일은 iKeyman에서 생성된 숨김 파일이 아닙니다.)
인증 기관 인증 받기
이 프로시저를 통해 기본적으로 신뢰할 수 있는 인증 기관으로 지정된 인증 기관으로부터 이메일로 인증을 받으십시오. 인증 기관 서명된 인증을 발행하는 인증 기관이 키 데이터베이스에 있는 인증 기관이 아니면, 우선 인증 기관의 인증을 저장하고 인증 기관을 신뢰할 수 있는 인증 기관으로 지정해야 합니다. 이렇게 하면 데이터베이스로 인증 기관 서명된 인증을 받을 수 있습니다.
신뢰할 수 있는 인증 기관이 아닌 인증 기관으로부터 인증 기관에서 서명한 인증을 수신할 수는 없습니다. CA 인증서 저장하기를 참조하십시오.
인증 기관 서명된 인증을 키 데이터베이스로 수신하려면 다음을 수행하십시오.
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 선택하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 비밀번호를 입력하고 확인을 클릭하십시오.
- DB 유형 목록의 파일 이름이 올바른지 확인하십시오.
- 키 데이터베이스 창에서 개인 인증을 선택한 후, 수신을 클릭하십시오.
- 파일의 인증 수신 대화 상자에서, 인증 파일 이름 텍스트 필드에 base 64-encoded 유효 파일의 이름을 입력하십시오. 확인을 누르십시오.
- 키 관리자 유틸리티를 종료하려면 메인 메뉴에서 클릭하십시오.
인증 기관 인증 저장
신뢰할 수 있는 인증 기관이 서명한 인증만 보안 연결이 이루어지도록 허용됩니다. 신뢰할 수 있는 인증 기관 목록에 인증 기관을 추가하려면, 신뢰할 수 있는 인증으로 획득 및 저장해야 합니다.
- 키 관리 유틸리티를 시작하십시오.
- 메인 메뉴에서 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름(기본값 key.kdb를 승인)을 입력하십시오. 확인을 누르십시오.
- 비밀번호 프롬프트 대화 상자에서 비밀번호를 입력하고 확인을 클릭하십시오.
- 키 데이터베이스 내용 프레임에서 서명자 인증을 선택한 다음 레이블의 추가 단추를 클릭하십시오.
- 파일의 인증 기관 인증 추가 대화 상자에서 base 64-encoded ASCII 데이터 인증 파일 이름을 선택하거나 찾아보기 옵션을 사용하십시오. 확인을 누르십시오.
- 레이블 대화 상자에서 레이블 이름을 입력하고 확인을 클릭하십시오.
- 선택란을 사용하여 인증서을 신뢰(기본값)로 지정하십시오.참고: 인증서 생성 후 "보기/편집" 버튼을 사용하여 확인란을 확인하십시오. 선택란은 패널에 나열되지만 인증서 추가 중에는 표시되지 않습니다.
지원된 암호 스펙
다음 테이블에는 SSL 버전 2 및 3에 사용되는 암호화 알고리즘 및 해시가 나열됩니다.
키 쌍 세대: RSA 512–1024 개인용 키 크기
| US 버전 | 내보내기 버전 |
|---|---|
| RC4 US | RC4 내보내기 |
| RC2 US | RC2 내보내기 |
| DES 56비트 | 해당 없음 |
| Triple DES US | 해당 없음 |
| RC4 내보내기 | 해당 없음 |
| RC2 내보내기 | 해당 없음 |
| US 버전 | 내보내기 버전 |
|---|---|
| Triple DES SHA US | DES SHA 내보내기 |
| DES SHA 내보내기 | RC2 MD5 내보내기 |
| RC2 MD5 내보내기 | RC4 MD5 내보내기 |
| RC4 SHA US | 널 SHA |
| RC4 MD5 US | 널 MD5 |
| RC4 MD5 내보내기 | 널 널 |
| RC4 SHA 56 비트 | 해당 없음 |
| DES CBC SHA | 해당 없음 |
| 널 SHA | 해당 없음 |
| 널 MD5 | 해당 없음 |
| 널 널 | 해당 없음 |
또한 프록시 구성 파일을 직접 편집하여 SSL 스펙을 구성할 수 있습니다. 자세한 내용은 구성 파일 지시어의 참조 섹션을 참조하십시오.
캐싱 프록시를 위한 128비트 암호화
캐싱 프록시의 128비트 암호화 버전만 제공됩니다. 56비트 버전은 더이상 사용할 수 없습니다. 기존 버전을 업데이트하는 경우, 현재 설치된 128비트 또는 56비트 버전에 캐싱 프록시를 직접 설치할 수 있습니다. 이전에 56비트(내보내기) 브라우저를 사용했다면, 프록시에서 128비트 암호화를 사용하기 위해 128비트 브라우저로 업그레이드해야 합니다.
- 키 관리자를 시작하십시오. 예를 들어,
다음 명령을 사용하십시오./opt/ibm/edge/lb/java/jre/bin/ikeyman
- 메인 메뉴에서 키 데이터베이스 파일 → 열기를 클릭하십시오.
- 열기 대화 상자에 키 데이터베이스 이름을 입력한 다음(또는 기본값을 사용하는 경우, key.kdb를 클릭하십시오), 확인을 클릭하십시오.
- 비밀번호 프롬프트 대화 상자를 열려면 비밀번호를 입력하고 확인을 클릭하십시오.
- 메인 메뉴에서 생성 → 새 인증서 요청을 클릭하십시오.
- 새 키 및 인증 요청 창에서 다음 사항을 지정하십시오.
- 키 레이블: 데이터베이스에 키와 인증을 식별하는 데 사용되는 이름을 입력하십시오.
- 키 크기 : 1024를 선택하십시오.
- 조직 이름: 키와 연관된 조직의 이름을 입력하십시오.
- 국가: 국가 코드를 입력하십시오. 최소한 두 문자를 지정해야
합니다(예:
US). - 인증 요청 파일 이름: 요청 파일의 이름을 입력하거나 선택적으로 기본 이름을 사용하십시오.
- 확인을 클릭하십시오.
제품의 이 버전은 SUSE Linux의 암호화를 지원하지 않습니다.