Oracle® Solaris 11.2의 네트워크 보안

인쇄 보기 종료

업데이트 날짜: 2014년 8월
 
 

SSL 커널 프록시를 사용하도록 Apache 2.2 웹 서버를 구성하는 방법

SSL 커널 프록시는 Apache 2.2 웹 서버에서 SSL 패킷 처리 속도를 높일 수 있습니다. 이 절차에서는 Figure 3–1에서 보여주는 간단한 시나리오를 구현합니다.

시작하기 전에

Apache 2.2 웹 서버를 구성했습니다. 이 웹 서버는 Oracle Solaris에 포함되어 있습니다.

root 역할을 맡아야 합니다.

  1. 웹 서버를 중지합니다.
    # svcadm disable svc:/network/http:apache22
  2. 서버 개인 키와 서버 인증서를 한 파일에 저장합니다.

    ssl.conf 파일에서 SSLCertificateFile 매개변수만 지정한 경우 SSL 커널 프록시에 대해 지정한 파일을 직접 사용할 수 있습니다.

    SSLCertificateKeyFile 매개변수도 지정한 경우 인증서 파일과 개인 키 파일을 결합해야 합니다. 다음과 유사한 명령을 실행하여 파일을 결합합니다.

    # cat cert.pem key.pem > cert-and-key.pem
  3. ksslcfg 명령과 함께 사용할 매개변수를 결정합니다.

      ksslcfg(1M) 매뉴얼 페이지에서 전체 옵션 목록을 참조하십시오. 제공해야 하는 매개변수는 다음과 같습니다.

    • key-format – 인증서 및 키 형식을 정의하기 위해 –f 옵션과 함께 사용합니다. SSL 커널 프록시의 경우 지원되는 형식은 pkcs11, pempkcs12입니다.

    • key-and-certificate-filepempkcs12 key-format 옵션에 대한 서버 키 및 인증서를 저장하는 파일의 위치를 설정하기 위해 –i 옵션과 함께 사용합니다.

    • password-filepem 또는 pkcs12 key-format 옵션에 대한 개인 키를 암호화하는 데 사용되는 암호를 가져오기 위해 –p 옵션과 함께 사용합니다. pkcs11의 경우 암호를 사용하여 PKCS #11 토큰 인증을 받습니다. 0400 권한으로 암호 파일을 보호해야 합니다. 이 파일은 무인 재부트에 필요합니다.

    • token-label – PKCS #11 토큰을 지정하기 위해 –T 옵션과 함께 사용합니다.

    • certificate-label – PKCS #11 토큰에서 인증서 객체의 레이블을 선택하기 위해 –C 옵션과 함께 사용합니다.

    • proxy-port - SSL 프록시 포트를 설정하기 위해 –x 옵션과 함께 사용합니다. 표준 포트 80과 다른 포트를 지정해야 합니다. 웹 서버는 암호화 해제된 일반 텍스트 트래픽을 위한 SSL 프록시 포트에서 수신 대기합니다. 일반적으로 값은 8443입니다.

    • ssl-port – SSL 커널 프록시에 대한 수신 포트를 지정합니다. 일반적으로 값은 443입니다.

  4. SSL 커널 프록시에 대한 서비스 인스턴스를 만듭니다.

    다음 형식 중 하나를 사용하여 SSL 프록시 포트와 관련 매개변수를 지정합니다.

    • PEM 또는 PKCS #12를 키 형식으로 지정합니다.
      # ksslcfg create -f key-format -i key-and-certificate-file \
      -p password-file -x proxy-port ssl-port
    • PKCS #11을 키 형식으로 지정합니다.
      # ksslcfg create -f pkcs11 -T PKCS11-token -C certificate-label \ 
      -p password-file -x proxy-port ssl-port
  5. 서비스 인스턴스가 온라인 상태인지 확인합니다.
    # svcs svc:/network/ssl/proxy
    STATE          STIME    FMRI
    online         02:22:22 svc:/network/ssl/proxy:default

    다음 출력은 감사 서비스 인스턴스가 만들어지지 않았음을 나타냅니다.

    svcs: Pattern 'svc:/network/ssl/proxy' doesn't match any instances
    STATE          STIME    FMRI
  6. 웹 서버를 SSL 프록시 포트에서 수신 대기하도록 구성합니다.

    /etc/apache2/2.2/http.conf 파일을 편집하고 SSL 프록시 포트를 정의하도록 행을 추가합니다. 서버 IP 주소를 사용하는 경우 웹 서버는 해당 인터페이스에 대해서만 수신합니다. 행은 다음과 유사합니다.

    Listen proxy-port
  7. 웹 서버에 대한 SMF 종속성을 설정합니다.

    웹 서버 서비스는 SSL 커널 프록시 인스턴스가 시작된 후에만 시작할 수 있습니다. 다음 명령은 이러한 종속성을 설정합니다.

    # svccfg -s svc:/network/http:apache22
    svc:/network/http:apache22> addpg kssl dependency
    ...apache22> setprop kssl/entities = fmri:svc:/network/ssl/proxy:kssl-INADDR_ANY-443
    ...apache22> setprop kssl/grouping = astring: require_all
    ...apache22> setprop kssl/restart_on = astring: refresh
    ...apache22> setprop kssl/type = astring: service
    ...apache22> end
  8. 웹 서버 서비스를 사용으로 설정합니다.
    # svcadm enable svc:/network/http:apache22