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

인증서 관리

이 절에서는 디렉토리 서버에서 SSL 인증서를 관리하는 방법에 대해 설명합니다.

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

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


주 –

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


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

이 절에서는 디렉토리 서버에서 인증서를 구성하는 방법과 관련하여 다음 정보에 대해 설명합니다.

Procedure자체 서명된 기본 인증서를 보는 방법

디렉토리 서버 인스턴스를 처음 만들 때 자체 서명된 기본 인증서가 포함됩니다. 자체 서명된 인증서는 공개 키와 개인 키 쌍으로, 여기서 공개 키는 개인 키에 의해 서명됩니다. 자체 서명된 인증서는 3개월 동안 유효합니다.

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

  1. 자체 서명된 기본 인증서를 보려면 다음 명령을 사용합니다.


    $ dsadm show-cert instance-path defaultCert

Procedure자체 서명된 인증서를 관리하는 방법

디렉토리 서버 인스턴스를 만들 때 자체 서명된 기본 인증서가 자동으로 제공됩니다.

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

  1. 기본값 이외의 설정으로 자체 서명된 인증서를 만들려면 다음 명령을 사용합니다.


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

    여기서 cert-alias는 인증서를 식별하기 위해 입력하는 이름입니다.

    이 명령에 대한 모든 옵션을 보려면 dsadm(1M) 설명서 페이지 또는 명령줄 도움말을 참조하십시오..


    $ dsadm add-selfsign-cert --help
  2. 자체 서명된 인증서가 만료되면 서버 인스턴스를 중지하고 인증서를 갱신합니다.


    $ dsadm stop instance-path
    $ dsadm renew-selfsign-cert instance-path cert-alias
    
  3. 서버 인스턴스를 다시 시작합니다.


    $ dsadm start instance-path
    

ProcedureCA 서명된 서버 인증서를 요청하는 방법

