Sun Java 로고     이전      목차      색인      다음     

Sun 로고
Sun Java(TM) System Directory Server 5 2004Q2 관리 설명서 

부록 A
Sun Crypto Accelerator 보드 사용

이 부록에서는 Directory Server와 함께 Sun Crypto Accelerator 보드를 사용하여 인증서 기반의 인증과 SSL(Secure Sockets Layer) 프로토콜을 사용한 연결의 성능 향상 방법에 대해 설명합니다.


시작 전 주의 사항

표 A-1에는 Sun Crypto Accelerator 보드를 사용하여 SSL 연결 성능을 향상시키기 위해 먼저 수행해야 하는 항목이 설명되어 있습니다.

표 A-1 보드 사용을 위한 필수 사항 

필수 사항

주의

보드 설치

호스트에 하드웨어, 드라이버, 패치 및 관리 유틸리티를 설치하는 경우 보드용으로 제공된 제품 설명서를 참조하십시오.

Directory Server 설치

자세한 내용은 Sun Java Enterprise System 2004Q2 설치 설명서를 참조하십시오.

서버 인증서(PKCS#12 형식)

Directory Server에 대한 서버 인증서를 .p12 파일로 받습니다.

CA 인증서(PEM 형식)

인증 기관(CA)에 대한 CA 인증서를 PEM(Privacy Enhanced Mail) 형식의 파일로 받습니다.

SSL 프로토콜과 SSL 인증서에 대한 자세한 설명 및 서버 콘솔을 통한 관리를 지원하는 Sun Java System 서버와 함께 프로토콜을 사용하는 방법은 11장, "인증 및 암호화 관리"를 참조하십시오.


토큰 작성

Directory Server는 토큰과 비밀번호를 사용하여 가속 보드에 있는 해당 암호화 키 자료에 액세스합니다. 토큰은 user@realm 형식을 사용하며, 여기서 user는 가속 보드의 사용자로서, 암호화 키 생성 자료의 소유자를 나타내고 realm은 가속 보드의 영역으로, 사용자 및 해당 키 생성 자료의 논리적 분할 영역입니다. 가속 보드 user는 시스템의 사용자 계정과 아무런 관계를 가질 필요가 없으며 보드에만 적용됩니다. 사용자 및 영역에 대한 자세한 내용은 가속 보드 제품 설명서를 참조하십시오.

보드용으로 제공된 secadm(1M) 유틸리티를 사용하여 토큰 사용자와 영역을 작성할 수 있습니다. 가속 보드에서는 다수의 slots을 작성하여 여러 응용 프로그램에 대한 토큰을 관리할 수도 있습니다. 여기서는 성능을 위해 호스트를 Directory Server 전용으로 설정하여 기본값인 한 개의 슬롯을 사용한다고 가정합니다. 여러 소프트웨어 응용 프로그램에 대해 보드를 사용하는 방법은 가속 보드 제품 설명서를 참조하십시오.

기본 슬롯에 액세스할 토큰 사용자와 영역을 작성하려면 다음 단계를 수행합니다.

  1. secadm 유틸리티를 시작합니다.
  2. $ CryptoPath/bin/secadm

    기본 CryptoPath는 /opt/SUNWconn/crypto입니다.

  3. 토큰 영역을 작성합니다.
  4. secadm> create realm=dsrealm
    System Administrator Login Required
    Login: super-user
    Password:
    Realm dsrealm created successfully.

  5. 작성하려는 사용자가 포함될 영역을 설정합니다.
  6. secadm> set realm=dsrealm
    secadm{dsrealm}> su
    System Administrator Login Required
    Login: super-user
    Password:
    secadm{root@dsrealm}#

  7. SSL이 구성된 Directory Server를 다시 시작할 때 사용되는 비밀번호를 제공하여 기본 슬롯을 사용할 nobody 사용자를 작성합니다.
  8. secadm{root@dsrealm}# create user=nobody
    Initial password: password
    Confirm password: password
    User nobody created successfully.
    secadm{root@dsrealm}# exit

이제 nobody@dsrealm 토큰의 사용자와 영역이 작성되었으며 Directory Server를 다시 시작할 때 사용되는 비밀번호를 제공했습니다.


보드 바인딩 생성

가속 보드의 바인딩은 Directory Server가 보드에 바인드할 수 있도록 생성하는 외부 보안 모듈의 형식을 사용합니다. 다양한 SSL 알고리즘을 지원하는 Directory Server 인증서 데이터베이스와 외부 보안 모듈 간의 바인딩을 생성하려면 다음 단계를 수행합니다.

  1. modutil을 사용하기 전에 LD_LIBRARY_PATH를 설정합니다.
  2. $ set LD_LIBRARY_PATH=ServerRoot/lib ; export LD_LIBRARY_PATH

  3. 보안 모듈 데이터베이스가 없을 경우 아래 명령을 실행하여 작성합니다.
  4. $ cd ServerRoot/shared/bin
    $ ./modutil -create -dbdir ../../alias -dbprefix "slapd-serverID"

  5. 외부 보안 모듈을 보안 모듈 데이터베이스에 추가합니다.
  6. $ ./modutil -add "Crypto Mod" -dbdir ../../alias -nocertdb \
    -libfile CryptoPath/lib/libpkcs11.so \
    -mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"

    기본 CryptoPath는 /opt/SUNWconn/crypto입니다.

  7. 보안 모듈을 나열하여 모듈이 제대로 추가되었는지 확인합니다.
  8. $ ./modutil -list -dbdir ../../alias -dbprefix "slapd-serverID"

    단계 3에서 추가한 Crypto Mod 항목이 표시되어야 합니다.

  9. 이 외부 보안 모듈을 RSA, DSA, RC4 및 DES의 기본값으로 설정합니다.
  10. $ ./modutil -default "Crypto Mod" -dbdir ../../alias \
    -mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"

    이렇게 하면 기본 보안 모듈이 제대로 변경됩니다.

이제 가속 보드에 대한 바인딩을 생성했으므로 인증서를 가져올 수 있습니다.


인증서 가져오기

SSL을 구성하기 전에 먼저 표 A-1에 설명된 대로 받은 서버 인증서와 CA 인증서를 가져와야 합니다. 인증서를 가져오려면 다음 단계를 수행합니다.

  1. 서버 인증서 .p12 파일을 가져옵니다.
  2. $ cd ServerRoot/shared/bin
    $ ./pk12util -i ServerCert.p12 -d ../../alias -P "slapd-serverID" \
    -h "nobody@dsrealm"
    Enter Password or Pin for "nobody@dsrealm": password
    Enter Password for PKCS12 file: password

  3. CA 인증서를 가져옵니다.
  4. $ ./certutil -A -n "Crypto CA Cert" -t CT -i CACert.txt \
    -d ../../alias -P "slapd-serverID" -h "nobody@dsrealm"

  5. 토큰과 관련된 인증서를 나열하여 인증서를 제대로 가져왔는지 확인합니다.
  6. $ ./certutil -L -d ../../alias -P "slapd-serverID" \
    -h "nobody@dsrealm"

    단계 1 및 단계 2에서 추가한 인증서 항목이 표시되어야 합니다.

이제 인증서를 가져왔으므로 Directory Server에서 SSL 연결을 수신하도록 구성할 수 있습니다.


SSL 구성

작성한 토큰과 비밀번호, 외부 보안 모듈과 Directory Server 인증서 데이터베이스 간에 생성한 바인딩, 그리고 가져온 인증서를 사용하여 Directory Server가 보안 모드로 시작되도록 구성할 수 있습니다. SSL을 구성하고 Directory Server를 보안 모드로 다시 시작하려면 다음 단계를 수행합니다.

  1. SSL 관련 Directory Server 구성 항목을 변경하기 위한 수정 작업이 요약된 ssl.ldif 파일을 작성합니다.
  2. 코드 예 A-1 보드를 사용하여 SSL을 활성화하기 위한 수정 작업(ssl.ldif)

     

    dn: cn=RSA,cn=encryption,cn=config

    changetype: add

    objectclass: top

    objectclass: nsEncryptionModule

    cn: RSA

    nsSSLToken: nobody@dsrealm

    nsSSLPersonalitySSL: ServerCertNickname1

    nsSSLActivation: on

     

    dn: cn=encryption,cn=config

    changetype: modify

    replace: nsSSL3

    nsSSL3: on

    -

    replace: nsSSLClientAuth

    nsSSLClientAuth: allowed

    -

    replace: nsSSL3Ciphers

    nsSSL3Ciphers: -rsa_null_md5,+rsa_rc4_128_md5,+rsa_rc4_40_md5,

    +rsa_rc2_40_md5,+rsa_des_sha,+rsa_fips_des_sha,+rsa_3des_sha,

    +rsa_fips_3des_sha,+fortezza,+fortezza_rc4_128_sha,

    +fortezza_null,+tls_rsa_export1024_with_rc4_56_sha,

    +tls_rsa_export1024_with_rc4_56_sha,

    +tls_rsa_export1024_with_des_cbc_sha

    -

    replace: nsCertfile

    nsCertfile: alias/slapd-serverID-cert8.db

    -

    replace: nsKeyFile

    nsKeyFile: alias/slapd-serverID-key3.db

     

    dn: cn=config

    changetype: modify

    replace: nsslapd-secureport

    nsslapd-secureport: port

    -

    replace: nsslapd-security

    nsslapd-security: on

     

    1이 별명은 Directory Server 인증서에 포함되어 있습니다.

    여기서 nsslapd-secureport 값인 port는 보안 모드로 시작된 Directory Server에서 SSL 연결을 수신하는 포트입니다.

  3. 수정 작업을 적용하여 Directory Server 구성을 변경합니다.
  4. $ ldapmodify -p currPort -D "cn=directory manager" -w password -f ssl.ldif

    여기서 currPort는 Directory Server에서 현재 클라이언트 요청을 수신하는 포트 번호입니다.

  5. Directory Server를 보안 모드로 다시 시작합니다.
  6. $ ServerRoot/slapd-serverID/restart-slapd
    Enter PIN for nobody@dsrealm: password

    여기서 password는 nobody@dsrealm 토큰을 작성할 때 입력한 nobody 사용자 비밀번호입니다.

이제 Directory Server는 지정한 포트에서 SSL 트래픽을 수신합니다. 이 포트에서 SSL을 통해 Directory Server에 액세스하도록 Sun Java System Administration Server와 클라이언트 응용 프로그램을 구성할 수 있습니다. 자세한 내용은 11장, "인증 및 암호화 관리"를 참조하십시오.



이전      목차      색인      다음     


Copyright 2004 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.