[AIX Solaris HP-UX Linux Windows][z/OS]

SSL 지시문

SSL(Secure Sockets Layer) 지시문은 IBM® HTTP Server에서 SSL 기능을 제어하는 구성 매개변수입니다.

IBM HTTP Server의 여러 SSL(Secure Sockets Layer) 지시문을 <virtual Host> 절의 내부 또는 글로벌하게 <virtualHost> 절의 외부에 지정할 수 있습니다.

두 컨텍스트 모두에서 유효한 대부분의 지시문은 다음 오류로 글로벌 구성에서 가상 호스트 구성으로 복사되거나 병합되지 않습니다(SSLEnable, SSLDisable, KeyFile, SSLServerCert, SSLTrace, SSLv2Timeout, and SSLv3Timeout). SSL 사용 가상 호스트 범위 내에서 유효한 대부분의 다른 지시문의 경우 지시문이 적용되도록 SSL 사용 가상 호스트 내에 명시적으로 지정해야 합니다. 병합되거나 복사되지 않은 다른 SSL 지시문의 예제는 SSLCipherSpec 및 Uncompromisable입니다.

디렉토리 범위(<Location>, <Directory> 또는 htaccess)에 지정한 SSL 지시문의 경우 더 많은 일반 범위의 구성 섹션이 더 많은 특정 범위의 구성 섹션으로 병합됩니다. 이 카테고리의 일부 예제 지시문은 SSLCipherBan, SSLCipherRequire, SSLClientAuthRequire 및 SSLVersion입니다. 이러한 지시문은 이전 지시문보다 덜 자주 사용됩니다.

글로벌하게 지정된 키파일 지시문외에 가능한 구성을 병합하지 마십시오. 항상 여러 구성 범위에 따라 구성 결과를 테스트하십시오.

SSLOCSPResponderURL

SSLOCSPResponderURL 지시문은 정적으로 구성된 온라인 인증 상태 프로토콜(OCSP) 응답기를 통해 클라이언트 인증의 확인을 가능하게 합니다.
이름 설명
구문

[AIX Solaris HP-UX Linux Windows]SSLOCSPResponderURL<URL>