이 절차에서는 디렉토리 서버에 사용할 CA 서명된 서버 인증서를 요청하고 설치하는 방법에 대해 설명합니다.

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

  1. CA 서명된 서버 인증서 요청을 생성합니다.


    $ dsadm request-cert [-W cert-pwd-file] {-S DN | --name name [--org org] \
      [--org-unit org-unit] [--city city] [--state state] [--country country]} \
      [-o output-file] [-F format] instance-path
    

    예를 들어 Example 회사에 대한 CA 서명된 서버 인증서를 요청하려면 다음 명령을 사용합니다.


    $ dsadm request-cert --name host1 --org Example --org-unit Marketing \
     -o my_cert_request_file /local/ds

    서버를 완벽하게 식별하기 위해 인증 기관(CA)에서는 이 예에 표시된 모든 속성이 필요할 수 있습니다. 각 속성에 대한 설명은 dsadm(1M) 설명서 페이지를 참조하십시오.

    dsadm request-cert를 사용하여 인증서를 요청하는 경우 완성된 인증서 요청은 ASCII를 출력 형식으로 지정하지 않는 한 이진 인증서 요청이 됩니다. ASCII를 지정하면 완성된 인증서 요청은 PEM 형식의 PKCS #10 인증서 요청이 됩니다. PEM은 RFC 1421부터 1424(http://www.ietf.org/rfc/rfc1421.txt)까지 지정된 Privacy Enhanced Mail 형식으로, base64 인코딩된 인증서 요청을 US-ASCII 문자로 나타내는 데 사용됩니다. 요청 내용은 다음 예와 같이 표시됩니다.


    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIBrjCCARcCAQAwbjELMAkGA1UBhMCVXMxEzARBgNVBAgTCkNBElGT1JOSUExLD
    AqBgVBAoTI25ldHNjYXBlIGNvb11bmljYXRpb25zIGNvcnBvcmF0aWuMRwwGgYDV
    QQDExNtZWxsb24umV0c2NhcGUuY29tMIGfMA0GCSqGSIb3DQEBAUAA4GNADCBiQK
    BgCwAbskGh6SKYOgHy+UCSLnm3ok3X3u83Us7u0EfgSLR0f+K41eNqqWRftGR83e
    mqPLDOf0ZLTLjVGJaHJn4l1gG+JDf/n/zMyahxtV7+T8GOFFigFfuxJaxMjr2j7I
    vELlxQ4IfZgwqCm4qQecv3G+N9YdbjveMVXW0v4XwIDAQABAAwDQYJKoZIhvcNAQ
    EEBQADgYEAZyZAm8UmP9PQYwNy4Pmypk79t2nvzKbwKVb97G+MT/gw1pLRsuBoKi
    nMfLgKp1Q38K5Py2VGW1E47/rhm3yVQrIiwV+Z8Lcc=
    -----END NEW CERTIFICATE REQUEST-----
  2. 해당 절차에 따라 인증서 요청을 인증 기관에 전송합니다.

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

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

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

    인증서를 안전한 위치에 백업합니다. 인증서가 손실될 경우 이 백업 파일을 사용하여 인증서를 다시 설치할 수 있습니다. 인증서는 텍스트 파일로 저장할 수 있습니다. PEM 형식의 PKCS #11 인증서는 다음 예와 같이 표시됩니다.


    -----BEGIN CERTIFICATE-----
    MIICjCCAZugAwIBAgICCEEwDQYJKoZIhKqvcNAQFBQAwfDELMAkGA1UEBhMCVVMx
    IzAhBgNVBAoGlBhbG9a2FWaWxsZGwSBXaWRnZXRzLCBJbmMuMR0wGwYDVQQLExRX
    aWRnZXQgTW3FrZXJzICdSJyBVczEpMCcGAx1UEAxgVGVzdCBUXN0IFRlc3QgVGVz
    dCBUZXN0IFlc3QgQ0EswHhcNOTgwMzEyMDIzMzUWhcNOTgwMzI2MDIzMpzU3WjBP
    MQswCYDDVQQGEwJVUzEoMCYGA1UEChMfTmV0c2NhcGUgRGlyZN0b3J5VIFB1Ymxp
    Y2F0aW9uczEWMB4QGA1UEAxMNZHVgh49dq2tLNvbjTBaMA0GCSqGSIb3DQEBAQUA
    A0kAMEYkCQCksMR/aLGdfp4m0OiGgijG5KgOsyRNvwGYW7kfW+8mmijDtZaRjYNj
    jcgpF3VnlbxbclX9LVjjNLC5737XZdAgEDozYwpNDARBglghkgBhvhCEAQEEBAMC
    APAwHkwYDVR0jBBgwFAU67URjwCaGqZHUpSpdLxlzwJKiMwDQYJKoZIhQvcNAQEF
    BQADgYEAJ+BfVem3vBOPBveNdLGfjlb9hucgmaMcQa9FA/db8qimKT/ue9UGOJqL
    bwbMKBBopsDn56p2yV3PLIsBgrcuSoBCuFFnxBnqSiTS7YiYgCWqWaUA0ExJFmD6
    6hBLseqkSWulk+hXHN7L/NrViO+7zNtKcaZLlFPf7d7j2MgX4Bo=
    -----END CERTIFICATE-----

ProcedureCA 서명된 서버 인증서 및 신뢰할 수 있는 CA 인증서를 추가하는 방법

