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

DIGEST-MD5를 통한 SASL 인증

DIGEST-MD5 메커니즘은 클라이언트가 전송한 해시된 값을 사용자 비밀번호의 해시와 비교하여 클라이언트를 인증합니다. 그러나 이 메커니즘은 사용자 비밀번호를 읽어야 하기 때문에 DIGEST-MD5를 통해 인증을 받으려는 사용자는 디렉토리에 {CLEAR} 비밀번호가 있어야 합니다. {CLEAR} 비밀번호를 디렉토리에 저장하는 경우 6 장, 디렉토리 서버 액세스 제어에 설명된 것처럼 비밀번호 값에 대한 액세스가 ACI를 통해 적절하게 제한되도록 해야 합니다. 또한, 속성 값 암호화에 설명된 것처럼 접미어의 속성 암호화도 구성해야 합니다.

ProcedureDIGEST-MD5 메커니즘을 구성하는 방법

다음 절차에서는 디렉토리 서버에서 DIGEST-MD5를 사용하도록 구성하는 방법에 대해 설명합니다.

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. ldapsearch 명령을 사용하여 DIGEST-MD5가 루트 항목의 supportedSASLMechanisms 속성 값인지 확인합니다.

    예를 들어 다음 명령을 실행하면 현재 활성화되어 있는 SASL 메커니즘이 표시됩니다.


    $ ldapsearch -h host -p port -D cn=admin,cn=Administrators,cn=config -w - \
     -s base -b "" "(objectclass=*)" supportedSASLMechanisms
    Enter bind password:
    dn:
    supportedSASLMechanisms: EXTERNAL
    supportedSASLMechanisms: DIGEST-MD5
    supportedSASLMechanisms: GSSAPI
    ^D
  2. DIGEST-MD5가 활성화되어 있지 않으면 다음 명령을 사용하여 활성화합니다.


    $ ldapmodify -h host -p port -D cn=admin,cn=Administrators,cn=config -w - 
    Enter bind password:
    dn: cn=SASL, cn=security, cn=config
    changetype: modify
    add: dsSaslPluginsEnable
    dsSaslPluginsEnable: DIGEST-MD5
    -
    replace: dsSaslPluginsPath
    dsSaslPluginsPath: SASL-library
    ^D

    여기서 SASL-library는 다음 값 중 하나입니다.

    JES 설치

    /usr/lib/mps/sasl2

    Zip 설치

    install-path/dsee6/private/lib

  3. DIGEST-MD5에 기본 아이디 매핑을 사용하거나 새 아이디 매핑을 만듭니다.

    자세한 내용은 DIGEST-MD5 아이디 매핑을 참조하십시오.

  4. DIGEST-MD5를 사용하여 SSL을 통해 서버에 액세스하는 모든 사용자의 비밀번호가 {CLEAR}에 저장되어 있는지 확인합니다.

    비밀번호 저장소 체계에 대해서는 7 장, 디렉토리 서버 비밀번호 정책을 참조하십시오.

  5. SASL 구성 항목 또는 DIGEST-MD5 아이디 매핑 항목 중 하나를 수정했다면 디렉토리 서버를 다시 시작합니다.

DIGEST-MD5 아이디 매핑

SASL 메커니즘에 아이디를 매핑하면 디렉토리의 사용자 항목이 SASL 아이디의 자격 증명과 일치하는지 확인합니다. 매핑 중에 SASL 아이디에 해당하는 DN을 찾을 수 없으면 인증은 실패합니다. 이 메커니즘에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 Reference를 참조하십시오.

SASL 아이디는 각 메커니즘의 고유 형식으로 사용자를 나타내는 사용자(Principal)라고 불리는 문자열입니다. DIGEST-MD5의 경우, 클라이언트에서는 dn: 접두어와 LDAP DN 또는 u: 접두어 뒤에 클라이언트가 지정한 텍스트가 있는 사용자(Principal)를 만들어야 합니다. 클라이언트가 보낸 사용자(Principal)는 매핑 중에 ${Principal} 자리 표시자에서 사용할 수 있습니다.

DIGEST-MD5에 대한 기본 아이디 매핑은 서버 구성의 다음 항목에서 지정합니다.


dn: cn=default,cn=DIGEST-MD5,cn=identity mapping,cn=config
objectClass: top
objectClass: nsContainer
objectClass: dsIdentityMapping
objectClass: dsPatternMatching
cn: default
dsMatching-pattern: \${Principal}
dsMatching-regexp: dn:(.*)
dsMappedDN: \$1

이 아이디 매핑에서는 사용자(Principal) dn 필드에 기존 디렉토리 사용자의 DN이 포함되어 있다고 가정합니다.

ProcedureDIGEST-MD5에 대한 사용자 고유의 아이디 매핑을 정의하는 방법

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 기본 매핑 항목을 편집하거나 cn=DIGEST-MD5,cn=identity mapping,cn=config에 새 매핑 항목을 만듭니다.

    다음 명령은 이 매핑이 어떻게 정의되는지 보여줍니다.


    $ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    dn: cn=unqualified-username,cn=DIGEST-MD5,cn=identity mapping
    cn=config
    objectclass: dsIdentityMapping
    objectclass: dsPatternMatching
    objectclass: nsContainer
    objectclass: top
    cn: unqualified-username
    dsMatching-pattern: \${Principal}
    dsMatching-regexp: u:(.*)@(.*)\\.com
    dsSearchBaseDN: dc=\$2
    dsSearchFilter: (uid=\$1)
  2. 새 매핑을 적용하려면 디렉토리 서버를 다시 시작합니다.