Sun Java System Directory Server Enterprise Edition 6.3 관리 설명서

20장 디렉토리 프록시 서버 인증서

이 장에서는 디렉토리 프록시 서버에서 인증서를 구성하는 방법에 대해 설명합니다. 디렉토리 서버에서 인증서를 구성하는 방법에 대한 자세한 내용은 인증서 관리를 참조하십시오.

이 장의 절차에서는 dpadmdpconf 명령을 사용합니다. 이러한 명령에 대한 자세한 내용은 dpadm(1M)dpconf(1M) 설명서 페이지를 참조하십시오.

이 장은 다음 내용으로 구성되어 있습니다.

자체 서명된 기본 인증서

디렉토리 프록시 서버 인스턴스를 만들 때 인스턴스에 자체 서명된 기본 인증서가 포함됩니다. 자체 서명된 인증서는 공개 키가 디렉토리 프록시 서버에서 자체 서명된 공개 키와 개인 키 쌍입니다.

Procedure자체 서명된 기본 인증서 보기

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 자체 서명된 기본 인증서를 봅니다.


    $ dpadm show-cert instance-path defaultservercert

디렉토리 프록시 서버에 대한 인증서 만들기, 요청 및 설치

디렉토리 프록시 서버에서 SSL(Secure Sockets Layer)을 실행하려면 자체 서명된 인증서 또는 PKI(Public Key Infrastructure) 솔루션을 사용해야 합니다.

PKI 솔루션에는 외부 인증 기관(CA)이 필요합니다. 즉, PKI 솔루션에는 공개 키와 개인 키가 모두 포함된 CA 서명된 서버 인증서가 필요합니다. 이 인증서는 하나의 디렉토리 프록시 서버 인스턴스에만 적용됩니다. 또한 공개 키가 포함된 신뢰할 수 있는 CA 인증서도 필요합니다. 신뢰할 수 있는 CA 인증서를 사용하면 CA의 모든 서버 인증서가 신뢰됩니다. 이 인증서를 CA 루트 키 또는 루트 인증서라고도 합니다.

기본값 이외의 자체 서명된 인증서를 만들고 CA 서명된 인증서를 요청 및 설치하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.

Procedure디렉토리 프록시 서버에 기본값 이외의 자체 서명된 인증서를 만드는 방법

디렉토리 프록시 서버 인스턴스를 만드는 경우 자체 서명된 기본 인증서가 자동으로 제공됩니다. 기본값 이외의 설정으로 자체 서명된 인증서를 만들려면 다음 절차를 사용합니다.

이 절차를 수행하면 공개 키가 디렉토리 프록시 서버에서 서명된 서버 인증서에 대해 공개 키와 개인 키 쌍이 만들어집니다. 자체 서명된 인증서는 3개월 동안 유효합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 디렉토리 프록시 서버에 대해 기본값 이외의 자체 서명된 인증서를 만들려면 다음을 입력합니다.


    $ dpadm add-selfsign-cert instance-path cert-alias
    

    여기서 cert-alias는 자체 서명된 인증서의 이름입니다.

    예를 들어 다음과 같이 my-self-signed-cert라는 인증서를 만들 수 있습니다.


    $ dpadm add-selfsign-cert /local/dps my-self-signed-cert

    모든 명령 옵션에 대한 설명을 보려면 dpadm(1M) 설명서 페이지를 참조하거나 명령줄에 dpadm add-selfsign-cert --help를 입력하십시오.

Procedure디렉토리 프록시 서버에 대해 CA 서명된 인증서를 요청하는 방법