이 절차에서는 디렉토리 서버에 사용할 CA 서명된 서버 인증서 및 신뢰할 수 있는 CA 인증서를 설치하는 방법에 대해 설명합니다.

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

  1. CA 서명된 서버 인증서를 추가합니다.


    $ dsadm add-cert --ca instance-path cert-alias cert-file
    

    여기서 cert-alias는 인증서를 식별하기 위해 입력하는 이름이고 cert-file은 PEM 형식의 PKCS #11 인증서가 저장된 텍스트 파일입니다.

    예를 들어 CA 서명된 서버 인증서를 설치할 경우 다음과 같은 명령을 사용할 수 있습니다.


    $ dsadm add-cert /local/ds server-cert /local/safeplace/serv-cert-file

    이 인증서는 바로 설치되지만 신뢰되지는 않습니다. CA 서명된 서버 인증서를 신뢰하려면 인증 기관 인증서를 설치해야 합니다.

  2. 신뢰할 수 있는 인증 기관 인증서를 추가합니다.


    $ dsadm add-cert --ca instance-path cert-alias cert-file
    

    --ca 옵션은 해당 인증서가 신뢰할 수 있는 인증 기관 인증서임을 나타냅니다.

    예를 들어 신뢰할 수 있는 인증 기관 인증서를 설치할 경우 다음 명령을 사용할 수 있습니다.


    $ dsadm add-cert --ca /local/ds CA-cert /local/safeplace/ca-cert-file
  3. (옵션) 설치된 인증서를 확인합니다.

    • 모든 서버 인증서를 나열하고 유효 날짜 및 별칭을 표시하려면 다음을 입력합니다.


      $ dsadm list-certs instance-path
      

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


      $ dsadm list-certs /local/ds1
      Enter the certificate database password:
      Alias       Valid from Expires on Self-   Issued by          Issued to
                                        signed?                                     
      ----------- ---------- ---------- ------- -----------------  -----------------
      serverCert  2000/11/10 2011/02/10 n       CN=CA-Signed Cert, CN=Test Cert,
                  18:13      18:13              OU=CA,O=com        dc=example,dc=com
      defaultCert 2006/05/18 2006/08/18 y       CN=host1,CN=DS,    Same as issuer
                  16:28      16:28              dc=example,dc=com
      2 certificates found

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

    • 신뢰할 수 있는 CA 인증서를 나열하려면 다음을 입력합니다.


      $ dsadm list-certs -C instance-path
      

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


      $ dsadm list-certs -C /local/ds1
      Enter the certificate database password:
      Alias   Valid from Expires on Self-   Issued by           Issued to
                                    signed?                                   
      ------- ---------- ---------- ------- -----------------   --------------
      CA-cert 2000/11/10 2011/02/10 y       CN=Trusted CA Cert, Same as issuer
              18:12      18:12              OU=CA,O=com
      1 certificate found
    • 인증서 만료 날짜를 비롯하여 인증서에 대한 자세한 내용을 보려면 다음을 입력합니다.


      $ dsadm show-cert instance-path cert-alias
      

      예를 들어 서버 인증서를 보려면 다음을 입력합니다.


      $ dsadm show-cert /local/ds1 "Server-Cert"
      Enter the certificate database password:
      Certificate:
          Data:
              Version: 3 (0x2)
              Serial Number: 2 (0x2)
              Signature Algorithm: PKCS #1 MD5 With RSA Encryption
              Issuer:
                  "CN=Server-Cert,O=Sun,C=US"
              Validity:
                  Not Before: Fri Nov 10 18:12:20 2000
                  Not After : Thu Feb 10 18:12:20 2011
              Subject:
                  "CN=CA Server Cert,OU=ICNC,O=Sun,C=FR"
              Subject Public Key Info:
                  Public Key Algorithm: PKCS #1 RSA Encryption
                  RSA Public Key:
                      Modulus:
                          bd:76:fc:29:ca:06:45:df:cd:1b:f1:ce:bb:cc:3a:f7:
                          77:63:5a:82:69:56:5f:3d:3a:1c:02:98:72:44:36:e4:
                          68:8c:22:2b:f0:a2:cb:15:7a:c4:c6:44:0d:97:2d:13:
                          b7:e3:bf:4e:be:b5:6a:df:ce:c4:c3:a4:8a:1d:fa:cf:
                          99:dc:4a:17:61:e0:37:2b:7f:90:cb:31:02:97:e4:30:
                          93:5d:91:f7:ef:b0:5a:c7:d4:de:d8:0e:b8:06:06:23:
                          ed:5f:33:f3:f8:7e:09:c5:de:a5:32:2a:1b:6a:75:c5:
                          0b:e3:a5:f2:7a:df:3e:3d:93:bf:ca:1f:d9:8d:24:ed
                      Exponent: 65537 (0x10001)
          Signature Algorithm: PKCS #1 MD5 With RSA Encryption
          Signature:
              85:92:42:1e:e3:04:4d:e5:a8:79:12:7d:72:c0:bf:45:
              ea:c8:f8:af:f5:95:f0:f5:83:23:15:0b:02:73:82:24:
              3d:de:1e:95:04:fb:b5:08:17:04:1c:9d:9c:9b:bd:c7:
              e6:57:6c:64:38:8b:df:a2:67:f0:39:f9:70:e9:07:1f:
              33:48:ea:2c:18:1d:f0:30:d8:ca:e1:29:ec:be:a3:43:
              6f:df:03:d5:43:94:8f:ec:ea:9a:02:82:99:5a:54:c9:
              e4:1f:8c:ae:e2:e8:3d:50:20:46:e2:c8:44:a6:32:4e:
              51:48:15:d6:44:8c:e6:d2:0d:5f:77:9b:62:80:1e:30
          Fingerprint (MD5):
              D9:FB:74:9F:C3:EC:5A:89:8F:2C:37:47:2F:1B:D8:8F
          Fingerprint (SHA1):
              2E:CA:B8:BE:B6:A0:8C:84:0D:62:57:85:C6:73:14:DE:67:4E:09:56
      
          Certificate Trust Flags:
              SSL Flags:
                  Valid CA
                  Trusted CA
                  User
                  Trusted Client CA
              Email Flags:
                  User
              Object Signing Flags:
                  User