범위 가상 호스트
기본값 Disabled
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트당 하나
OCSP 응답기를 가리키는 완전한 URL(예: http://hostname:2560/).

CRL 검사가 구성된 경우에도 모든 CRL 검사 전에 OCSP 검사가 수행됩니다. CRL 검사는 CRL 결과가 알 수 없음 또는 미결인 경우에만 발생합니다.

SSLOCSPResponderURL이 설정되는 경우 IBM HTTP Server는 제공되는 URL을 사용하여 SSL 클라이언트 인증이 제공될 때 인증서 취소 상태를 검사합니다.

SSLOCSPEnable 및 SSLOCSPResponderURL이 둘 다 구성되는 경우 SSLOCSPResponderURL로 정의되는 응답기가 첫 번째로 검사됩니다. 취소 상태를 알 수 없거나 미결인 경우 IBM HTTP Server는 SSLOCSPEnable에 대해 OCSP 응답기를 검사합니다.
문제점 방지 문제점 방지: 일부 경우에는 취소 데이터의 소스인 백엔드 서버가 사용 불가능하기 때문에 IBM HTTP Server는 클라이언트 인증의 취소 상태를 판별하지 못할 수 있습니다. 다음을 인식해야 합니다.
  • CRLDistributionPoint 필드에서 다른 URI 양식의 검사가 가능하도록 정적 CRL 저장소(SSLCRLHost)를 구성해야 합니다.
  • 인증서가 CertificateDistributionPoint 또는 AIA 확장의 LDAP 또는 HTTP URI 양식을 사용하는 경우, IBM HTTP Server 시스템이 이 유형의 출력 연결을 확립할 수 있게 하십시오. 사용자의 방화벽 설정을 조정해야 합니다.
  • [AIX Solaris HP-UX Linux Windows]백엔드 서버와 통신할 때 IBM HTTP Server에서 복구 가능한 오류가 발생하는 경우를 위해 SSLUnknownRevocationStatus 지시문이 제공되며, IBM HTTP Server는 인증서의 취소 상태를 판별할 수 없습니다. 기본 동작은 백엔드 서버가 인증서가 취소됨을 성공적으로 표시하지 않는 한 핸드쉐이크 처리를 계속하는 것입니다.
  • [z/OS]명시적으로 구성된 LDAP 서버만 CRL을 조회할 수 있으며 백엔드 서버에 도달할 수 없으면 SSL 핸드쉐이크가 실패합니다.
gotcha

SSLOCSPEnable

SSLOCSPEnable 지시문은 해당 인증서의 AIA(Authority Information Access) 확장에서 정의되는 OCSP 응답기를 통해 클라이언트 인증의 검사를 가능케 합니다.
이름 설명
구문

[AIX Solaris HP-UX Linux Windows]SSLOCSPEnable

범위 가상 호스트
기본값 Disabled
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트에 대해 허용되는 하나의 인스턴스
없음

SSLOCSPEnable이 설정되고 SSL 클라이언트 인증 체인에 AIA 확장이 들어있는 경우 IBM HTTP Server는 AIA 확장에 의해 표시되는 OCSP 응답기에 접속하여 클라이언트 인증의 취소 상태를 검사합니다.

OCSP 및 CRL 검사가 둘 다 구성된 경우 모든 CRL 검사 전에 OCSP 검사가 수행됩니다. CRL 검사는 OCSP 검사 결과가 알 수 없음 또는 미결인 경우에만 발생합니다.

SSLOCSPEnable 및 SSLOCSPResponderURL이 둘 다 구성되는 경우 SSLOCSPResponderURL로 정의되는 응답기가 첫 번째로 검사됩니다. 취소 상태를 알 수 없거나 미결인 경우 IBM HTTP Server는 SSLOCSPEnable에 대해 OCSP 응답기를 검사합니다.

Keyfile 지시문

keyfile 지시문은 사용할 키 파일을 설정합니다.
주의: 이 지시문은 기본 서버 구성에 의해 대체될 수도 있습니다.
이름 설명
구문
[AIX][Solaris][HP-UX][Linux][Windows]Keyfile [/prompt] /fully qualified path to key file/keyfile.kdb
[z/OS]주의: /prompt 기능은 JCL 시작 작업에서가 아니라 USS 쉘에서 실행할 때만 지원됩니다. JCL 시작 작업에서 /prompt 기능을 사용하려는 경우 구성 오류가 발생합니다.
[z/OS]HFS(Hierarchical File System) 또는 SAF(System Authorization Facility)에 저장된 키 링을 사용할 수 있습니다. HFS에 저장된 키 링을 사용하려면 다음을 수행하십시오.
  • Keyfile /fully qualified path to key file/keyfile.kdb
SAF에 저장된 키 링을 사용하려면 다음을 수행하십시오.
  • Keyfile /saf WASKeyring
    중요사항: SAF 키 링을 사용할 경우:
    • SAF를 사용하고 액세스가 SAF 규칙에 의해 제어될 때는 숨김 파일이 없습니다. 그러므로 keyfile/prompt/saf 인수를 사용하려는 경우 인수가 지원되지 않습니다. 이 인수를 사용하려고 시도하면 구성 오류가 발생합니다.
    • IBM HTTP Server를 시작하는 데 사용되는 ID는 이 지시문에서 이름 지정된 키 링에 액세스할 수 있어야 합니다. ID에 액세스 권한이 없을 경우 SSL 초기화가 실패합니다.
범위 글로벌 기본 및 가상 호스트
기본값 없음
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트 및 글로벌 서버당 하나의 인스턴스
키 파일의 파일 이름.

[AIX Solaris HP-UX Linux Windows]HTTP 서버가 사용자에게 시작 시에 키 파일 비밀번호를 프롬프트할 수 있게 하려면 prompt 옵션을 사용하십시오.

[z/OS]액세스를 제한하기 위해 파일 시스템 보호를 사용할 수 있습니다. SSL 인증서에 대한 액세스 제한을 위해 SAF(System Authorization Facility) 키 링을 사용하십시오.

[z/OS]중요사항: z/OS® 시스템은 다른 플랫폼에서 작성된 키 데이터베이스 파일을 지원하지 않습니다. z/OS 시스템에 사용되는 키 데이터베이스 파일이 z/OS 플랫폼에 작성되어야 합니다.
키 파일 유형에 대한 다음 구성 중 하나만 사용할 수 있습니다.
  • [AIX Solaris HP-UX Linux Windows]CMS(Certificate Management Services)
  • [z/OS]CMS 또는 RACF®(Resource Access Control Facility)

SSLAcceleratorDisable 지시문

SSLAcceleratorDisable 지시문은 Accelerator Device를 사용 불가능하게 합니다.
이름 설명
구문 SSLAcceleratorDisable
범위 가상 및 글로벌
기본값 Accelerator Device가 사용 가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트당 하나의 인스턴스.
없음. 가상 호스트 내부를 포함하여 구성 파일의 내부 어떠한 곳이라도 이 지시문을 포함시키십시오. 초기화 중에 시스템에 Accelerator Device가 설치되어 있음이 판별하면 시스템이 설치된 Accelerator를 사용하여 보안 트랜잭션 수를 증가시킵니다. 이 지시문은 인수를 사용하지 않습니다.
[AIX Solaris HP-UX Linux Windows]

SSLAllowNonCriticalBasicConstraints 지시문

SSLAllowNonCriticalBasicConstraints 지시문은 RFC3280와 충돌하는 일본 정부의 GPKI 스펙의 한 측면과의 호환성을 가능케 합니다.
이름 설명
구문 SSLAllowNonCriticalBasicConstraints on|off
범위 글로벌 서버 또는 가상 호스트
기본값 Off
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트 및 글로벌 서버당 하나의 인스턴스
없음. 이 지시문은 발행자 인증 기관(CA) 인증서에 대한 중요하지 않은 기본 제한조건 확장이 유효성 검증 실패를 유발하지 않도록 인증서 유효성 검증 알고리즘의 동작을 변경합니다. 이것은 RFC3280와 충돌하는 일본 정부의 GPKI 스펙의 한 측면과의 호환성을 가능케 합니다.
주의: RFC3280은 이 확장이 인증서의 디지털 서명을 유효성 검증하는 데 사용되는 공개 키가 들어있는 모든 CA 인증서에 중요한 확장으로 나타나야 한다고 명시합니다.
[AIX][HP-UX][Linux][Solaris][z/OS]

SSLCacheDisable 지시문

SSLCacheDisable 지시문은 외부 SSL 세션 ID 캐시를 사용 불가능하게 합니다.
이름 설명
구문 SSLCacheDisable
범위 가상 호스트 스탠자의 외부에서만 사용 가능한, 실제 Apache 서버 인스턴스당 하나.
기본값 없음
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용되지 않습니다.
없음.
[AIX][HP-UX][Linux][Solaris][z/OS]

SSLCacheEnable 지시문

SSLCacheEnable 지시문은 외부 SSL 세션 ID 캐시를 사용 가능케 합니다.
이름 설명
구문 SSLCacheEnable
범위 가상 호스트 스탠자의 외부에서만 사용 가능한, 실제 Apache 서버 인스턴스당 하나.
기본값 없음
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용되지 않습니다.
없음.
[AIX][HP-UX][Linux][Solaris][z/OS]

SSLCacheErrorLog 지시문

SSLCacheErrorLog 지시문은 세션 ID 캐시에 대한 파일 이름을 설정합니다.
이름 설명
구문 SSLCacheErrorLog /usr/HTTPServer/logs/sidd_logg
범위 가상 호스트 밖에서의 서버 구성.
기본값 없음
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용되지 않습니다.
유효한 파일 이름.
[AIX][HP-UX][Linux][Solaris][z/OS]

SSLCachePath 지시문

SSLCachePath 지시문은 세션 ID 캐싱 디먼에 대한 경로를 지정합니다. 복수의 ServerRoot 또는 -d 매개변수와 함께 IHS의 다중 인스턴스가 하나의 설치를 공유 중이 아니면 이 지시문은 지정될 필요가 없습니다.

IHS의 다중 인스턴스가 이전에 설명한 대로 대체 서버 루트와 함께 사용되고 있을 때, 이 지시문이 기본적으로 사용되는 별도의 서버 루트 대신 단일 설치 루트에 있는 bin/sidd 2진에 대한 경로에 있는 IHS의 이 인스턴스를 가리키는 데 사용되어야 합니다.

bin/sidd 2진을 복사하거나, 이 지시문을 사용하여 다중 인스턴스가 사용될 때 서버 루트에 설치된 bin/sidd 이외의 어느 것을 지정할 실질적인 이유가 없습니다. 이 지시문의 값은 동일한 2진을 공유하는 IHS의 인스턴스 사이에 달라질 필요가 없습니다.

이름 설명
구문 SSLCachePath /usr/HTTPServer/bin/sidd
범위 가상 호스트 밖에서의 서버 구성.
기본값 <server-root>/bin/sidd
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용되지 않습니다.
유효한 경로 이름.
[AIX][HP-UX][Linux][Solaris][z/OS]

SSLCachePortFilename 지시문

SSLCachePortFilename 지시문은 서버 인스턴스와 세션 ID 캐시 디먼 사이의 통신에 사용되는 UNIX 도메인 소켓의 파일 이름을 설정합니다. 동일한 설치 디렉토리에서 IBM HTTP Server의 인스턴스 두 개를 실행하고 인스턴스가 둘 다 SSL에 대해 구성되어 있는 경우 이 지시문을 설정해야 합니다. 그렇지 않으면 이 지시문을 설정할 필요가 없습니다.
이름 설명
구문 SSLCachePortFilename /usr/HTTPServer/logs/siddport
범위 가상 호스트 밖에서의 서버 구성.
기본값 이 지시문을 지정하지 않았으며 캐시가 사용 가능한 경우 서버는 <server-root>/logs/siddport 파일을 사용합니다.
참고
  • AIX®의 경우: 기본값은 /usr/HTTPServer/logs/siddport입니다.
  • Solaris의 경우: 기본값은 /opt/IBMHTTPD/logs/siddport입니다.
  • Windows NT에서는 유효하지 않음
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용되지 않습니다.
유효한 경로 이름. 웹 서버는 이 파일을 시작 중에 삭제합니다. 기존 파일 이름을 사용하지 마십시오.
[AIX][HP-UX][Linux][Solaris][z/OS]

SSLCacheTraceLog 지시문

SSLCacheTraceLog 지시문은 세션 ID 추적 메시지를 기록할 파일을 지정합니다. 이 지시문이 없으면 추적이 사용 불가능합니다.
이름 설명
구문 SSLCacheTraceLog /usr/HTTPServer/logs/sidd-trace.log
범위 가상 호스트 밖에서의 서버 구성.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용되지 않습니다.
유효한 경로 이름.

SSLCipherBan 지시문

클라이언트가 지정된 암호 중 하나를 사용하여 연결한 경우 SSLCipherBan 지시문은 오브젝트에 대한 액세스를 거부합니다. 요청은 403 상태 코드와 함께 실패합니다.
주의: 이 지시문은 하위 디렉토리에 대해 지정된 경우 상위 디렉토리에 대해 지정된 지시문을 대체하지 않습니다. 대신 두 디렉토리 모두 하위 디렉토리에 적용됩니다.
이름 설명
구문 SSLCipherBan <cipher_specification>
범위 각 디렉토리 스탠자에 대해 다중 인스턴스.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 디렉토리 스탠자별로 허용됩니다. 환경 설정의 순서는 최상위에서부터 맨 아래순입니다.
값에 대해서는 SSL 암호 명세 주제를 참조하십시오.

SSLCipherRequire 지시문

SSLCipherRequire 지시문은 오브젝트에 대한 액세스를 지정된 암호 중 하나를 사용하여 연결된 클라이언트로 제한합니다. 액세스가 거부되면 요청은 '403' 상태 코드와 함께 실패합니다.
주의: 이 지시문은 하위 디렉토리에 대해 지정된 경우 상위 디렉토리에 대해 지정된 지시문을 대체하지 않습니다. 대신 두 디렉토리 모두 하위 디렉토리에 적용됩니다.
이름 설명
구문 SSLCipherRequire <cipher_specification>
범위 각 디렉토리 스탠자에 대해 다중 인스턴스.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 디렉토리 스탠자별로 허용됩니다.
값에 대해서는 SSL 암호 명세 주제를 참조하십시오.

SSLCipherSpec 지시문

SSLCipherSpec 지시문으로 핸드쉐이크 중에 지원되는 SSL 암호를 사용자 정의할 수 있습니다. SSL 암호 세트 및 SSL 암호의 환경 설정 순서를 사용자 정의할 수 있습니다.

[AIX Solaris HP-UX Linux Windows]분산 플랫폼에서 각 프로토콜은 고유하게 정렬된 암호 목록을 갖습니다. 지원되는 프로토콜을 SSL 버전 2, SSL 버전 3, TLS 버전 1.0, TLS 버전 1.1, TLS 버전 1.2입니다.

[z/OS]z/OS에서는 사용 가능한 암호의 두 목록인 SSL 버전 2에 대해 하나 및 기타 프로토콜에 대해 하나만 있습니다. 지원되는 프로토콜은 SSL 버전 2, SSL 버전 3, TLS 버전 1.0입니다.

SSL 버전 2 암호의 기본값은 암호 없음이며, 이것은 해당 프로토콜이 사용 안함임을 의미합니다. 기타 프로토콜의 기본값은 널 암호, 내보내기 암호, 약한 암호를 제외한 SSL 암호 세트입니다.

SSLCipherSpec의 단일 인수 양식을 사용할 때, 주어진 암호가 유효한 모든 프로토콜에서 사용 가능합니다. 처음 그런 변경이 각 프로토콜에 대해 작성될 때 프로토콜의 기본 암호가 삭제됩니다.

SSLCipherSpec의 다중 인수 양식을 사용할 때 SSL 프로토콜의 이름(또는 "ALL")을 첫 번째 인수로 지정하면 다음과 같은 이점을 갖는 개선된 구문을 사용할 수 있습니다.

  • SSLCipherSpec의 각 발생에서 다중 암호를 나열할 수 있습니다.
  • 암호 이름 앞에 "-"를 붙여서 사용 가능한 암호의 현재 세트에서 개별 암호를 제거할 수 있습니다.
  • 처음으로 주어진 프로토콜 암호 목록이 수정되고 있을 때 암호 이름 앞에 "+"를 붙여서 주어진 암호를 대체하는 대신 기본값의 끝에 추가할 수 있습니다.

프로토콜 이름을 "ALL"로 제공하는 경우 각 암호 이름에 대해 지정된 추가 또는 제거가 해당 암호가 유효한 각 프로토콜에 적용됩니다.

특수한 사례로 단일 명령으로 모든 암호 목록을 비우기 위해 SSLCipherSpec ALL NONE을 사용할 수 있습니다. 이 명령의 사용이 언제든지 기본 암호를 사용하지 않으려는 경우에 구성을 시작하는 좋은 방법입니다.

이름 설명
[z/OS]구문 [z/OS]SSLCipherSpec short name or SSLCipherSpec long name
[AIX Solaris HP-UX Linux Windows]구문 [AIX Solaris HP-UX Linux Windows]SSLCipherSpec [protocol_name] [+|-]short name|long name [[+|-]short name|long name ...]
범위 서버 구성, 가상 호스트.
기본값 지정된 것이 없으면 서버는 사용 가능한 널이 아니고, 내보내기가 아니며 약하지 않은 모든 암호 명세를 사용합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용됩니다. 환경 설정 순서는 최상위에서부터 맨 아래, 첫 번째부터 마지막순입니다.
[AIX Solaris HP-UX Linux Windows]분산 플랫폼에서 프로토콜 이름의 값 [AIX Solaris HP-UX Linux Windows]SSLv2, SSLv3, TLSv10, TLSv11, TLSv12, ALL
[z/OS]z/OS에서 프로토콜 이름의 값 [z/OS]SSLv2, SSLv3, TLSv10, ALL
암호 이름에 대한 값 값에 대해서는 SSL 암호 명세 주제를 참조하십시오.
예 1
소수의 암호만 선택하려는 경우 모든 암호 목록을 재설정한 후 사용하려는 암호를 추가하여 시작하는 것이 최상입니다.
# Delete all
ciphers from the cipher lists SSLCipherSpec ALL NONE 
# Add a few specific ciphers SSLCipherSpec ALL 
   +SSL_RSA_WITH_3DES_EDE_CBC_SHA SSLCipherSpec
ALL +TLS_RSA_WITH_AES_256_CBC_SHA 
예 2 대부분의 기본값을 사용하려 하지만 원하지 않는 한 두 개의 암호가 있는 경우 현재 있는 모든 목록에서 해당 암호를 제거할 수 있습니다.
# Delete some specific ciphers from the protocols 
where they are valid 
SSLCipherSpec ALL -SSL_RSA_WITH_RC4_128_MD5
SSLCipherSpec ALL -SSL_RSA_WITH_RC4_128_SHA 

SSLClientAuth 지시문

SSLClientAuth 지시문은 사용할 클라이언트 인증 모드를 설정합니다(none (0), optional (1) 또는 required(2)).
이름 설명
구문 SSLClientAuth <level required> [crl]
범위 가상 호스트.
기본값 SSLClientAuth none
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트당 하나의 인스턴스.
  • 0/None: 클라이언트 인증이 요청되지 않습니다.
  • 1/Optional: 클라이언트 인증이 요청되지만 필수가 아닙니다.
  • 2/Required: 유효한 클라이언트 인증이 필요합니다.
  • Required_reset: 서버는 모든 클라이언트의 유효한 인증서가 필요하며, 사용 가능한 인증서가 없으면 서버가 클라이언트로 SSL 경보를 보냅니다. 이 경보는 클라이언트가 SSL 실패가 클라이언트 인증 관련임을 이해할 수 있게 하고 브라우저가 후속 액세스에 관한 클라이언트 인증 정보를 다시 프롬프트하게 합니다. 이 옵션은 GSKit 버전 7.0.4.19 이상 또는 z/OS V1R8 이상이 필요합니다.
    중요사항: 숫자 옵션이 제공되지 않으므로 기존 옵션처럼 보이지 않습니다.
  • CRL: SSL 가상 호스트 내에서 인증서 폐기 목록(CRL)을 설정 또는 해제합니다. CRL을 사용하는 경우 SSLClientAuth의 두 번째 인수로 crl을 지정해야 합니다. 예: SSLClientAuth 2 crl. crl을 지정하지 않으면 SSL 가상 호스트에서 CRL을 수행할 수 없습니다.
  • noverify: 클라이언트가 제공하는 인증서가 유효성 검증에 실패하는 경우에도(예를 들어, 인증서가 만기 또는 취소됨) SSL 핸드쉐이크가 성공하고 연결을 확립할 수 있게 합니다. 기본 브라우저 오류 메시지 대신 사용자가 친숙한 웹 페이지를 제공하려면 이 지시문을 SSLClientAuthVerify와 함께 사용하십시오. 이 옵션은 Optional에서만 유효합니다. 올바르지 않은 클라이언트 인증서를 갖는 연결에서 수신된 요청을 실패하려면 SSLClientAuthVerify를 사용하십시오.

0/None을 지정하면 CRL 옵션을 사용할 수 없습니다.

Required_reset 서버는 모든 클라이언트의 유효한 인증서가 필요하며, 사용 가능한 인증서가 없으면 서버가 클라이언트로 SSL 경보를 보냅니다. 이것은 클라이언트가 SSL 실패가 클라이언트 인증 관련임을 이해할 수 있게 하고 브라우저가 후속 액세스에 관한 클라이언트 인증 정보를 다시 프롬프트하게 합니다. 이 옵션은 GSKit 버전 7.0.4.19 이상 또는 z/OS V1R8 이상이 필요합니다.
문제점 방지 문제점 방지: 일부 경우에는 취소 데이터의 소스인 백엔드 서버가 사용 불가능하기 때문에 IBM HTTP Server는 클라이언트 인증의 취소 상태를 판별하지 못할 수 있습니다. 다음을 인식해야 합니다.
  • CRLDistributionPoint 필드에서 다른 URI 양식의 검사가 가능하도록 정적 CRL 저장소(SSLCRLHost)를 구성해야 합니다.
  • 인증서가 CertificateDistributionPoint 또는 AIA 확장의 LDAP 또는 HTTP URI 양식을 사용하는 경우, IBM HTTP Server 시스템이 이 유형의 출력 연결을 확립할 수 있게 하십시오. 사용자의 방화벽 설정을 조정해야 합니다.
  • [AIX Solaris HP-UX Linux Windows]백엔드 서버와 통신할 때 IBM HTTP Server에서 복구 가능한 오류가 발생하는 경우를 위해 SSLUnknownRevocationStatus 지시문이 제공되며, IBM HTTP Server는 인증서의 취소 상태를 판별할 수 없습니다. 기본 동작은 백엔드 서버가 인증서가 취소됨을 성공적으로 표시하지 않는 한 핸드쉐이크 처리를 계속하는 것입니다.
  • [z/OS]명시적으로 구성된 LDAP 서버만 CRL을 조회할 수 있으며 백엔드 서버에 도달할 수 없으면 SSL 핸드쉐이크가 실패합니다.
gotcha

SSLClientAuthGroup 지시문

SSLClientAuthGroup 지시문은 특정 클라이언트 인증서 속성 및 값 쌍의 세트를 포함하는 이름 지정된 표현식 그룹을 정의합니다. 이 이름 지정된 그룹은 SSLClientAuthRequire 지시문에서 사용할 수 있습니다. 클라이언트가 인증서를 제공해야 하며, 서버가 보호되는 자원에 대한 액세스를 허용하기 전에 이 표현식을 패스합니다.

이름 설명
구문 SSLClientAuthGroup group name attribute expression
범위 서버 구성, 가상 호스트.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용됩니다.
대체 없음.
AND, OR, NOT, 괄호로 링크된 속성 검사로 구성되는 논리식입니다. For example:
SSLClientAuthGroup IBMUSpeople (Org
=  IBM) AND (Country = US)

다음 섹션에서는 유효한 논리식을 갖는 예의 설명을 제공합니다. 예를 들어, SSLClientAuthGroup ((CommonName = "Fred Smith") OR (CommonName = "John Deere")) AND (Org = IBM)은 클라이언트 인증서에 Fred Smith 또는 John Deere의 공통 이름이 들어있고 조직이 IBM이 아니면 오브젝트가 서비스되지 않음을 의미합니다. 속성 검사의 유일하게 유효한 비교는 같음 및 같지 않음(= 및 !=)입니다. 각 속성 확인을 AND, OR 또는 NOT(또는 &&, ||, !)과 링크할 수 있습니다. AND, OR 또는 NOT으로 링크하는 모든 비교는 소괄호로 묶어야 합니다. 속성의 값에 영숫자가 아닌 문자가 들어있는 경우 값을 따옴표로 구분해야 합니다.

이 목록에는 이 지시문에 대해 지정할 수 있는 속성 값이 들어있습니다.
표 1. SSLClientAuthGroup 지시문의 속성 값. 표는 각 속성 값을 긴 이름과 축약 이름으로 나열합니다.
긴 이름 축약 이름
CommonName CN
Country C
Email E
IssuerCommonName ICN
IssuerEmail IE
IssuerLocality IL
IssuerOrg IO
IssuerOrgUnit IOU
IssuerPostalCode IPC
IssuerStateOrProvince IST
Locality L
Org O
OrgUnit OU
PostalCode PC
StateOrProvince ST

이 지시문에서는 긴 이름 또는 축약 이름을 사용할 수 있습니다.

사용자는 특정 클라이언트 인증서 속성의 논리식을 지정합니다. 클라이언트 인증서 속성 값의 그룹화를 지정해야 하는 경우 다중 표현식에 대해 AND, OR 또는 NOT을 논리적으로 사용할 수 있습니다. AND, OR 또는 NOT으로 링크하는 모든 비교는 소괄호로 묶어야 합니다. 유효한 연산자는 '=' 및 '!='입니다. For example:
SSLClientAuthGroup IBMpeople Org = IBM)
또는
SSLClientAuthGroup
NotMNIBM (ST != MN) && (Org = IBM) 