자체 서명된 인증서는 테스트용으로 유용합니다. 그러나, 작업 환경에서는 신뢰할 수 있는 인증 기관(CA) 인증서를 사용하는 것이 보다 안전합니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. CA 서명된 서버 인증서를 요청합니다.


    $ dpadm request-cert instance-path cert-alias
    

    여기서 cert-alias는 요청하는 인증서의 이름입니다. 인증 기관에서는 서버를 식별하는 데 모든 명령 옵션이 필요할 수 있습니다. 모든 명령 옵션에 대한 설명은 dpadm(1M) 설명서 페이지를 참조하십시오.

    CA 인증서를 얻기 위한 프로세스는 사용하는 CA에 따라 다릅니다. 일부 상용 CA에서는 인증서를 다운로드할 수 있는 웹 사이트를 제공합니다. 다른 CA에서는 인증서를 전자 메일로 보냅니다.

    예를 들어 다음과 같이 my-CA-signed-cert라는 인증서를 요청할 수 있습니다.


    $ dpadm request-cert -S cn=my-request,o=test /local/dps my-CA-signed-cert
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIBYDCBygIBADAhMQ0wCwYDVQQDEwRnZXJpMRAwDgYDVQQDEwdteWNlcnQ0MIGfMA0GCSqGSIb3
    DQEBAQUAA4GNADCBiQKBgQC3v9ubG468wnjBDAMbRrEkmFDTQzT+LO30D/ALLXOiElVsHrtRyWhJ
    PG9cURI9uwqs15crxCpJvho1kt3SB9+yMB8Ql+CKnCQDHlNAfnn30MjFHShv/sAuEygFsN+Ekci5
    W1jySYE2rzE0qKVxWLSILFo1UFRVRsUnORTX/Nas7QIDAQABoAAwDQYJKoZIhvcNAQEEBQADgYEA
    fcQMnZNLpPobiX1xy1ROefPOhksVz8didY8Q2fjjaHG5lajMsqOROzubsuQ9Xh4ohT8kIA6xcBNZ
    g8FRNIRAHCtDXKOdOm3CpJ8da+YGI/ttSawIeNAKU1DApF9zMb7c2lS4yEfWmreoQdXIC9YeKtF6
    zwbn2EmIpjHzETtS5Nk=
    -----END NEW CERTIFICATE REQUEST-----

    dpadm request-cert 명령을 사용하여 인증서를 요청할 때 이 인증서 요청은 PEM(Privacy Enhanced Mail) 형식의 PKCS #10 인증서 요청입니다. PEM은 RFC 1421부터 1424까지 지정된 형식입니다. 자세한 내용은 http://www.ietf.org/rfc/rfc1421.txt를 참조하십시오. PEM 형식은 base64로 인코딩된 인증서 요청을 ASCII 형식으로 나타냅니다.

    CA 서명된 인증서를 요청할 때 자체 서명된 임시 인증서가 만들어집니다. CA에서 CA 서명된 인증서를 받아 설치하면 자체 서명된 임시 인증서가 새 인증서로 대체됩니다.

  2. 이 절차에 따라 인증서 요청을 CA에 보냅니다.

    요청을 전송한 후에는 CA에서 이 요청에 대한 응답으로 인증서를 보내줄 때까지 기다려야 합니다. 요청에 대한 응답 시간은 경우에 따라 달라집니다. 예를 들어 회사 내부의 CA인 경우 응답 시간이 단축될 수 있습니다. 그러나, 회사 외부의 CA인 경우에는 요청에 대한 응답을 받을 때까지 몇 주가 걸릴 수도 있습니다.

  3. CA에서 받은 인증서를 저장합니다.

    인증서를 텍스트 파일로 저장하고 안전한 위치에 백업합니다.

Procedure디렉토리 프록시 서버에 CA 서명된 서버 인증서를 설치하는 방법

CA 서명된 서버 인증서를 신뢰하려면 인증서를 디렉토리 프록시 서버 인스턴스에 설치해야 합니다. 이 절차를 수행하면 CA 인증서의 공개 키가 디렉토리 프록시 서버의 인증서 데이터베이스에 설치됩니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 이 CA의 신뢰할 수 있는 CA 인증서가 이미 설치되었는지 확인합니다.

    이 작업을 수행하려면 CA 인증서를 나열하는 방법에 설명된 것처럼 설치된 CA 인증서를 모두 나열합니다.

  2. 신뢰할 수 있는 CA 인증서가 설치되어 있지 않으면 디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 이 인증서를 추가합니다.


    $ dpadm add-cert instance-path cert-alias cert-file
    

    여기서 cert-alias는 신뢰할 수 있는 CA 인증서의 이름이고 cert-file은 신뢰할 수 있는 CA 인증서가 포함된 파일의 이름입니다.

  3. CA 서명된 서버 인증서를 인증서 데이터베이스에 설치합니다.


    $ dpadm add-cert instance-path cert-alias cert-file
    

    여기서 cert-alias는 CA 서명된 서버 인증서의 이름이고 cert-file은 CA 서명된 서버 인증서가 포함된 파일의 이름입니다. 이 cert-alias는 인증서 요청에서 사용된 cert-alias와 동일해야 합니다.

    예를 들어 이름이 CA-cert인 CA 서명된 서버 인증서를 다음과 같이 /local/dps의 인증서 데이터베이스에 추가할 수 있습니다.


    $ dpadm add-cert /local/dps CA-cert /local/safeplace/ca-cert-file.ascii

디렉토리 프록시 서버의 만료된 CA 서명 인증서 갱신

이 절에서는 만료된 CA 서명 서버 인증서를 갱신하는 방법에 대해 설명합니다.

