Apache Web Server에서 수동으로 SSL 구성

smsps는 SSL v2/v3 및 TLS(Transport Layer Security) v1 네트워크 프로토콜과 관련 암호화 표준을 구현하는 OpenSSL 암호화 도구 키트를 사용합니다. OpenSSL 도구 키트에는 키 및 인증서 생성을 위한 openssl 명령줄 도구가 포함되어 있습니다. openssl 실행 파일 이미지와 지원 라이브러리는 installation_home\SSL\bin 폴더나 해당하는 UNIX 디렉터리에 있습니다.
sm1252sp1kkr
인증서 관리
CA Access Gateway
는 SSL v2/v3 및 TLS(Transport Layer Security) v1 네트워크 프로토콜과 관련 암호화 표준을 구현하는 OpenSSL 암호화 도구 키트를 사용합니다. OpenSSL 도구 키트에는 키 및 인증서 생성을 위한 openssl 명령줄 도구가 포함되어 있습니다. openssl 실행 파일 이미지와 지원 라이브러리는 installation_home\SSL\bin 폴더나 해당하는 UNIX 디렉터리에 있습니다.
다음 단계를 수행하십시오.
  1. 고려 사항을 검토합니다.
  2. 다음 단계 중 하나를 사용하여 개인 키를 만듭니다.
    1. FIPS 전용 모드를 위한 개인 키를 생성합니다.
    2. FIPS 호환성 모드를 위한 개인 키를 생성합니다.
  3. 다음 단계 중 하나를 수행합니다.
    1. 인증 서명 요청을 생성하여 인증 기관에 제출하고, 인증 기관에서 인증서를 다운로드하여 설치합니다.
    2. 자체 서명된 공용 인증서를 생성합니다.
  4. SSL을 사용하도록 설정합니다.
고려 사항 검토
SSL을 구성하기 전에 개인 키와 서버 인증서에 대한 다음 정보를 검토하십시오.
  • 서버 인증서와 개인 키는 함께 작동하므로 서버 인증서를 해당 개인 키와 함께 사용하십시오.
  • 서버 인증서는 인증 기관(CA)에 의해 디지털 서명되어야 합니다. 내부 데모를 위해 SSL을 활성화하려는 경우 서버 인증서는 자체 개인 키를 사용하여 자체 서명될 수 있습니다.
  • SSL.conf 파일의 SSLCertificateFile 및 SSLCertificateKeyFile 지시문은 해당하는 인증서와 키 파일을 가리켜야 합니다.
  • Apache의 가상 호스트 기능을 사용하는 경우 보호하려는 각 가상 호스트마다 별도의 개인 키와 서버 인증서가 있어야 합니다.
개인 키 생성
SSL은 키를 사용하여 메시지를 암호화 및 암호 해독합니다. 키는 공개 키 하나와 개인 키 하나의 쌍으로 이루어집니다.
키에는 다양한 암호화 알고리즘과 키 교환 방법이 사용됩니다. 인증서와 함께 사용하기 위해 개인 키를 생성할 때는 DES(Date Encryption Standard) 암호화 알고리즘을 사용한 RSA 키 교환 방식이 일반적으로 사용됩니다. 키 출력 파일은 암호화된 ASCII PEM 형식을 사용합니다.
FIPS 전용 모드를 위한 개인 키 생성
PKCS#8 형식은 호환되는 암호화 및 해싱 알고리즘을 사용하여 파일을 암호화합니다. 필요한 강력한 암호화에는 3DES 서명과 SHA1 해싱이 사용됩니다.
암호화된 개인 키를 생성하려면 다음 단계를 수행하십시오.
  1. 명령줄 창을 엽니다. 
  2. 다음 디렉터리로 이동합니다.
    installation_home
    \SSL\bin
    installation_home
    CA SiteMinder® SPS가 설치된 디렉터리를 정의합니다.
    기본값
    : (Windows) [32 비트] C:\Program Files\CA\secure-proxy
    기본값
    : (Windows) [64 비트] C:\CA\secure-proxy
    기본값
    : (UNIX/Linux) /opt/CA/secure-proxy
  3. 다음 명령을 실행하여 암호화되지 않은 키를 생성합니다.
    openssl genrsa -out unencryptedserver.key
    numbits
    (선택 사항) numbits
    반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.
    기본값
    : 1024
    범위
    : 1024 - 2048
  4. 다음 명령을 실행하여 생성된 키를 암호화하고 파일을 보호할 암호를 입력합니다.