Procedure만료된 CA 서명 서버 인증서를 갱신하는 방법

CA 서명된 서버 인증서(공개 키 및 개인 키)가 만료되면 이 절차를 사용하여 인증서를 갱신합니다.

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

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

  2. 업데이트된 인증서를 받는 경우 서버 인스턴스를 중지하고 인증서를 설치합니다.


    $ dsadm stop instance-path
    $ dsadm renew-cert instance-path cert-alias cert-file
    
  3. 서버 인스턴스를 다시 시작합니다.


    $ dsadm start instance-path
    

ProcedureCA 서명된 서버 인증서를 내보내고 가져오는 방법

나중에 인증서를 가져올 수 있도록 인증서의 공개 키와 개인 키를 내보내야 할 수 있습니다. 예를 들어 인증서를 다른 서버에 사용해야 할 수 있습니다.

이 절차에 있는 명령은 "cn=*,o=example"과 같은 와일드카드가 포함된 인증서에 사용할 수 있습니다.

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

  1. 인증서를 내보냅니다.


    $ dsadm export-cert [-o output-file] instance-path cert-alias
    

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


    $ dsadm export-cert -o /tmp/first-certificate /local/ds1 "First Certificate"
    $ dsadm export-cert -o /tmp/first-ca-server-certificate /local/ds1/ defaultCert
    Choose the PKCS#12 file password:
    Confirm the PKCS#12 file password:
    $ ls /tmp
    first-ca-server-certificate
     
  2. 인증서를 가져옵니다.


    $ dsadm import-cert instance-path cert-file
    

    예를 들어 인증서를 서버 인스턴스로 가져오려면 다음을 입력합니다.


    $ dsadm import-cert /local/ds2 /tmp/first-ca-server-certificate
    Enter the PKCS#12 file password:
     
  3. (옵션) 인증서를 서버로 가져온 후 서버에서 가져온 인증서를 사용하도록 구성합니다.


    $ dsconf set-server-prop -e -h host -p port ssl-rsa-cert-name:server-cert

인증서 데이터베이스 비밀번호 구성

기본적으로 디렉토리 서버에서는 저장된 비밀번호를 통해 내부적으로 SSL 인증서 데이터베이스 비밀번호를 관리합니다. 인증서를 관리할 때 사용자가 인증서 비밀번호를 입력하거나 비밀번호 파일을 지정할 필요는 없습니다. 이 옵션은 비밀번호가 숨겨지기만 하고 암호화되지는 않기 때문에 보안상 안전하지 않을 수 있습니다.

그러나, 인증서 사용을 좀 더 엄격하게 제어하려면 명령줄에서 비밀번호를 입력하라는 메시지가 표시되도록 서버를 구성할 수 있습니다. 이 경우 사용자는 autostart, backup, disable-service, enable-service, info, reindex, restorestop을 제외한 모든 dsadm 하위 명령 실행 시에 인증서 데이터베이스 비밀번호를 입력해야 합니다. 인증서 데이터베이스는 instance-path/alias 디렉토리에 있습니다.

Procedure인증서 비밀번호를 입력하라는 메시지가 표시되도록 서버를 구성하는 방법

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

  1. 서버를 중지합니다.


    $ dsadm stop instance-path
    
  2. 비밀번호 프롬프트 플래그를 on으로 설정합니다.


    $ dsadm set-flags instance-path cert-pwd-prompt=on

    새 인증서 비밀번호를 선택하라는 메시지가 표시됩니다.

  3. 서버를 시작합니다.


    $ dsadm start instance-path
    

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

디렉토리 서버 인스턴스를 백업하는 경우 디렉토리 서버 구성 및 인증서를 백업합니다. 백업된 인증서는 archive-path/alias 디렉토리에 저장됩니다.

디렉토리 서버 백업 및 복원 방법에 대한 자세한 내용은 재해 복구를 위한 백업을 만드는 방법을 참조하십시오.