그룹 이름은 공백을 포함할 수 없습니다. 자세한 정보는 SSLClientAuthRequire 지시문의 내용을 참조하십시오.

SSLClientAuthRequire 지시문

SSLClientAuthRequire 지시문은 서버가 보호 자원에 대한 액세스를 허용하기 전에 클라이언트 인증서에 대해 유효성 검증되어야 하는 속성 값 또는 속성 값 그룹을 지정합니다.

이름 설명
구문 SSLClientAuthRequire attribute expression
범위 서버 구성, 가상 호스트.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 허용됩니다. 이 기능은 이들 지시문을 "AND"로 결합합니다.
대체 AuthConfig
AND, OR, NOT, 괄호로 링크된 속성 검사로 구성되는 논리식입니다. For example:
SSLClientAuthRequire (group != IBMpeople)
 && (ST = M)

사용자가 받은 인증서에 특정 속성이 없을 경우, 속성 일치에 대한 검증이 없습니다. 지정된 일치 값이 " "인 경우에도 이것은 속성을 전혀 갖지 않는 것과 동일하지 않을 수 있습니다. 인증서에서 사용할 수 없는 SSLClientAuthRequire 지시문에 지정된 모든 속성은 요청이 거부되도록 만듭니다.

목록에는 이 지시문에 대해 지정할 수 있는 속성 값이 들어있습니다.
표 2. SSLClientAuthRequire 지시문에 대한 속성 값. 표는 각 속성 값을 긴 이름과 축약 이름으로 나열합니다.
긴 이름 축약 이름
CommonName CN
Country C
Email E
IssuerCommonName ICN
IssuerEmail IE
IssuerLocality IL
IssuerOrg IO
IssuerOrgUnit IOU
IssuerPostalCode IPC
IssuerStateOrProvince IST
Locality L
Org O
OrgUnit OU
PostalCode PC
StateOrProvince ST