openssl pkcs8 -in unencryptedserver.key -topk8 -out
server
.key -v1 PBE-SHA1-3DES
server
서버의 정규화된 도메인 이름을 지정합니다.
암호화되지 않은 개인 키를 생성하려면 다음 단계를 수행하십시오.
  1. 명령줄 창을 엽니다.
  2. 다음 디렉터리로 이동합니다.
    installation_home
    \SSL\bin
    installation_home
    CA SiteMinder® SPS가 설치된 디렉터리를 정의합니다.
    기본값
    : (Windows) [32 비트] C:\Program Files\CA\secure-proxy
    기본값
    : (Windows) [64 비트] C:\CA\secure-proxy
    기본값
    : (UNIX/Linux) /opt/CA/secure-proxy
  3. 다음 명령을 실행합니다.
    openssl genrsa -out ..\keys\
    server
    .key
    numbits
    server
    서버의 정규화된 도메인 이름을 지정합니다.
    (선택 사항) numbits
    반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.
    기본값
    : 1024
    범위
    : 1024 - 2048
개인 암호화되지 않은 서버 키가 생성됩니다.
FIPS 호환성 모드에서 개인 키 생성
이 과정에서는 호환되는 암호화 및 해싱 알고리즘을 사용하여 파일을 암호화합니다. 필요한 강력한 암호화에는 3DES 서명과 MD5 해싱이 사용됩니다.
암호화된 개인 키를 생성하려면 다음 단계를 수행하십시오.
  1. 명령줄 창을 엽니다.
  2. 다음 디렉터리로 이동합니다.
    installation_home
    \SSL\bin
    installation_home
    CA SiteMinder® SPS가 설치된 디렉터리를 정의합니다.
    기본값
    : (Windows) [32 비트] C:\Program Files\CA\secure-proxy
    기본값
    : (Windows) [64 비트] C:\CA\secure-proxy
    기본값
    : (UNIX/Linux) /opt/CA/secure-proxy
  3. 다음 명령을 실행하고 파일을 보호할 암호를 입력합니다.
    openssl genrsa -des3 -out ..\keys\
    server
    .key [
    numbits
    ]
    server
    서버의 정규화된 도메인 이름을 지정합니다.
    (선택 사항)
    numbits
    반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.
    기본값
    : 1024
    범위
    : 1024 - 2048
암호화되지 않은 개인 키를 생성하려면 다음 단계를 수행하십시오.
  1. 명령줄 창을 엽니다.
  2. 다음 디렉터리로 이동합니다.
    installation_home
    \SSL\bin
    installation_home
    CA SiteMinder® SPS가 설치된 디렉터리를 정의합니다.
    기본값
    : (Windows) [32 비트] C:\Program Files\CA\secure-proxy
    기본값
    : (Windows) [64 비트] C:\CA\secure-proxy
    기본값
    : (UNIX/Linux) /opt/CA/secure-proxy
  3. 다음 명령을 실행합니다.
    openssl genrsa -out ..\keys\
    server
    .key [
    numbits
    ]
    server
    서버의 정규화된 도메인 이름을 지정합니다.
    (선택 사항)
    numbits
    반드시 생성되어야 하는 개인 키의 비트 크기를 지정합니다.
    기본값
    : 1024
     
    범위
    : 1024 - 2048
인증서 서명 요청 생성 및 제출
개인 키를 사용하여 인증서 요청 또는 인증서 서명 요청을 생성하고, 인증서에 서명하기 위해 해당 요청을 인증 기관에 제출하십시오.
다음 단계를 수행하십시오.
  1. 명령줄 창을 엽니다.
  2. 다음 명령을 실행합니다.
    openssl req -config .\openssl.cnf -new -key ..\keys\server.key -out ..\keys\server.csr
  3. 값을 요청하면 값을 입력합니다.
    시스템이 인증서 파일 이름과 요청 번호를 사용하여 인증서 요청을 생성합니다.
  4. (선택 사항) 이후 참조할 수 있도록 파일 이름과 인증서 서명 요청을 기록해 둡니다.
  5. 인증 기관으로 인증서 서명 요청을 제출합니다.
인증 기관으로부터 인증서를 다운로드하여 설치
인증 기관으로부터 자체 서명된 인증서를 다운로드하십시오.
다음 단계를 수행하십시오.
  1. 인증서 요청을 생성한
    CA Access Gateway
    호스트에 로그인합니다.
  2. httpd-ssl conf 파일을 엽니다.
    기본 경로
    :
    installation_home
    \httpd\conf\extra\httpd-ssl.conf
  3. 서버 키 및 인증서의 지시문이 올바른지 확인합니다.
  4. SSLPassPhraseDialog 변수의 값을 custom으로 설정합니다.
  5. SSLCustomPropertiesFile 변수의 값을 <installation_home>\httpd\conf\spsapachessl.properties로 설정합니다.
  6. 루트 CA에 대한 참조가 설정되었는지 확인합니다.
  7. 다음 단계를 수행하여 RootCA 또는 자체 서명된 인증서를 ca-bundle.cert에 추가합니다.
    1. 메모장에서 인증서를 열고 BEGIN부터 END까지의 행을 복사합니다.
    2. 메모장에서 ca-bundle.cert를 열고 끝에 인증서에서 복사한 줄을 붙여넣습니다.
  8. 변경 내용을 저장합니다.