Procedure디렉토리 프록시 서버의 만료된 CA 서명 서버 인증서를 갱신하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 해당 CA에서 업데이트된 인증서를 얻습니다.

  2. 디렉토리 프록시 서버 인스턴스에 인증서를 설치합니다.


    $ dpadm renew-cert instance-path cert-alias cert-file
    

    여기서 cert-alias는 새 인증서의 이름이고 cert-file은 인증서가 포함된 파일의 이름입니다. 모든 명령 옵션에 대한 설명은 dpadm(1M) 설명서 페이지를 참조하십시오.

인증서 나열

서버 인증서 및 CA 인증서를 나열하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.

Procedure서버 인증서를 나열하는 방법

이 절차를 수행하면 디렉토리 프록시 서버 인스턴스에 설치된 모든 인증서가 나열됩니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 있는 서버 인증서를 나열합니다.


    $ dpadm list-certs instance-path
    

    기본적으로 디렉토리 프록시 서버 인스턴스에는 이름이 defaultservercert인 서버 인증서가 포함되어 있습니다. Same as issuer 텍스트는 자체 서명된 서버 인증서가 기본 인증서임을 나타냅니다.

    예를 들면 다음과 같습니다.


    $ dpadm list-certs /local/dps
    Alias             Valid from       Expires on       Self-signed? Issued by          Issued to
    ----------------- ---------------- ---------------- ------------ ------------------ --------------
    defaultservercert 2006/06/01 04:15 2008/05/31 04:15 y            CN=myserver:myport Same as issuer
    1 certificate found.

ProcedureCA 인증서를 나열하는 방법

이 절차를 수행하면 디렉토리 프록시 서버 인스턴스에 설치된 CA 인증서가 나열됩니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 있는 CA 인증서를 나열합니다.


    $ dpadm list-certs -C instance-path
    

    예를 들면 다음과 같습니다.


    $ dpadm list-certs -C /local/dps
    Alias   Valid from       Expires on        Built-in  Issued by    Issued to
    ------  ----------       ----------------  --------- ---------    ---------
    CAcert1 1999/06/21 06:00 2020/06/21 06:00  y         CN=company1, O=company2
    ...

백엔드 LDAP 서버의 인증서를 디렉토리 프록시 서버의 인증서 데이터베이스에 추가

이 절에서는 백엔드 LDAP 서버의 인증서를 디렉토리 프록시 서버의 인증서 데이터베이스에 추가하는 방법에 대해 설명합니다.

Procedure백엔드 디렉토리 서버의 인증서를 디렉토리 프록시 서버의 인증서 데이터베이스에 추가하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 다음 명령 구문을 사용하여 백엔드 디렉토리 서버의 인증서를 PEM 형식으로 표시합니다.


    dsadm show-cert -F ascii instance-path [cert-alias]

    cert-alias를 지정하지 않으면 기본 서버 인증서가 표시됩니다. 모든 명령 옵션에 대한 설명은 dsadm(1M) 설명서 페이지를 참조하십시오.

    예를 들어 자체 서명된 기본 서버 인증서는 다음과 같이 표시됩니다.


    $ dsadm show-cert -F ascii /local/ds defaultCert
    -----BEGIN CERTIFICATE-----
    MIICJjCCAY+gAwIBAgIFAIKL36kwDQYJKoZIhvcNAQEEBQAwVzEZMBcGA1UEChMQ
    U3VuIE1pY3Jvc3lzdGVtczEZMBcGA1UEAxMQRGlyZWN0b3J5IFNlcnZlcjENMAsG
    A1UEAxMEMjAxMTEQMA4GA1UEAxMHY29uZHlsZTAeFw0wNjA1MjIxMTQxNTVaFw0w
    NjA4MjIxMTQxNTVaMFcxGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbXMxGTAXBgNV
    BAMTEERpcmVjdG9yeSBTZXJ2ZXIxDTALBgNVBAMTBDIwMTExEDAOBgNVBAMTB2Nv
    bmR5bGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK9U3ry3sJmEzwQY8CGd
    7S2MTZuBedo03Vea1lfDtD08WIsdDMzhHplTdeHAkWWNc8g2PDcEFXeWp9UXFMuD
    Pcia7t8HtFkm73VmlriWhMd8nn3l2vkxhsPK2LHFEeOIUDR9LBBiMiEeLkjdoEhE
    VLMSoYKqKI+Aa5grINdmtFzBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAF4eDbSd7
    qy2l10dIogT+rnXZ362gLTlQFCblhbGpmmptbegUdL1ITGv/62q1isPV2rW7CkjM
    Cqb0fo3k5UkKKvW+JbMowpQeAPnlgpX612HuDr1tldnKV4eyU7gpG31t/cpACALQ
    7OPi1A7oVb2Z8OJKfEJHkp3txBSsiI2gTkk=
    -----END CERTIFICATE-----
  2. 인증서를 저장합니다.

    인증서를 텍스트 파일로 저장하고 안전한 위치에 백업합니다.

  3. 백엔드 LDAP 서버의 인증서를 디렉토리 프록시 서버 인스턴스의 인증서 데이터베이스에 추가합니다.


    $ dpadm add-cert instance-path cert-alias cert-file
    

    여기서 cert-alias는 인증서의 이름이고 cert-file은 인증서가 포함된 파일의 이름입니다.

    예를 들어 다음과 같이 defaultCert 인증서를 추가할 수 있습니다.


    $ dpadm add-cert /local/dps defaultCert /local/safeplace/defaultCert.ascii