이 지시문에서는 긴 이름 또는 축약 이름을 사용할 수 있습니다.

사용자는 특정 클라이언트 인증서 속성의 논리식을 지정합니다. 클라이언트 인증서 속성 값의 그룹화를 지정해야 하는 경우 다중 표현식에 대해 AND, OR 또는 NOT을 논리적으로 사용할 수 있습니다. AND, OR 또는 NOT으로 링크하는 모든 비교는 소괄호로 묶어야 합니다. 유효한 연산자는 '=' 및 '!='입니다. 사용자는 또한 속성 그룹을 구성하기 위해 SSLClientAuthGroup 지시문를 사용하여 구성되는 그룹 이름을 지정할 수 있습니다.

동일 범위 내에 여러 개의 SSLClientAuthRequire 지시문을 지정할 수 있습니다. 각 지시문의 논리식을 사용하여 각 인증의 액세스 권한을 평가하고 개별 평가 결과는 논리적으로 함께 AND 처리됩니다. For example:
SSLClientAuthRequire
((CommonName="John Doe") || (StateOrProvince=MN)) && (Org
!=IBM)  
또는
SSLClientAuthRequire
(group!=IBMpeople) && (ST=MN)
축약형 이름과 긴 이름은 따옴표(')로 묶을 수 있습니다. For example:
SSLClientAuthRequire (group
!= IBMpeople) && ("ST= MN")
자세한 정보는 SSLClientAuthGroup 지시문의 내용을 참조하십시오.

SSLClientAuthVerify 지시문

SSLClientAuthVerify 지시문은 클라이언트 인증서를 수신하지만 유효성 검증에 실패하는 경우(예를 들어, 만기 또는 취소됨) IBM HTTP Server 요청이 실패하는지 여부를 제어합니다.

이름 설명
구문 SSLClientAuthVerify statuscode|OFF
범위 글로벌 서버 또는 가상 호스트.
기본값 500
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 디렉토리 스탠자당 하나의 인스턴스
HTTP 응답 상태 코드 또는 OFF

기본 브라우저 오류 메시지 대신 사용자에게 친숙한 웹 페이지를 제공하려면 이 지시문을 SSLClientAuth Optional Noverify와 함께 사용하십시오.

SSLClientAuth Optional Noverify로 가상 호스트를 구성하는 경우, 클라이언트 인증서가 수신되지만 유효성 검증에 실패(예를 들어, 만기 또는 취소됨)할 때 SSL 연결을 확립할 수 있습니다.

해당 연결에서 특정 오류 코드와 함께 수신되거나 OFF를 설정하여 정상적으로 처리되는 요청이 실패하게 하려면 Location 또는 Directory 같은 컨텍스트에서 이 지시문을 사용하십시오.

해당 상태에 대한 사용자 정의 오류 문서를 제공함으로써, 예를 들어 사용자에게 인증서가 올바르지 않음을 알리고 추가 지시사항을 제공하기 위해 관리자가 사용자에게 제시되는 페이지를 제어할 수 있습니다.

오류 문서가 동일한 가상 호스트의 다른 URL로 내부적으로 경로 재지정되는 경우 해당 URL이 컨텍스트에 SSLClientAuthVerify OFF를 가져서 즉시 실패하지 않도록 해야 합니다. 이 시나리오의 예는 다음과 같습니다.

지정된 상태 코드는 HTTP에서 유효하고 IBM HTTP Server에 알려진 응답 상태여야 합니다. 값은 범위가 100 - 599이며 일반적으로 RFC 또는 표준 제안에서 정의됩니다. 확실하지 않은 경우 테스트 구성에서 상태 코드를 시도하고 apachectl -t를 사용하여 유효한지 확인하십시오. 유효하고 좋은 선택사항일 수 있는 다른 미사용 코드는 418, 419, 420, 421입니다.

클라이언트 인증서가 올바르지 않았기 때문에 오류 문서에는 클라이언트 인증서에 대한 정보를 포함할 수 있는 어떤 환경 변수도 사용할 수 없습니다. 클라이언트 인증서 유효성 검증 실패의 원인은 SSL_LAST_VALIDATION_ERROR 환경 변수에 있을 수 있습니다. . 이 변수는 GSKVAL_ERROR_REVOKED_CERT 또는 GSKVAL_ERROR_CERT_EXPIRED일 수 있습니다. 인증서에 복수의 유효성 검증 문제점이 있는 경우 보고되는 원인은 보통 GSKVAL_ERROR_CA_MISSING_CRITICAL_BASIC_CONSTRAINT입니다.

클라이언트 인증서 유효성 검증이 실패할 때마다, 두 개의 메시지가 오류 로그의 loglevel Error에 로그됩니다. 두 번째 메시지에 원인이 포함되어 있습니다. 예를 들면,

[Tue Jun 08 08:54:25 2010] [error] [client 9.37.243.128] [9e44c28] [731] SSL0208E: SSL Handshake Failed, 
   Certificate validation error. [9.37.243.128:60347 -> 9.37.243.67:443] [08:54:25.000223331]
[Tue Jun 08 08:54:25 2010] [error] [client 9.37.243.128] [9e44c28] [731] Certificate validation error 
   during handshake, last PKIX/RFC3280 certificate validation error was 
   GSKVAL_ERROR_CA_MISSING_CRITICAL_BASIC_CONSTRAINT 
   [9.37.243.128:60347 -> 9.37.243.67:443] [08:54:25.000223331]
예제 구성:
<VirtualHost *:443
SSLClientAuth Optional Noverify
<Location />
SSLClientAuthVerify 419
</Location>
ErrorDocument 419 /error419.html
<Location /error419.html>
SSLClientAuthVerify OFF
</Location>
</VirtualHost>

SSLCRLHostname 지시문(더 이상 사용되지 않음)

SSLCRLHostname 지시문은 인증서 폐기 목록(CRL) 데이터베이스가 위치하는 LDAP 서버의 TCP/IP 이름 또는 주소를 지정합니다.

이름 설명
구문 <SSLCRLHostName <TCP/IP name or address>
범위 글로벌 서버 또는 가상 호스트.
기본값 기본값으로 사용 불가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
LDAP 서버의 TCP/IP 이름 또는 주소

LDAP 기반 CRL 저장소의 정적 구성을 위해 SSLCRLPort, SSLCRLUserID, SSLStashfile 지시문과 함께 SSLCRLHostname 지시문을 사용하십시오. 명시적 CRLDistributionPoint X.509v3 인증 확장이 없거나 확장자에 지정된 서버가 응답하지 않는(사용 불가능한) 경우에만 이러한 지시문을 사용하여 LDAP 기반 CRL 저장소를 조회해야 합니다.

CRLDistributionPoint 확장이 인증에 있고 확장에 지정된 서버가 응답 가능한(사용 가능한) 경우에는 이러한 지시문을 사용하지 않고 CRLDistributionPoint에 지정된 LDAP 서버가 익명으로 조회됩니다.

SSLCRLPort 지시문(더 이상 사용되지 않음)

SSLCRLPort 지시문은 CRL(인증서 폐기 목록) 데이터베이스가 위치하는 LDAP 서버의 포트를 지정합니다.

이름 설명
구문 SSLCRL<port>
범위 글로벌 서버 또는 가상 호스트.
기본값 기본값으로 사용 불가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
LDAP 서버의 포트. 기본값 = 389.

LDAP 기반 CRL 저장소의 정적 구성을 위해 SSLCRLUserID, SSLCRLHostname, SSLStashfile 지시문과 함께 SSLCRLPort 지시문을 사용하십시오. 명시적 CRLDistributionPoint X.509v3 인증 확장이 없거나 확장자에 지정된 서버가 응답하지 않는(사용 불가능한) 경우에만 이러한 지시문을 사용하여 LDAP 기반 CRL 저장소를 조회해야 합니다.

CRLDistributionPoint 확장이 인증에 있고 확장에 지정된 서버가 응답 가능한(사용 가능한) 경우에는 이러한 지시문을 사용하지 않고 CRLDistributionPoint에 지정된 LDAP 서버가 익명으로 조회됩니다.

SSLCRLUserID 지시문(더 이상 사용되지 않음)

SSLCRLUserID 지시문은 CRL(인증서 폐기 목록) 데이터베이스가 위치하는 LDAP 서버로 전송할 사용자 ID를 지정합니다.

이름 설명
구문 SSLCRLUserID <[prompt] <userid>
범위 글로벌 서버 또는 가상 호스트.
기본값 사용자 ID를 지정하지 않는 경우, 기본값 anonymous로 설정됩니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
LDAP 서버의 사용자 ID입니다. 시작 중에 HTTP 서버가 사용자에게 LDAP 서버에 액세스하기 위한 비밀번호를 프롬프트할 수 있게 하려면 prompt 옵션을 사용하십시오.

LDAP 기반 CRL 저장소의 정적 구성을 위해 SSLCRLPort, SSLCRLHostname, SSLStashfile 지시문과 함께 SSLCRLUserID 지시문을 사용하십시오. 명시적 CRLDistributionPoint X.509v3 인증 확장이 없거나 확장자에 지정된 서버가 응답하지 않는(사용 불가능한) 경우에만 이러한 지시문을 사용하여 LDAP 기반 CRL 저장소를 조회해야 합니다.

CRLDistributionPoint 확장이 인증에 있고 확장에 지정된 서버가 응답 가능한(사용 가능한) 경우에는 이러한 지시문을 사용하지 않고 CRLDistributionPoint에 지정된 LDAP 서버가 익명으로 조회됩니다.

SSLDisable 지시문

SSLDisable 지시문은 가상 호스트에 대한 SSL을 사용 불가능하게 합니다.
이름 설명
구문 SSLDisable
범위 글로벌 서버 또는 가상 호스트.
기본값 기본값으로 사용 불가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
없음.

SSLEnable 지시문

SSLEnable 지시문은 가상 호스트에 대한 SSL을 사용 가능케 합니다.
주의: 지시문이 제공된 가상 호스트 구성에 자동으로 복사되지 않도록 하려면 기본 서버 구성에 이 지시문을 지정하지 말아야 합니다.
이름 설명
구문 SSLEnable
범위 글로벌 서버 또는 가상 호스트.
기본값 기본값으로 사용 불가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
없음.

SSLFakeBasicAuth 지시문

SSLFakeBasicAuth 지시문은 허위 기본 인증 지원을 사용 가능케 합니다.

이 지원을 통해 클라이언트 인증서 식별 이름이 사용자 및 비밀번호 기본 인증 쌍의 사용자 부분이 될 수 있습니다. 비밀번호로 password를 사용하십시오.
주의: 이 지시문은 기본 서버 구성에 의해 대체될 수도 있습니다.
이름 설명
구문 SSLFakeBasicAuth
범위 디렉토리 스탠자 내에서 AuthName, AuthType과 함께 사용되며 지시문이 필요합니다.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 디렉토리 스탠자당 하나의 인스턴스
없음.
[AIX Solaris HP-UX Linux Windows]

SSLFIPSDisable 지시문

SSLFIPSDisable 지시문은 FIPS(Federal Information Processing Standards)를 사용 불가능하게 합니다.
이름 설명
구문 SSLFIPSDisable
범위 가상 및 글로벌.
기본값 기본값으로 사용 불가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
없음.

SSLFIPSEnable 지시문

SSLFIPSEnable 지시문은 FIPS(Federal Information Processing Standards)를 사용 가능하게 합니다.

이 지시문은 분산 플랫폼에 적용할 수 있습니다.

문제점 방지 문제점 방지: 이 지시문은 z/OS 플랫폼에서 지원되며 다음 제한사항을 갖습니다.
  • 지시문은 글로벌 범위에서만 유효합니다.
  • 지시문의 값을 변경하는 경우 새로운 값이 적용되도록 IBM HTTP Server를 중지한 후 시작해야 합니다. 다시 시작하지 않으면 새 값이 적용되지 않습니다.
gotcha
이름 설명
구문 SSLFIPSEnable
범위 가상 및 글로벌.
기본값 기본값으로 사용 불가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
없음.
주의: 값에 대해서는 SSL 암호 명세 주제를 참조하십시오.

SSLInsecureRenegotiation 지시문

SSLInsecureRenegotiation 지시문은 비보안(RFC5746 이전) SSL 재협상이 허용되는지 여부를 판별합니다. 모든 종류의 SSL 재협상은 공통이 아니며, 이 지시문은 기본값인 off에서 변경되지 않아야 합니다.

[AIX Solaris HP-UX Linux Windows]
주의: V8.0.0.1 이전에는 서버가 RFC5746를 지원하며 보안 재협상 요청을 승인합니다. V8.0.0.1 이상에서는 먼저 SSLRenegotiation 지시문을 사용하지 않으면 보안 재협상 요청은 승인되지 않습니다.

on이 지정되면 비보안 SSL 재협상이 허용됩니다. off(기본값)가 지정되면 비보안 SSL 재협상이 허용되지 않습니다.

이름 설명
구문 SSLInsecureRenogotiation directive on|off
범위 가상 호스트
기본값 off
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트 및 글로벌 서버당 하나의 인스턴스
on|off
[AIX Solaris HP-UX Linux Windows]

SSLPKCSDriver 지시문

SSLPKCSDriver 지시문은 PKCS11 디바이스에 액세스하는 데 사용되는 모듈 또는 드라이버의 완전한 이름을 식별합니다.

이름 설명
구문 Fully qualified name to module used to access PKCS11 device>. 모듈이 사용자 경로에 존재하는 경우 모듈의 이름만 지정하십시오.
범위 글로벌 서버 또는 가상 호스트.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
PKCS11 모듈 또는 드라이버의 경로 및 이름.
각 PKCS11 디바이스에 대한 모듈의 기본 위치는 다음과 같습니다.
  • nCipher
    • AIX: /opt/nfast/toolkits/pkcs11/libcknfast.so
    • HP: /opt/nfast/toolkits/pkcs11/libcknfast.sl
    • Solaris: /opt/nfast/toolkits/pkcs11/libcknfast.so
    • Windows: c:\nfast\toolkits\pkcs11\cknfast.dll
  • IBM 4758
    • AIX: /usr/lib/pkcs11/PKCS11_API.so
    • Windows: $PKCS11_HOME\bin\nt\cryptoki.dll
  • IBM e-business Cryptographic Accelerator
    • AIX: /usr/lib/pkcs11/PKCS11_API.so

SSLProtocolDisable 지시문

SSLProtocolDisable 지시문을 사용하여 특정 가상 호스트에 대해 클라이언트가 사용할 수 없는 하나 이상의 SSL 프로토콜을 지정할 수 있습니다. 이 지시문은 <VirtualHost> 컨테이너에 있어야 합니다.

가상 호스트에 대해 지원되는 프로토콜은 별도로 지원됩니다. 지원되는 프로토콜이 모두 사용 불가능한 경우, 클라이언트는 SSL 핸드쉐이크를 완료할 수 없습니다.
이름 설명
구문 SSLProtocolDisable <protocolname>
범위 가상 호스트
기본값 Disabled
주의: SSL 버전 2 프로토콜은 기본적으로 다른 메소드에서 사용 불가능합니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트당 허용되는 다중 인스턴스
이 지시문에는 다음 가능한 값을 사용할 수 있습니다.
  • SSLv2
  • SSLv3
  • TLS
  • TLSv1
  • [AIX Solaris HP-UX Linux Windows]TLSv1.1
  • [AIX Solaris HP-UX Linux Windows]TLSv1.2

TLS는 모든 TLS 버전을 사용 안합니다.

TLSv1은 TLS 버전 1.0을 사용 안합니다.

[AIX Solaris HP-UX Linux Windows]TLSv1.1은 TLS 버전 1.1을 사용 안합니다.

[AIX Solaris HP-UX Linux Windows]TLSv1.2는 TLS 버전 1.2를 사용 안합니다.

다음 예제는 가상 호스트에서 다중 프로토콜 지원을 사용 불가능으로 설정합니다.
<VirtualHost	*:443> SSLEnable SSLProtocolDisable	SSLv2
SSLv3 (any other directives) </VirtualHost>
주의: SSL0230I은 클라이언트 및 서버가 하나 이상의 프로토콜 및 암호 조합을 공유하지 않는 경우 각 SSL 연결 시도에 대해 로그됩니다.

SSLProtocolEnable 지시문

SSLProtocolEnable 지시문을 사용하여 개별 SSL 포로토콜을 사용할 수 있습니다.

[AIX Solaris HP-UX Linux Windows]분산 플랫폼에서는 기본적으로 모든 유용한 프로토콜을 자동으로 사용할 수 있어서 이 지시문의 유용성에 한계가 있었습니다.

[z/OS]z/OS에서는 이 지시문을 TLSv1.1 및 TLSv1.2의 z/OS 서비스 추가사항 지원에 따라 사용할 수 있습니다. z/OS에서 실행되는 IBM HTTP Server에서는 기본적으로 TLSv1.1 및 TLSv1.2 프로토콜을 사용할 수 없게 되어 있습니다.

이름 설명
구문 SSLSuiteBMode
범위 가상 호스트
기본값 설정 해제
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트당 허용되는 다중 인스턴스

SSLProxyEngine 지시문

SSLProxyEngine은 서버가 프록시된 연결을 위해 SSL을 사용하는지 여부를 토글합니다. SSLProxyEngine on은 서버가 SSL 자원을 위한 역방향 프록시로 작용 중인 경우 필수입니다.
이름 설명
구문 SSLProxyEngine on|off
범위 IP 기반 가상 호스트
기본값 Off
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트 및 글로벌 서버당 하나
on|off

SSLRenegotiation 지시문

SSLRenegotiation 지시문은 TLS(Transport Layer Security) 재협상에 대한 IBM HTTP Server 지원을 제어합니다. 지시문은 IBM HTTP Server에서 허용하는 TLS 재협상 유형을 제어합니다. TLS 재협상은 클라이언트가 기존 보안 연결에서 새 SSL 핸드쉐이크를 시작하는 방법입니다. 이는 일반 브라우저 기반 클라이언트에서는 거의 사용하지 않습니다.
이름 설명
구문 SSLRenegotiation on|off|LEGACY_AND_RFC5746
기본값 Off
모듈 mod_ibm_ssl
컨텍스트 가상 호스트
상태 확장
on|off|LEGACY_AND_RFC5746
OFF(기본값)
재협상은 허용되지 않습니다.
ON
보안 재협상(현재 RFC5746에서 정의됨)이 허용됩니다.
LEGACY_AND_RFC5746
보안 재협상 및 기존 비보안 재협상 모두 허용됩니다.
호환성
  • 이 지시문은 IBM HTTP Server 8.0 이상에서 SSLInsecureRenegotiation 지시문을 대체합니다.
  • IBM HTTP Server 8.0.0.0의 기본값은 ON입니다(RFC5746 재협상 채택).
  • 7.0.0.21 이전에 번들된 GSKit 보안 라이브러리는 RFC5746을 인식하지 않으며, "ON"은 기존 비보안 재협상을 참조합니다.
  • LEGACY_AND_RFC5746 옵션에 대한 지원은 IBM HTTP Server 7.0.0.21 이상에 따라 달라집니다.

SSLServerCert 지시문

SSLServerCert 지시문은 가상 호스트에 사용할 서버 인증을 설정합니다.
이름 설명
구문 SSLServerCert [prompt] certificate_labelSSLServerCert [prompt|ecdsa_certificate_label]certificate_label
범위 IP 기반 가상 호스트.
기본값 없습니다. 그러나 SSL 키 저장소에는 자체 기본 인증서가 있습니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
인증서 레이블. 시작 중에 HTTP 서버가 Crypto 토큰 비밀번호를 요구할 수 있도록 하려면 /prompt 옵션을 사용하십시오. 인증서 레이블 주위에 구분 기호를 사용하지 마십시오. 레이블은 한 행에 포함되어야 합니다. 선행 및 후행 공백은 무시됩니다.
각 SSL 키 저장소 keyfile은 기본 인증서를 지정할 수 있습니다. 이 지시문은 키 저장소 기본값이 아닌 인증서를 사용하도록 서버를 구성합니다.
  • 기본값이 아닌 인증서 레이블을 선택하려면 원하는 인증서의 레이블을 값으로 갖는 단일 매개변수를 지정하십시오.
  • 암호화 토큰을 사용하려면 콜론으로 구분된 암호화 토큰 이름과 인증서 레이블(mytoken:mylabel)을 지정하십시오. 선택적으로 /prompt를 첫 번째 매개변수로 지정하여 SSLStashFile을 사용하는 대신 암호화 토큰 비밀번호를 대화식으로 요청하십시오.
  • ECDSA 및 RSA 기반 인증서를 둘 다 구성하려면 두 인증서 레이블을 간격으로 구분하여 지정하십시오. 기본적으로는 RSA 인증서가 사용되지만 TLS 1.2 이상을 지원하는 클라이언트는 핸드쉐이크 중에 ECDSA 인증서를 요청할 수 있습니다.
SSLServerCert 지시문의 예제는 다음과 같습니다.
SSLServerCert example.com
SSLServerCert myRSA, myECDSA
SSLServerCert swtoken:cert1
중요사항: PKCS11 Accelerator를 사용하는 경우 PKCS11 토큰 및 콜론 ":" 구분 기호의 이름으로 레이블을 붙이십시오.

SSLSNIMap

SSLSNIMap 지시문은 TLS SNI(Server Name Indication) 호스트 이름을 인증서 레이블에 맵핑합니다.

이름 설명
구문 SSLSNIMap hostname cert-label
범위 가상 호스트
기본값 Disabled
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트당 여러 개
클라이언트 및 인증서 레이블에 사용된 호스트 이름은 구성된 키 파일에 표시됩니다.

SSLSNIMap 지시문은 클라이언트가 요청한 호스트 이름에 따라 서버가 다른 TLS 인증서를 사용하여 응답할 수 있도록 허용합니다. 이름 기반 가상 호스트가 사용된 경우 SSLSNIMap은 ip:port 조합에 대해 처음 나열된 가상 호스트(이름 기반 가상 호스트 세트의 기본 가상 호스트)에만 있어야 합니다.

SSLStashfile 지시문

SSLStashfile 지시문은 PKCS11 디바이스를 여는 데 필요한 암호화된 비밀번호가 들어있는 파일 이름을 갖는 파일 경로를 표시합니다.

이름 설명
구문 SSLStashFile /usr/HTTPServer/mystashfile.sth
범위 가상 호스트 및 글로벌 서버.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
sslstash 명령을 사용하여 작성된 LDAP 및/또는 PKCS11 숨김 파일의 파일 이름

SSLStashFile은 사용 중인 KeyFile의 숨김 파일을 가리키지 않습니다. 왜냐하면 이 파일은 KeyFile의 이름을 기본으로 자동으로 계산되며 숨김 파일과 유형이 다르기 때문입니다.

CRL 또는 암호 디바이스 숨김 파일을 작성하려면 IBM HTTP Server의 bin 디렉토리에 있는 sslstash 명령을 사용하십시오. 사용자가 sslstash 명령을 사용하여 지정하는 비밀번호는 LDAP 서버 또는 비밀번호 하드웨어에 로그인하는 데 사용하는 비밀번호와 같아야 합니다.

sslstash 명령이 작성하는 숨김 파일은 종종 CMS KeyFile(*.kdb)을 수용하는 숨김 파일과 무관합니다. 그러므로 다음을 확인하십시오.
  • sslstash 명령을 실행할 때 기존 *.sth 파일을 겹쳐쓰지 마십시오.
  • CMS KeyFile(*.kdb)의 파일 이름에 대응하는 sslstash 명령의 출력에 대한 파일 이름을 선택하지 마십시오.

사용법: sslstash [-c] <directory_to_password_file_and_file_name> <function_name> <password>

여기서,
  • -c: 새 숨김 파일을 작성합니다. 지정하지 않으면 기존 파일이 업데이트됩니다.
  • 파일: 작성 또는 업데이트할 파일의 완전한 이름을 나타냅니다.
  • 기능: 비밀번호를 사용할 기능을 표시합니다. 올바른 값은 crl 또는 crypto입니다.
  • 비밀번호: 숨길 비밀번호를 나타냅니다.

LDAP 기반 CRL 저장소의 정적 구성을 위해 SSLCRLPort, SSLCRLHostname, SSLCRLUserID 지시문과 함께 SSLStashFile 지시문을 사용하십시오. 명시적 CRLDistributionPoint X.509v3 인증 확장이 없거나 확장자에 지정된 서버가 응답하지 않는(사용 불가능한) 경우에만 이러한 지시문을 사용하여 LDAP 기반 CRL 저장소를 조회해야 합니다.

CRLDistributionPoint 확장이 인증에 있고 확장에 지정된 서버가 응답 가능한(사용 가능한) 경우에는 이러한 지시문을 사용하지 않고 CRLDistributionPoint에 지정된 LDAP 서버가 익명으로 조회됩니다.

SSLSuiteBMode

SSSLSuiteBMode 지시문을 사용하여 TLS에 Suite B을 사용하도록 엔클로징 가상 호스트를 구성할 수 있습니다.

Suite B 파일은 서버의 사용 가능한 서명 알고리즘 및 암호 스펙을 대폭 줄입니다. 승인 가능한 알고리즘 및 암호 세트는 시간 경과에 따라 관련 표준 변경으로 변경됩니다. 128 및 192 인수에서는 RFC 6460에 기술된 두 가지의 보안 레벨을 참조합니다.

이 지시문을 지정하여 최근 지정한 SSL 지시문을 대체합니다. 이 지시문의 우선순위는 SSLAttributeSet 설정보다 낮으므로 이를 대체할 수 없습니다. 모든 Suite B 프로파일에는 서버가 강력한 ECC 서명을 사용할 수 있도록 하는 인증 체인이 필요합니다. RFC 6460에는 Suite B 프로파일의 제한사항이 기술되어 있습니다.

이름 설명
구문 SSLSuiteBMode
범위 가상 호스트
기본값 설정 해제
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 가상 호스트 마다 한 번

SSLTrace 지시문

SSLTrace 지시문은 mod_ibm_ssl에서 디버그 로깅을 사용 가능케 합니다. 이 지시문은 LogLevel 지시문과 함께 사용됩니다. mod_ibm_ssl에서 디버그 로깅을 사용하려면 LogLevel을 debug로 설정하고 IBM HTTP Server 구성 파일에서 글로벌 범위에 SSLTrace 지시문을 추가하십시오(mod_ibm_ssl의 LoadModule 지시문 다음에). 이 지시문은 일반적으로 mod_ibm_ssl에서 의심이 가는 문제점을 조사하는 중에 IBM 지원의 요청 시에 사용됩니다. 정상 작동 상태에서 이 지시문을 사용하는 것은 권장하지 않습니다.

이름 설명
구문 SSLTrace
범위 글로벌
기본값 mod_ibm_ssl 디버그 로깅이 사용되지 않습니다.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 무시
없음
주의: 또한 LogLevel 지시문도 참조하십시오.
[AIX Solaris HP-UX Linux Windows]

SSLUnknownRevocationStatus

SSLUnknownRevocationStatus 지시문은 IBM HTTP Server가 CRL 또는 OCSP를 통해 수신되는 취소 상태를 쉽게 판별할 수 없을 때 IBM HTTP Server가 반응하는 방법을 지정합니다.

이름 설명
구문 SSLUnknownRevocationStatus ignore | log | log_always | deny
범위 가상 호스트
기본값 ignore
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트에 대해 허용되는 하나의 인스턴스
ignore
핸드쉐이크가 완료되고 취소 상태를 알 수 없을 때 디버그 레벨 메시지가 발행되도록 지정합니다. 이 메시지는 SSL 세션이 재개될 때 다시 발행되지 않습니다.
log
핸드쉐이크가 완료되고 취소 상태를 알 수 없을 때 주의 레벨 메시지가 발행되도록 지정합니다. 이 메시지는 SSL 세션이 재개될 때 다시 발행되지 않습니다.
log_always
핸드쉐이크가 완료되고 취소 상태를 알 수 없을 때 주의 레벨 메시지가 발행되도록 지정합니다. IBM HTTP Server는 후속 핸드쉐이크에 대해 동일한 메시지를 발행합니다.
deny
핸드쉐이크가 완료될 때, 취소 상태를 알 수 없을 때, 세션이 재개 불가능할 때, HTTPS 연결이 즉시 닫힐 때 주의 레벨 메시지가 발행되도록 지정합니다. IBM HTTP Server는 후속 핸드쉐이크에 대해 동일한 메시지를 보고합니다.
config: 메시지가 UnknownRevocationStatus에 대해 로그될 때마다, 내부 SSL 환경 변수인 SSL_UNKNOWNREVOCATION_SUBJECT 변수가 설정됩니다. 다음 구문으로 이 변수를 로그할 수 있습니다.
%{SSL_UNKNOWNREVOCATION_SUBJECT}e
또한 SSLUnknownRevocationStatus 지시문이 deny 이외의 값을 가질 때 mod_rewrite 표현식에서 이 변수를 사용할 수 있습니다. 다음 변수 이름을 사용하십시오.
%{ENV:SSL_UNKNOWNREVOCATION_SUBJECT}

SSLV2Timeout 지시문

SSLV2Timeout 지시문은 SSL 버전 2 세션 ID의 제한시한을 설정합니다.

이름 설명
구문 SSLV2Timeout 60
범위 글로벌 기본 및 가상 호스트.
기본값 40
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
0 - 100초.

SSLV3Timeout 지시문

SSLV3Timeout 지시문은 SSL 버전 3 및 TLS 세션 ID에 대한 제한시간을 설정합니다.

이름 설명
구문 SSLV3Timeout 1000
범위 글로벌 기본 및 가상 호스트.

[Windows]가상 호스트 범위 또는 글로벌 범위가 적용됩니다.

[AIX][HP-UX][Linux][Solaris]SSLCacheDisable 지시문도 사용 중인 경우에 가상 호스트 범위를 적용할 수 있습니다. 그렇지 않으면 글로벌 범위만 허용됩니다.

기본값 120
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스.
0 - 86400초.

SSLVersion 지시문

SSLVersion 지시문은 클라이언트가 지정된 것과 다른 SSL 프로토콜 버전을 사용하여 연결된 경우 403 응답과 함께 오브젝트 액세스 거부를 유발합니다.

대부분의 경우에 특정 SSL 프로토콜 버전의 사용을 보장하기 위해 SSLProtocolDisable 지시문이 SSLVersion 지시문보다 더 좋은 선택입니다. SSLProtocolDisable 지시문은 클라이언트 브라우저가 가능한 경우 다른 프로토콜 버전을 협상할 수 있도록 하는 반면 SSLVersion 지시문은 IBM HTTP Server가 403 응답을 전송하게 하며, 이것은 사용자를 혼동시킬 수 있습니다.

이름 설명
구문 SSLVersion ALL
범위 디렉토리 스탠자당 하나.
기본값 없음.
모듈 mod_ibm_ssl
구성 파일의 다중 인스턴스 각 <Directory>> 또는 <Location>> 스탠자에 대한 하나의 인스턴스.
[AIX Solaris HP-UX Linux Windows]SSLV2|SSLV3|TLS|TLSV1|TLSV11|TLSV12|ALL [z/OS]SSLV2|SSLV3|TLS|TLSV1|ALL

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=rihs_ssldirs
파일 이름:rihs_ssldirs.html