자체 서명된 인증서 생성
자체 서명된 인증서를 생성하려면 다음 단계를 수행하십시오.
  1. 명령줄 창을 엽니다.
  2. 다음 명령을 실행합니다.
    openssl req -new -x509 -key server.key -out server.crt -days 365 -config openssl.cnf
  3. 출력을 다음 위치에 넣으십시오.
installation_home
\SSL\certs
SSL 사용
암호화되거나 암호화되지 않은 개인 키에 대해 SSL을 활성화할 수 있습니다.
Windows에서 암호화되지 않은 개인 키에 대해 SSL 활성화
Windows에서 암호화되지 않은 개인 키에 대해 SSL을 활성화하려면 spsapachessl.properties 파일을 생성하십시오.
다음 단계를 수행하십시오.
  1. 관리자 권한으로 명령줄 창을 엽니다.
  2. 다음 디렉터리로 이동합니다.
    text
    installation_home
    \httpd\bin
  3. 다음 스크립트 파일을 실행합니다.
    textconfigssl.bat -enable
    참고
    덮어쓰기 경고가 표시되면 기존 spsapachessl.properties 파일의 덮어쓰기를 승인하십시오.
    SSL이 구성되었습니다.
UNIX에서 암호화되지 않은 개인 키에 대해 SSL 활성화
UNIX에서 암호화되지 않은 개인 키를 활성화하려면 다음 위치에 있는 spsapachessl.properties를 편집하십시오.
installation_home
/httpd/conf/spsapachessl.properties
다음 단계를 수행하십시오.
  1. 텍스트 편집기에서 spsapachessl.properties파일을 엽니다.
  2. 다음 줄을 추가 또는 편집합니다.
  3. 다음 작업 중 하나를 수행합니다.
    • apache.ssl.enabled=가 파일에 있으면 다음 값으로 이 줄을 설정하십시오.
      textapache.ssl.enabled=Y
    • apache.ssl.enabled=가 파일에 없으면 다음 형식으로 행을 추가하십시오.
      textapache.ssl.enabled=Y
  4. 변경 내용을 저장합니다.
암호화된 개인 키에 대해 SSL을 활성화
암호화된 개인 키에 대해 SSL을 활성화하려면 spsapachessl.properties 파일을 생성하십시오.
다음 단계를 수행하십시오.
  1. 관리자 권한으로 명령줄 창을 엽니다.
  2. 다음 디렉터리로 이동합니다.
    Windows
    text
    installation_home
    \httpd\bin
    UNIX
    text
    installation_home
    /httpd/bin
  3. 다음 스크립트를 실행합니다.
    Windows
    textconfigssl.bat -enable
    passphrase
    UNIX
    textconfigssl.sh
    passphrase
    참고
    passphrase 값은 서버 키의 passphrase 값과 일치해야 합니다. 덮어쓰기 경고가 표시되면 기존 spsapachessl.properties 파일의 덮어쓰기를 승인하십시오. Unix의 경우 암호에 특수 문자를 사용하려면 특수 문자를 작은따옴표로 묶어 지정하십시오.
    암호는 암호화되어 spsapachessl.properties 파일에 저장됩니다.
  4. 보안 프록시 서비스를 다시 시작합니다.
가상 호스트에 SSL 사용
Apache 서버는 가상 호스트, 즉 단일 Apache 바이너리에서 실행되는 여러 웹 호스트를 지원합니다. Apache 가상 호스트는 이름 기반이거나 IP 기반일 수 있습니다. 이름 기반 가상 호스트는 단일 IP 주소를 공유할 수 있는 반면에 IP 기반 가상 호스트의 경우에는 각 가상 호스트마다 서로 다른 IP 주소가 필요합니다.
SSL 프로토콜을 사용하는 Apache 가상 호스트는 다음 조건을 충족해야 합니다.
  • 프로토콜의
    제한 사항으로 인해 IP 기반이어야 합니다.
  • Apache 구성 파일에 보안(HTTPS) 및 비보안(HTTP) 요청 모두에 대한 가상 호스트 컨테이너가 있어야 합니다.
다음은 보안(HTTPS) 가상 호스트의 예입니다.
<VirtualHost 10.0.0.1:443> DocumentRoot ".../htdocs/site1" ServerName www.site1.net ServerAdmin [email protected] ErrorLog logs/covalent_error_log_site1 TransferLog logs/... SSLEngine on SSLCertificateFile /www.site1.net.cert SSLCertificateKeyFile /www.site1.net.key CustomLog logs/cipher_log_site1 \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>