인증서를 백엔드 LDAP 서버로 내보내기

백엔드 LDAP 서버에 디렉토리 프록시 서버의 인증서가 필요할 수 있습니다. 이 절에서는 디렉토리 프록시 서버를 구성하여 인증서를 백엔드 LDAP 서버로 내보내는 방법에 대해 설명합니다.

Procedure디렉토리 프록시 서버를 구성하여 클라이언트 인증서를 백엔드 LDAP 서버로 내보내는 방법

  1. 백엔드 LDAP 서버로 보낼 인증서를 지정합니다.


    $ dpconf set-server-prop -h host -p port ssl-client-cert-alias:cert-alias
    

    여기서 cert-alias는 인증서의 이름입니다. 모든 명령 옵션에 대한 설명은 dpconf(1M) 설명서 페이지를 참조하십시오.

  2. 인증서 내용을 파일에 복사합니다.


    $ dpadm show-cert -F ascii -o filename instance-path cert-alias
    
  3. CA 서명된 서버 인증서 및 신뢰할 수 있는 CA 인증서를 추가하는 방법에 설명된 것처럼 인증서를 백엔드 LDAP 서버의 인증서 데이터베이스에 추가합니다.

다음 순서

클라이언트 인증을 위해 백엔드 LDAP 서버를 구성합니다. 디렉토리 서버에서 이 작업을 수행하는 방법에 대한 자세한 내용은 자격 증명 수준 및 인증 방법 구성을 참조하십시오.

참조

클라이언트와 디렉토리 프록시 서버 간에 인증서 기반 인증을 구성하는 방법에 대한 자세한 내용은 인증서 기반 인증을 구성하는 방법을 참조하십시오.

디렉토리 프록시 서버의 인증서 데이터베이스 백업 및 복원

서버 인증서는 dpadm을 사용하여 디렉토리 프록시 서버를 백업할 때 함께 백업됩니다. 백업된 인증서는 archive-path/alias 디렉토리에 저장됩니다.

디렉토리 프록시 서버를 백업 및 복원하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버 인스턴스 백업 및 복원를 참조하십시오.

인증서 데이터베이스에 액세스할 때 비밀번호 요청을 프롬프트

기본적으로 인증서 데이터베이스의 비밀번호는 내부적으로 관리됩니다. 따라서, 인증서 비밀번호를 입력하거나 비밀번호 파일을 지정할 필요가 없습니다. 인증서 데이터베이스를 저장된 비밀번호를 통해 내부적으로 관리할 경우에는 해당 비밀번호가 보안 환경에 저장됩니다.

인증서에 대한 보안과 제어를 강화하려면 명령줄에서 비밀번호 요청을 프롬프트하도록 디렉토리 프록시 서버를 구성합니다. 그러면 autostart, backup, disable-service, enable-service, info, restorestop을 제외한 dpadm의 모든 하위 명령에서 비밀번호를 입력하라는 메시지가 표시됩니다.

비밀번호 요청을 프롬프트하거나 프롬프트하지 않도록 디렉토리 프록시 서버를 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.

Procedure인증서 데이터베이스에 액세스할 때 비밀번호 요청을 프롬프트하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 서버를 중지합니다.


    $ dpadm stop instance-path
    Directory Proxy Server instance 'instance-path' stopped
  2. 비밀번호 프롬프트 플래그를 on으로 설정한 다음 인증서 데이터베이스 비밀번호를 입력하고 확인합니다.


    $ dpadm set-flags instance-path cert-pwd-prompt=on
    Choose the certificate database password:
    Confirm the certificate database password:
  3. 서버를 시작한 다음 인증서 데이터베이스 비밀번호를 입력합니다.


    $ dpadm start instance-path
    Enter the certificate database password:

Procedure인증서 데이터베이스에 액세스할 때 비밀번호 요청 프롬프트를 비활성화하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 서버를 중지합니다.


    $ dpadm stop instance-path
    Directory Proxy Server instance 'instance-path' stopped
  2. 비밀번호 프롬프트 플래그를 off로 설정한 다음 기존 비밀번호를 입력합니다.


    $ dpadm set-flags instance-path cert-pwd-prompt=off
    Enter the old password:
  3. 서버를 시작합니다.


    $ dpadm start instance-path