Sun ONE 로고     이전      목차      색인      다음     
Sun ONE Directory Server 5.2 설치 및 조정 설명서



부록 B   Sun Crypto Accelerator 보드 사용

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

시작 전 주의 사항

표 B-1에는 Sun Crypto Accelerator 보드를 사용하여 SSL 연결 성능을 향상시키기 위해 먼저 완료해야 하는 항목이 나와 있습니다.

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

필수 사항

설명

보드 설치

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

Directory Server설치

자세한 내용은 1장 "Sun ONE Directory Server 설치"를 참조하십시오.

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

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

CA 인증서(PEM 형식)

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

SSL 프로토콜과 SSL 인증서에 대한 자세한 설명과 Sun ONE 서버 콘솔 관리를 지원하는 Sun ONE 서버와 함께 이 프로토콜을 사용하는 방법은 Sun ONE Server Console Server Management Guide를 참조하십시오.

토큰 작성

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을 구성하기 전에 먼저 표 B-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 파일을 작성합니다.



코드 예제 B-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-cert7.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

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

  • 아래 명령으로 수정 작업을 적용하여 Directory Server 구성을 변경합니다.
  • $ ldapmodify -p currPort -D "cn=directory manager" -w password -f ssl.ldif

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

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

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

    이제 Directory Server는 지정한 포트에서 SSL 트래픽을 수신합니다. 이 포트에서 SSL을 통해 Directory Server에 액세스하도록 Sun ONE 관리 서버와 클라이언트 응용 프로그램을 구성할 수 있습니다. 자세한 내용은 Sun ONE Directory Server 관리 설명서를 참조하십시오.


    이전      목차      색인      다음     
    Copyright 2003 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.