SSL(Secure Sockets Layer) 지시문은 IBM® HTTP Server에서 SSL 기능을 제어하는 구성 매개변수입니다.
IBM HTTP Server의 대부분의 SSL 지시문은 동작이 동일합니다. 제공된 가상 호스트 구성에 대해 지정된 지시문이 기본 서버 구성에 지정된 지시문을 대체합니다. 또한 하위 디렉토리에 대해 지정된 지시문은 상위 디렉토리에 지정된 지시문을 대체합니다. 그러나 예외가 있습니다.
또한 하위 디렉토리에 대해 지정된 지시문이 상위 디렉토리에 대해 지정된 지시문에 추가될 수도 있습니다. 이 경우, 상위 디렉토리에 대한 지시문은 하위 디렉토리에 대한 지시문을 대체하지는 않지만 그 대신 하위 디렉토리에 추가되며 두 지시문 모두 하위 디렉토리에 적용됩니다.
이름 | 설명 |
---|---|
구문 |
|
범위 | 가상 호스트 |
기본값 | Disabled |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트당 하나 |
값 | OCSP 응답기를 가리키는 완전한 URL(예: http://hostname:2560/). |
CRL 검사가 구성된 경우에도 모든 CRL 검사 전에 OCSP 검사가 수행됩니다. CRL 검사는 CRL 결과가 알 수 없음 또는 미결인 경우에만 발생합니다.
SSLOCSPResponderURL이 설정되는 경우 IBM HTTP Server는 제공되는 URL을 사용하여 SSL 클라이언트 인증이 제공될 때 인증서 취소 상태를 검사합니다.
이름 | 설명 |
---|---|
구문 |
|
범위 | 가상 호스트 |
기본값 | 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 응답기를 검사합니다.
이름 | 설명 |
---|---|
구문 | ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
범위 | 글로벌 기본 및 가상 호스트 |
기본값 | 없음 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트 및 글로벌 서버당 하나의 인스턴스 |
값 | 키 파일의 파일 이름.
|
이름 | 설명 |
---|---|
구문 | SSLAcceleratorDisable |
범위 | 가상 및 글로벌 |
기본값 | Accelerator Device가 사용 가능합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트당 하나의 인스턴스. |
값 | 없음. 가상 호스트 내부를 포함하여 구성 파일의 내부 어떠한 곳이라도 이 지시문을 포함시키십시오. 초기화 중에 시스템에 Accelerator Device가 설치되어 있음이 판별하면 시스템이 설치된 Accelerator를 사용하여 보안 트랜잭션 수를 증가시킵니다. 이 지시문은 인수를 사용하지 않습니다. |
이름 | 설명 |
---|---|
구문 | SSLAllowNonCriticalBasicConstraints on|off |
범위 | 글로벌 서버 또는 가상 호스트 |
기본값 | Off |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트 및 글로벌 서버당 하나의 인스턴스 |
값 | 없음. 이 지시문은 발행자 인증 기관(CA) 인증서에
대한 중요하지 않은 기본 제한조건 확장이 유효성 검증 실패를
유발하지 않도록 인증서 유효성 검증 알고리즘의 동작을
변경합니다. 이것은 RFC3280와 충돌하는 일본 정부의
GPKI 스펙의 한 측면과의 호환성을 가능케
합니다. 주의: RFC3280은
이 확장이 인증서의 디지털 서명을 유효성 검증하는 데
사용되는 공개 키가 들어있는 모든 CA 인증서에 중요한
확장으로 나타나야 한다고 명시합니다.
|
이름 | 설명 |
---|---|
구문 | SSLCacheDisable |
범위 | 가상 호스트 스탠자의 외부에서만 사용 가능한, 실제 Apache 서버 인스턴스당 하나. |
기본값 | 없음 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용되지 않습니다. |
값 | 없음. |
이름 | 설명 |
---|---|
구문 | SSLCacheEnable |
범위 | 가상 호스트 스탠자의 외부에서만 사용 가능한, 실제 Apache 서버 인스턴스당 하나. |
기본값 | 없음 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용되지 않습니다. |
값 | 없음. |
이름 | 설명 |
---|---|
구문 | SSLCacheErrorLog /usr/HTTPServer/logs/sidd_logg |
범위 | 가상 호스트 밖에서의 서버 구성. |
기본값 | 없음 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용되지 않습니다. |
값 | 유효한 파일 이름. |
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 |
구성 파일의 다중 인스턴스 | 허용되지 않습니다. |
값 | 유효한 경로 이름. |
이름 | 설명 |
---|---|
구문 | SSLCachePath /usr/HTTPServer/logs/sidd |
범위 | 가상 호스트 밖에서의 서버 구성. |
기본값 | 이 지시문을 지정하지 않았으며 캐시가 사용 가능한 경우, 서버는 <server-root>/logs/siddport 파일을 사용합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용되지 않습니다. |
값 | 유효한 경로 이름. 웹 서버가 시작 중에 이 파일을 삭제합니다. 이름 지정하지 마십시오. |
이름 | 설명 |
---|---|
구문 | SSLCacheTraceLog /usr/HTTPServer/logs/sidd-trace.log |
범위 | 가상 호스트 밖에서의 서버 구성. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용되지 않습니다. |
값 | 유효한 경로 이름. |
이름 | 설명 |
---|---|
구문 | SSLCipherBan <cipher_specification> |
범위 | 각 디렉토리 스탠자에 대해 다중 인스턴스. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 디렉토리 스탠자별로 허용됩니다. 환경 설정의 순서는 최상위에서부터 맨 아래순입니다. |
값 | 값에 대해서는 SSL 암호 명세 주제를 참조하십시오. |
이름 | 설명 |
---|---|
구문 | SSLCipherRequire <cipher_specification> |
범위 | 각 디렉토리 스탠자에 대해 다중 인스턴스. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 디렉토리 스탠자별로 허용됩니다. |
값 | 값에 대해서는 SSL 암호 명세 주제를 참조하십시오. |
SSLCipherSpec 지시문으로 핸드쉐이크 중에 지원되는 SSL 암호를 사용자 정의할 수 있습니다. SSL 암호 세트 및 SSL 암호의 환경 설정 순서를 사용자 정의할 수 있습니다.
분산 플랫폼에서 각 프로토콜은
고유하게 정렬된 암호 목록을 갖습니다. 지원되는 프로토콜을 SSL
버전 2, SSL 버전 3, TLS 버전 1.0, TLS 버전 1.1, TLS 버전
1.2입니다.
z/OS에서는 사용 가능한 암호의 두 목록인 SSL 버전 2에
대해 하나 및 기타 프로토콜에 대해 하나만 있습니다. 지원되는
프로토콜은 SSL 버전 2, SSL 버전 3, TLS 버전 1.0입니다.
SSL 버전 2 암호의 기본값은 암호 없음이며, 이것은 해당 프로토콜이 사용 안함임을 의미합니다. 기타 프로토콜의 기본값은 널 암호, 내보내기 암호, 약한 암호를 제외한 SSL 암호 세트입니다.
SSLCipherSpec의 단일 인수 양식을 사용할 때, 주어진 암호가 유효한 모든 프로토콜에서 사용 가능합니다. 처음 그런 변경이 각 프로토콜에 대해 작성될 때 프로토콜의 기본 암호가 삭제됩니다.
SSLCipherSpec의 다중 인수 양식을 사용할 때 SSL 프로토콜의 이름(또는 "ALL")을 첫 번째 인수로 지정하면 다음과 같은 이점을 갖는 개선된 구문을 사용할 수 있습니다.
프로토콜 이름을 "ALL"로 제공하는 경우 각 암호 이름에 대해 지정된 추가 또는 제거가 해당 암호가 유효한 각 프로토콜에 적용됩니다.
특수한 사례로 단일 명령으로 모든 암호 목록을 비우기 위해 SSLCipherSpec ALL NONE을 사용할 수 있습니다. 이 명령의 사용이 언제든지 기본 암호를 사용하지 않으려는 경우에 구성을 시작하는 좋은 방법입니다.
이름 | 설명 |
---|---|
![]() |
![]() |
![]() |
![]() |
범위 | 가상 호스트. |
기본값 | 지정된 것이 없으면 서버는 사용 가능한 널이 아니고, 내보내기가 아니며 약하지 않은 모든 암호 명세를 사용합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용됩니다. 환경 설정 순서는 최상위에서부터 맨 아래, 첫 번째부터 마지막순입니다. |
![]() |
![]() |
![]() |
![]() |
암호 이름에 대한 값 | 값에 대해서는 SSL 암호 명세 주제를 참조하십시오. |
예 1 |
소수의 암호만 선택하려는 경우 모든 암호 목록을 재설정한 후
사용하려는 암호를 추가하여 시작하는 것이 최상입니다.
|
예 2 | 대부분의 기본값을 사용하려
하지만 원하지 않는 한 두 개의 암호가 있는 경우 현재 있는
모든 목록에서 해당 암호를 제거할 수 있습니다.
|
이름 | 설명 |
---|---|
구문 | SSLClientAuth <level required> [crl] |
범위 | 가상 호스트. |
기본값 | SSLClientAuth none |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트당 하나의 인스턴스. |
값 |
값 0/None을 지정하면 CRL 옵션을 사용할 수 없습니다. |
Required_reset | 서버는 모든 클라이언트의 유효한 인증서가 필요하며, 사용 가능한 인증서가 없으면 서버가 클라이언트로 SSL 경보를 보냅니다. 이것은 클라이언트가 SSL 실패가 클라이언트 인증 관련임을 이해할 수 있게 하고 브라우저가 후속 액세스에 관한 클라이언트 인증 정보를 다시 프롬프트하게 합니다. 이 옵션은 GSKit 버전 7.0.4.19 이상 또는 z/OS V1R8 이상이 필요합니다. |
SSLClientAuthGroup 지시문은 특정 클라이언트 인증서 속성 및 값 쌍의 세트를 포함하는 이름 지정된 표현식 그룹을 정의합니다. 이 이름 지정된 그룹은 SSLClientAuthRequire 지시문에서 사용할 수 있습니다. 클라이언트가 인증서를 제공해야 하며, 서버가 보호되는 자원에 대한 액세스를 허용하기 전에 이 표현식을 패스합니다.
이름 | 설명 |
---|---|
구문 | SSLClientAuthGroup group name attribute expression |
범위 | 서버 구성, 가상 호스트. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용됩니다. |
대체 | 없음. |
값 | AND, OR, NOT, 괄호로 링크된
속성 검사로 구성되는 논리식입니다. 예:
|
다음 섹션에서는 유효한 논리식을 갖는 예의 설명을 제공합니다. 예를 들어, SSLClientAuthGroup ((CommonName = "Fred Smith") OR (CommonName = "John Deere")) AND (Org = IBM)은 클라이언트 인증서에 Fred Smith 또는 John Deere의 공통 이름이 들어있고 조직이 IBM이 아니면 오브젝트가 서비스되지 않음을 의미합니다. 속성 검사의 유일하게 유효한 비교는 같음 및 같지 않음(= 및 !=)입니다. 각 속성 확인을 AND, OR 또는 NOT(또는 &&, ||, !)과 링크할 수 있습니다. AND, OR 또는 NOT으로 링크하는 모든 비교는 소괄호로 묶어야 합니다. 속성의 값에 영숫자가 아닌 문자가 들어있는 경우 값을 따옴표로 구분해야 합니다.
긴 이름 | 축약 이름 |
---|---|
CommonName | CN |
Country | C |
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 |
이 지시문에서는 긴 이름 또는 축약 이름을 사용할 수 있습니다.
SSLClientAuthGroup IBMpeople Org = IBM)
또는 SSLClientAuthGroup
NotMNIBM (ST != MN) && (Org = IBM)
그룹 이름은 공백을 포함할 수 없습니다. 자세한 정보는 SSLClientAuthRequire 지시문의 내용을 참조하십시오.
SSLClientAuthRequire 지시문은 서버가 보호 자원에 대한 액세스를 허용하기 전에 클라이언트 인증서에 대해 유효성 검증되어야 하는 속성 값 또는 속성 값 그룹을 지정합니다.
이름 | 설명 |
---|---|
구문 | SSLClientAuthRequire attribute expression |
범위 | 서버 구성, 가상 호스트. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 허용됩니다. 이 기능은 이들 지시문을 "AND"로 결합합니다. |
대체 | AuthConfig |
값 | AND, OR, NOT, 괄호로 링크된
속성 검사로 구성되는 논리식입니다. 예:
|
사용자가 받은 인증서에 특정 속성이 없을 경우, 속성 일치에 대한 검증이 없습니다. 지정된 일치 값이 " "인 경우에도 이것은 속성을 전혀 갖지 않는 것과 동일하지 않을 수 있습니다. 인증서에서 사용할 수 없는 SSLClientAuthRequire 지시문에 지정된 모든 속성은 요청이 거부되도록 만듭니다.
긴 이름 | 축약 이름 |
---|---|
CommonName | CN |
Country | C |
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
((CommonName="John Doe") || (StateOrProvince=MN)) && (Org
!=IBM)
또는 SSLClientAuthRequire
(group!=IBMpeople) && (ST=MN)
SSLClientAuthRequire (group
!= IBMpeople) && ("ST= MN")
자세한 정보는 SSLClientAuthGroup 지시문의
내용을 참조하십시오. 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 지시문은 인증서 폐기 목록(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 지시문은 CRL(인증서 폐기 목록) 데이터베이스가 위치하는 LDAP 서버의 포트를 지정합니다.
이름 | 설명 |
---|---|
구문 | SSLCRL<port> |
범위 | 글로벌 서버 또는 가상 호스트. |
기본값 | 기본값으로 사용 불가능합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | LDAP 서버의 포트. 기본값 = 389. |
LDAP 기반 CRL 저장소의 정적 구성을 위해 SSLCRLUserID, SSLCRLHostname, SSLStashfile 지시문과 함께 SSLCRLPort 지시문을 사용하십시오. 명시적 CRLDistributionPoint X.509v3 인증 확장이 없거나 확장자에 지정된 서버가 응답하지 않는(사용 불가능한) 경우에만 이러한 지시문을 사용하여 LDAP 기반 CRL 저장소를 조회해야 합니다.
CRLDistributionPoint 확장이 인증에 있고 확장에 지정된 서버가 응답 가능한(사용 가능한) 경우에는 이러한 지시문을 사용하지 않고 CRLDistributionPoint에 지정된 LDAP 서버가 익명으로 조회됩니다.
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 |
범위 | 글로벌 서버 또는 가상 호스트. |
기본값 | 기본값으로 사용 불가능합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | 없음. |
이름 | 설명 |
---|---|
구문 | SSLEnable |
범위 | 글로벌 서버 또는 가상 호스트. |
기본값 | 기본값으로 사용 불가능합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | 없음. |
SSLFakeBasicAuth 지시문은 허위 기본 인증 지원을 사용 가능케 합니다.
이름 | 설명 |
---|---|
구문 | SSLFakeBasicAuth |
범위 | 디렉토리 스탠자 내에서 AuthName, AuthType과 함께 사용되며 지시문이 필요합니다. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 디렉토리 스탠자당 하나의 인스턴스 |
값 | 없음. |
이름 | 설명 |
---|---|
구문 | SSLFIPSDisable |
범위 | 가상 및 글로벌. |
기본값 | 기본값으로 사용 불가능합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | 없음. |
SSLFIPSEnable 지시문은 FIPS(Federal Information Processing Standards)를 사용 가능하게 합니다.
이 지시문은 분산 플랫폼에 적용할 수 있습니다.
이름 | 설명 |
---|---|
구문 | SSLFIPSEnable |
범위 | 가상 및 글로벌. |
기본값 | 기본값으로 사용 불가능합니다. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | 없음. |
SSLInsecureRenegotiation 지시문은 비보안(RFC5746 이전) SSL 재협상이 허용되는지 여부를 판별합니다. 모든 종류의 SSL 재협상은 공통이 아니며, 이 지시문은 기본값인 off에서 변경되지 않아야 합니다.
on이 지정되면 비보안 SSL 재협상이 허용됩니다. off(기본값)가 지정되면 비보안 SSL 재협상이 허용되지 않습니다.
이름 | 설명 |
---|---|
구문 | SSLInsecureRenogotiation directive on|off |
범위 | 가상 호스트 |
기본값 | off |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트 및 글로벌 서버당 하나의 인스턴스 |
값 | on|off |
SSLPKCSDriver 지시문은 PKCS11 디바이스에 액세스하는 데 사용되는 모듈 또는 드라이버의 완전한 이름을 식별합니다.
이름 | 설명 |
---|---|
구문 | Fully qualified name to module used to access PKCS11 device>. 모듈이 사용자 경로에 존재하는 경우 모듈의 이름만 지정하십시오. |
범위 | 글로벌 서버 또는 가상 호스트. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | PKCS11 모듈 또는 드라이버의 경로 및 이름. |
SSLProtocolDisable 지시문을 사용하여 특정 가상 호스트에 대해 클라이언트가 사용할 수 없는 하나 이상의 SSL 프로토콜을 지정할 수 있습니다. 이 지시문은 <VirtualHost> 컨테이너에 있어야 합니다.
이름 | 설명 |
---|---|
구문 | SSLProtocolDisable <protocolname> |
범위 | 가상 호스트 |
기본값 | Disabled
주의: SSL 버전 2 프로토콜은 기본적으로
다른 메소드에서 사용 불가능합니다.
|
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트당 허용되는 다중 인스턴스 |
값 | 이 지시문에는 다음 가능한
값을 사용할 수 있습니다.
|
값 TLS는 모든 TLS 버전을 사용 안합니다.
값 TLSv1은 TLS 버전 1.0을 사용 안합니다.
값 TLSv1.1은
TLS 버전 1.1을 사용 안합니다.
값 TLSv1.2는
TLS 버전 1.2를 사용 안합니다.
<VirtualHost *:443> SSLEnable SSLProtocolDisable SSLv2
SSLv3 (any other directives) </VirtualHost>
SSLProtocolEnable 지시문을 사용하여 개별 SSL 포로토콜을 사용할 수 있습니다.
분산 플랫폼에서는 기본적으로 모든 유용한 프로토콜을
자동으로 사용할 수 있어서 이 지시문의 유용성에
한계가 있었습니다.
z/OS에서는 이 지시문을 TLSv1.1 및 TLSv1.2의 z/OS 서비스 추가사항 지원에 따라 사용할 수 있습니다. z/OS에서 실행되는 IBM
HTTP Server에서는 기본적으로 TLSv1.1 및 TLSv1.2 프로토콜을 사용할 수 없게 되어 있습니다.
구문 | SSLSuiteBMode |
범위 | 가상 호스트 |
기본값 | 설정 해제 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트당 허용되는 다중 인스턴스 |
이름 | 설명 |
---|---|
구문 | SSLProxyEngine on|off |
범위 | IP 기반 가상 호스트 |
기본값 | Off |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트 및 글로벌 서버당 하나 |
값 | on|off |
이름 | 설명 |
---|---|
구문 | SSLRenegotiation on|off|LEGACY_AND_RFC5746 |
기본값 | Off |
모듈 | mod_ibm_ssl |
컨텍스트 | 가상 호스트 |
상태 | 확장 |
값 | on|off|LEGACY_AND_RFC5746 |
이름 | 설명 |
---|---|
구문 | SSLServerCert [prompt] my_certificate_label; on PKCS11 device - SSLServerCert mytokenlabel:mykeylabel |
범위 | IP 기반 가상 호스트. |
기본값 | 없음. |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | 인증서 레이블. 시작 중에 HTTP 서버가 Crypto 토큰 비밀번호를 요구할 수 있도록 하려면 /prompt 옵션을 사용하십시오. 인증서 레이블 주위에 구분 기호를 사용하지 마십시오. 레이블은 한 행에 포함되어야 합니다. 선행 및 후행 공백은 무시됩니다. |
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 [-c] <directory_to_password_file_and_file_name> <function_name> <password>
LDAP 기반 CRL 저장소의 정적 구성을 위해 SSLCRLPort, SSLCRLHostname, SSLCRLUserID 지시문과 함께 SSLStashFile 지시문을 사용하십시오. 명시적 CRLDistributionPoint X.509v3 인증 확장이 없거나 확장자에 지정된 서버가 응답하지 않는(사용 불가능한) 경우에만 이러한 지시문을 사용하여 LDAP 기반 CRL 저장소를 조회해야 합니다.
CRLDistributionPoint 확장이 인증에 있고 확장에 지정된 서버가 응답 가능한(사용 가능한) 경우에는 이러한 지시문을 사용하지 않고 CRLDistributionPoint에 지정된 LDAP 서버가 익명으로 조회됩니다.
SSSLSuiteBMode 지시문을 사용하여 TLS에 Suite B을 사용하도록 엔클로징 가상 호스트를 구성할 수 있습니다.
Suite B 파일은 서버의 사용 가능한 서명 알고리즘 및 암호 스펙을 대폭 줄입니다. 승인 가능한 알고리즘 및 암호 세트는 시간 경과에 따라 관련 표준 변경으로 변경됩니다. 128 및 192 인수에서는 RFC 6460에 기술된 두 가지의 보안 레벨을 참조합니다.
이 지시문을 지정하여 최근 지정한 SSL 지시문을 대체합니다. 이 지시문의 우선순위는 SSLAttributeSet 설정보다 낮으므로 이를 대체할 수 없습니다. 모든 Suite B 프로파일에는 서버가 강력한 ECC 서명을 사용할 수 있도록 하는 인증 체인이 필요합니다. RFC 6460에는 Suite B 프로파일의 제한사항이 기술되어 있습니다.
구문 | SSLSuiteBMode |
범위 | 가상 호스트 |
기본값 | 설정 해제 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 가상 호스트 마다 한 번 |
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 |
구성 파일의 다중 인스턴스 | 무시 |
값 | 없음 |
SSLUnknownRevocationStatus 지시문은 IBM HTTP Server가 CRL 또는 OCSP를 통해 수신되는 취소 상태를 쉽게 판별할 수 없을 때 IBM HTTP Server가 반응하는 방법을 지정합니다.
이름 | 설명 |
---|---|
구문 | SSLUnknownRevocationStatus ignore | log | log_always | deny |
범위 | 가상 호스트 |
기본값 | ignore |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트에 대해 허용되는 하나의 인스턴스 |
값 |
|
%{SSL_UNKNOWNREVOCATION_SUBJECT}e
또한 SSLUnknownRevocationStatus 지시문이 deny 이외의
값을 가질 때 mod_rewrite 표현식에서 이 변수를 사용할 수 있습니다. 다음 변수 이름을 사용하십시오. %{ENV:SSL_UNKNOWNREVOCATION_SUBJECT}
SSLV2Timeout 지시문은 SSL 버전 2 세션 ID의 제한시한을 설정합니다.
이름 | 설명 |
---|---|
구문 | SSLV2Timeout 60 |
범위 | 글로벌 기본 및 가상 호스트. |
기본값 | 40 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | 0 - 100초. |
SSLV3Timeout 지시문은 SSL 버전 3 및 TLS 세션 ID에 대한 제한시간을 설정합니다.
이름 | 설명 |
---|---|
구문 | SSLV3Timeout 1000 |
범위 | 글로벌 기본 및 가상 호스트.
|
기본값 | 120 |
모듈 | mod_ibm_ssl |
구성 파일의 다중 인스턴스 | 각 가상 호스트 및 글로벌 서버에 대해 하나의 인스턴스. |
값 | 0 - 86400초. |
SSLVersion 지시문은 클라이언트가 지정된 것과 다른 SSL 프로토콜 버전을 사용하여 연결된 경우 403 응답과 함께 오브젝트 액세스 거부를 유발합니다.
대부분의 경우에 특정 SSL 프로토콜 버전의 사용을 보장하기 위해 SSLProtocolDisable 지시문이 SSLVersion 지시문보다 더 좋은 선택입니다. SSLProtocolDisable 지시문은 클라이언트 브라우저가 가능한 경우 다른 프로토콜 버전을 협상할 수 있도록 하는 반면 SSLVersion 지시문은 IBM HTTP Server가 403 응답을 전송하게 하며, 이것은 사용자를 혼동시킬 수 있습니다.
이름 | 설명 | |
---|---|---|
구문 | SSLVersion ALL | |
범위 | 디렉토리 스탠자당 하나. | |
기본값 | 없음. | |
모듈 | mod_ibm_ssl | |
구성 파일의 다중 인스턴스 | 각 <Directory> 또는 <Location> 스탠자에 대한 하나의 인스턴스 | |
값 | ![]() |
![]() |