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

8장 디렉토리 서버 비밀번호 정책

디렉토리 서버에 연결하면 사용자가 인증됩니다. 디렉토리는 인증 중에 설정된 아이디에 따라 사용자에게 액세스 권한 및 자원 제한을 부여할 수 있습니다. 이 장에서 계정은 사용자 항목을 포괄적으로 나타냅니다. 또한 계정은 사용자가 디렉토리에서 작업을 수행할 수 있는 권한을 반영합니다. 비밀번호 정책 설명에서 모든 계정은 사용자 항목 및 비밀번호와 연관됩니다.

또한 이 장에서는 비밀번호 정책의 일환인 계정 활성화에 대해서도 설명합니다. 디렉토리 어드민 관리자는 비밀번호 정책과 상관없이 계정을 직접 잠그거나 잠금 해제할 수 있습니다.

인증 방법에 대해서는 이 장에서 설명하지 않습니다. SASL GSSAPI, 클라이언트 SSL 인증서 기반 인증 등과 같은 일부 인증 방법에서는 비밀번호를 사용하지 않습니다. 이 장에서 설명하는 비밀번호 정책 관련 정보는 해당 인증 방법에는 적용되지 않습니다. 인증 메커니즘을 구성하는 방법에 대한 자세한 내용은 6 장, 디렉토리 서버 보안 을 참조하십시오.

이 장에서는 Directory Server 6.3 및 이전 디렉토리 서버 버전 간에 비밀번호 정책의 호환성을 다루지 않습니다. Directory Server 6.3 인스턴스를 만들면 비밀번호 정책 구현이 이전 버전으로부터 업그레이드할 수 있도록 기본적으로 Directory Server 5 호환 모드로 설정됩니다. 이 장에서 설명된 비밀번호 정책 기능을 최대한 활용하기 위해 비밀번호 정책 호환성 모드를 변경해야 할 수 있습니다. 비밀번호 호환성 모드 설정에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.3 Migration Guide Password Policy Compatibility를 참조하십시오.

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

비밀번호 정책 및 워크시트

이 절에서는 비밀번호 정책 설정에 대해 설명하고 사용자 요구 사항에 맞는 비밀번호 정책을 정의하는 데 도움이 되는 워크시트를 제공합니다.


주 –

기본 비밀번호 정책을 사용하려면 기본 비밀번호 정책 관리를 참조하십시오.


비밀번호 정책 설정

디렉토리 서버에서 비밀번호 정책을 지정하는 경우 pwdPolicy(5dsoc) 객체 클래스를 포함하는 항목을 만들거나 수정합니다.

특정 유형의 사용자에 대한 비밀번호 정책을 정의할 경우 다음 사항을 고려해야 합니다.

이 장의 이후에 나오는 절에서는 이러한 비밀번호 정책 영역을 처리하는 방법에 대해 설명합니다. 비밀번호 정책 정의 워크시트를 사용하여 구현할 각 비밀번호 정책을 명확하게 하십시오.

계정 잠금 정책

이 절에서는 계정 잠금을 제어하는 정책 속성에 대해 설명합니다.

디렉토리 서버 계정은 사용자가 디렉토리에서 작업을 수행하는 데 필요한 권한과 사용자 항목을 포괄적으로 나타냅니다. 각 계정은 바인드 DN 및 사용자 비밀번호와 연결되어 있습니다. 침입자가 비밀번호를 해독하려고 시도할 경우 디렉토리 서버에서 계정을 잠그도록 할 수 있습니다. 계정을 잠그면 침입자가 해당 계정을 사용하여 바인드할 수 없습니다. 또한 침입자가 공격을 계속할 수 없습니다.

관리자는 역할을 공유하는 모든 사용자 계정 또는 비활성 계정을 수동으로 렌더링할 수도 있습니다. 자세한 내용은 수동으로 계정 잠금을 참조하십시오. 비밀번호 정책의 핵심은 디렉토리 서버에서 사용자의 개입 없이 계정을 잠그는 환경을 만드는 것입니다.

먼저, 실패한 바인드가 너무 많이 발생할 경우 디렉토리 서버에서 pwdLockout(5dsat)를 사용하여 계정을 자동으로 잠그도록 지정해야 합니다. 디렉토리 서버는 계정에 대해 연속적으로 실패하는 바인드 시도를 추적합니다. pwdMaxFailure(5dsat)를 사용하여 디렉토리 서버에서 계정을 잠그기 전에 허용되는 연속 실패 횟수를 지정할 수 있습니다.

디렉토리 서버에서는 비밀번호 정책을 엄격하게 준수하여 계정을 잠급니다. 작업은 완전히 기계식입니다. 계정은 침입자가 계정에 대한 공격을 마운트하고 있기 때문이 아니라 사용자가 비밀번호를 잘못 입력했기 때문에 잠길 수 있습니다. 따라서 pwdFailureCountInterval(5dsat)를 사용하여 디렉토리 서버에서 실패한 시도의 레코드를 정리하기 전에 대기하는 시도 횟수를 지정할 수 있습니다. pwdLockoutDuration(5dsat)를 사용하여 디렉토리 서버에서 계정 잠금을 자동으로 해제하기 전의 잠금 지속 시간을 지정합니다. 관리자는 악의적인 의도 없이 법률에 위반되지 않는 실수를 한 사용자의 계정 잠금을 해제하기 위해 개입할 필요가 없습니다.

사용자 데이터가 복제 토폴로지를 통해 복제되는 경우 잠금 속성이 다른 항목 데이터와 함께 복제됩니다. pwdIsLockoutPrioritized(5dsat) 속성의 기본 설정은 TRUE이므로 잠금 속성에 대한 업데이트는 더 높은 우선 순위로 복제됩니다. 따라서 모든 계정 복제본이 잠기기 전에 pwdMaxFailure 연속 실패 바인드 시도 수가 제한되며, 이는 기타 복제본이 잠기기 전의 시도 수보다 적습니다. 사용자가 정확히 pwdMaxFailure번의 시도 후에 전체 복제된 토폴로지에서 잠기는지 확인하는 방법에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.3 Deployment Planning GuidePreventing Authentication by Using Global Account Lockout을 참조하십시오.

비밀번호 변경 정책

이 절에서는 비밀번호 변경을 제어하는 정책 속성에 대해 설명합니다.

다양한 배포에서 디렉토리 서버는 아이디 데이터를 위한 저장소 역할을 합니다. 사용자는 pwdAllowUserChange(5dsat)에 지정된 대로 자신의 비밀번호를 변경할 수 있어야 하므로 사용자가 비밀번호를 변경할 필요가 없습니다.

사용자에게 자신의 비밀번호를 변경할 수 있도록 허용한 후 사용자가 비밀번호를 변경할 수 있는 경우를 제어할 수도 있습니다. pwdSafeModify(5dsat)를 사용하면 비밀번호를 변경할 사용자가 비밀번호를 바꾸려면 기존 비밀번호를 정확하게 입력해야 하도록 지정할 수 있습니다. 비밀번호를 수정하는 방법에 대한 예는 pwdSafeModifyTRUE인 경우 명령줄에서 비밀번호 수정을 참조하십시오. pwdInHistory(5dsat)를 사용하여 디렉토리 서버에서 기억하는 비밀번호 수를 지정함으로써 사용자가 비밀번호를 다시 사용하지 못하도록 할 수 있습니다. 또한 pwdMinAge(5dsat)를 설정하여 사용자가 비밀번호를 너무 자주 변경하지 못하도록 할 수 있습니다.

대부분의 경우 관리자나 관리자가 관리하는 응용 프로그램에서 디렉토리에 사용자 항목을 만듭니다. 관리자는 사용자 비밀번호 값을 할당할 수 있으며, 이 비밀번호는 사용자가 새 계정에 처음으로 바인드할 때 변경합니다. 사용자 비밀번호를 재설정해야 할 수도 있습니다. 이 경우 다음에 사용자가 계정을 사용할 때 해당 비밀번호를 변경해야 합니다. 디렉토리 서버에는 다른 사용자가 비밀번호 값을 재설정한 후 사용자가 비밀번호를 변경해야 하는지 여부를 나타내는 데 사용할 수 있는 pwdMustChange(5dsat)라는 특수 속성이 있습니다.

passwordRootdnMayBypassModsChecks(5dsat)를 설정하여 디렉토리 어드민 관리자는 비밀번호를 변경할 때 정책의 적용을 받지 않도록 지정할 수도 있습니다.

비밀번호 내용 정책

이 절에서는 비밀번호 내용을 제어하는 정책 속성에 대해 설명합니다.

일반적으로 비밀번호 값은 디렉토리 검색에서 반환되지 않지만 공격자는 디렉토리 데이터베이스에 대한 액세스 권한을 얻을 수 있습니다. 따라서 비밀번호 값은 대부분 passwordStorageScheme(5dsat)를 사용하여 지정한 지원되는 해시 형식 중 하나로 저장됩니다.

또한 pwdCheckQuality(5dsat)를 설정하여 비밀번호가 최소 비밀번호 품질 정의를 충족하는지 확인하도록 할 수 있습니다. 그런 다음 서버는 비밀번호가 cn, givenName, mail, ou, sn 또는 uid 속성 값과 일치하지 않는지 확인합니다. 이러한 속성이 포함된 비밀번호의 비교는 대소문자를 구분하지 않습니다.

추가 검사는 pwdCheckQuality(5dsat) 집합에서 사용할 수 있습니다. pwdMinLength(5dsat)를 설정하여 비밀번호가 지정된 문자 수 이상이 되도록 할 수 있습니다. 또한, 강력한 비밀번호 확인 플러그인이 활성화되어 있는 경우 디렉토리 서버는 비밀번호에 플러그인에 사용되는 사전 파일의 문자열이 없는지를 확인합니다. 또한 비밀번호에 서로 다른 유형의 문자 조합이 있는지 확인합니다.

dsconf set-server-prop 명령을 사용하여 강력한 비밀번호 확인을 활성화할 수 있습니다. pwd-strong-check-enabled 등록 정보를 사용하여 플러그인을 설정한 다음 서버를 다시 시작하여 변경 사항을 적용합니다. pwd-strong-check-require-charset 등록 정보를 사용하여 비밀번호에 필요한 문자 집합을 지정합니다. pwd-strong-check-require-charset 등록 정보는 다음과 같은 값 마스크를 사용합니다.

lower

새 비밀번호에 소문자가 포함되어야 합니다.

upper

새 비밀번호에 대문자가 포함되어야 합니다.

digit

새 비밀번호에 숫자가 포함되어야 합니다.

special

새 비밀번호에 특수 문자가 포함되어야 합니다.

any-two

새 비밀번호에 위에 명시한 문자 집합 중 두 가지 이상에 해당하는 문자가 각각 하나 이상씩 포함되어야 합니다.

any-three

새 비밀번호에 위에 명시한 문자 집합 중 세 가지 이상에 해당하는 문자가 각각 하나 이상씩 포함되어야 합니다.

pwd-strong-check-require-charset 등록 정보의 기본 설정은 lower && upper && digit && special입니다.

비밀번호 만료 정책

이 절에서는 비밀번호 만료를 제어하는 정책 속성에 대해 설명합니다.

사용자가 비밀번호를 정기적으로 변경하도록 pwdMaxAge(5dsat)를 설정하여 비밀번호가 특정 사용 기간에 도달한 경우 디렉토리 서버에서 비밀번호를 만료시키도록 구성할 수 있습니다.

이 경우 비밀번호가 만료될 예정이라는 메시지를 사용자에게 보내야 합니다. 바인드에 사용된 비밀번호가 만료될 예정이라는 경로 메시지를 반환하도록 디렉토리 서버를 구성할 수 있습니다. pwdExpireWarning(5dsat)를 사용하여 클라이언트가 바인드할 때 만료되기 며칠 전에 경고 메시지를 표시할지를 정의합니다. 클라이언트 응용 프로그램에 경고 메시지가 표시됩니다.사용자에게 직접 경고 메시지가 표시되지는 않습니다.클라이언트 응용 프로그램은 비밀번호가 만료될 예정이라는 경고 메시지를 받을 경우 최종 사용자에게 알려야 합니다.

pwdGraceAuthNLimit(5dsat)를 설정하여 사용자가 만료된 비밀번호를 사용하여 한 번 이상 바인드를 시도하도록 허용할 수 있습니다. 따라서 사용자가 기간 내에 비밀번호를 변경하지 못한 경우에도 바인드하여 비밀번호를 변경할 수 있습니다. 사용자는 정상 로그인을 사용하여 바인드한 후 모든 작업을 수행할 수 있습니다. 정상 로그인은 비밀번호가 만료되지 않은 것처럼 작동합니다.

디렉토리 서버는 항목의 비밀번호가 수정될 때마다 pwdChangedTime(5dsat) 작동 가능 속성을 업데이트합니다. 따라서 비밀번호 만료가 활성화될 때까지 기다린 후 비밀번호 만료를 활성화하면 이미 만료된 사용자 비밀번호가 즉시 만료됩니다. 이 동작을 원하지 않으면 경고 및 정상 로그인을 사용하십시오.

마지막 인증 시간 추적 정책

이 절에서는 pwdKeepLastAuthTime(5dsat) 비밀번호 정책 속성의 사용에 대해 설명합니다.

pwdKeepLastAuthTime을 설정하면 디렉토리 서버는 사용자가 인증될 때마다 성공한 마지막 바인드 시간을 추적합니다. 시간은 사용자 항목의 pwdLastAuthTime(5dsat) 작동 가능 속성에 기록됩니다.

이 동작은 성공한 바인드 작업마다 업데이트를 추가하기 때문에 pwdKeepLastAuthTime 기능은 기본적으로 활성화되지 않습니다. 이 기능을 배포에 사용하려면 해당 기능을 명시적으로 설정해야 합니다.

비밀번호 정책 정의 워크시트

이 워크시트를 사용하면 명령줄 인터페이스 또는 디렉토리 서비스 제어 센터(Directory Service Control Center, DSCC)를 사용하여 구현할 비밀번호 정책을 쉽게 정의할 수 있습니다. 비밀번호 정책별로 하나의 워크시트를 사용합니다.

비밀번호 정책 항목의 DN을 기록한 후 각 정책 영역에 속성 설정에 대한 결정 사항을 기록합니다. 또한 해당 설정에 대한 이론적 근거를 기록합니다.

비밀번호 정책 워크시트 

비밀번호 정책 항목 고유 이름 

dn: cn=

정책 영역 

속성 

여기에 설정 기록 

여기에 설정에 대한 이론적 근거 기록 

계정 잠금 

pwdFailureCountInterval(5dsat)

   

pwdIsLockoutPrioritized(5dsat)

           

           

pwdLockout(5dsat)

           

           

pwdLockoutDuration(5dsat)

           

           

pwdMaxFailure(5dsat)

           

           

비밀번호 변경 

passwordRootdnMayBypassModsChecks(5dsat)

           

           

pwdAllowUserChange(5dsat)

           

           

pwdInHistory(5dsat)

           

           

pwdMinAge(5dsat)

           

           

pwdMustChange(5dsat)

           

           

pwdSafeModify(5dsat)

           

           

비밀번호 내용 

passwordStorageScheme(5dsat)

           

           

pwdCheckQuality(5dsat)

           

           

pwdMinLength(5dsat)

   

비밀번호 만료 

pwdExpireWarning(5dsat)

           

           

pwdGraceAuthNLimit(5dsat)

           

           

pwdMaxAge(5dsat)

           

           

마지막 인증 시간 추적 

pwdKeepLastAuthTime(5dsat)

           

           


주 –

pwdCheckQuality 속성이 2로 설정되어 있는 경우 서버는 추가 검사를 수행할 수 있습니다. 또한 비밀번호 확인 플러그인이 활성화되어 있는 경우 플러그인 설정은 새 비밀번호 값에 대해 수행하는 검사 유형에 영향을 미칩니다.


기본 비밀번호 정책 관리

기본 비밀번호 정책은 특별 정책이 정의되어 있지 않은 디렉토리 인스턴스 내의 모든 사용자에게 적용됩니다. 기본 비밀번호 정책은 디렉토리 관리자에게는 적용되지 않습니다. 정책 범위에 대한 자세한 내용은 적용되는 비밀번호 정책을 참조하십시오.

기본 비밀번호 정책은 dsconf 명령을 사용하여 구성할 수 있는 정책입니다. 또한 cn=Password Policy,cn=config를 실행하여 기본 비밀번호 정책을 볼 수도 있습니다.

이 절에서는 각 정책 영역에 대한 정책 속성과 관련 dsconf 서버 등록 정보를 보여줍니다. 또한 기본 비밀번호 정책 설정을 보거나 변경하는 방법에 대해 설명합니다.

비밀번호 정책 속성과 dsconf 서버 등록 정보 간의 상관 관계

다음 표에서는 각 비밀번호 정책 영역에 대한 비밀번호 정책 속성과 관련 dsconf 서버 등록 정보를 보여줍니다.

정책 영역 

정책 속성 

dsconf 서버 등록 정보

계정 잠금 

pwdFailureCountInterval

pwd-failure-count-interval

pwdLockout

pwd-lockout-enabled

pwdLockoutDuration

pwd-lockout-duration

pwdMaxFailure

pwd-max-failure-count

비밀번호 변경 

passwordRootdnMayBypassModsChecks

pwd-root-dn-bypass-enabled

pwdAllowUserChange

pwd-user-change-enabled

pwdInHistory

pwd-max-history-count

pwdMinAge

pwd-min-age

pwdMustChange

pwd-must-change-enabled

pwdSafeModify

pwd-safe-modify-enabled

비밀번호 내용 

pwdCheckQuality

pwd-check-enabled, pwd-accept-hashed-password-enabled, pwd-strong-check-dictionary-path, pwd-strong-check-enabled, pwd-strong-check-require-charset

pwdMinLength

pwd-min-length

passwordStorageScheme

pwd-storage-scheme

비밀번호 만료 

pwdExpireWarning

pwd-expire-warning-delay

pwdGraceAuthNLimit

pwd-grace-login-limit

pwdMaxAge

pwd-max-age

마지막 인증 시간 추적 

pwdKeepLastAuthTime

pwd-keep-last-auth-time-enabled


주 –

pwdCheckQuality와 상호 연관되는 등록 정보가 비밀번호 확인 플러그인을 구성합니다. 따라서 다섯 개의 등록 정보가 전체 서버 인스턴스에 적용됩니다. 다섯 개의 등록 정보는 다른 비밀번호 정책 pwdCheckQuality: 2에도 적용됩니다.


Procedure기본 비밀번호 정책 설정을 보는 방법

dsconf 명령을 사용하여 기본 비밀번호 정책 설정을 볼 수 있습니다.

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

  1. 기본 비밀번호 정책 구성을 읽습니다.


    $ dsconf get-server-prop -h host -p port -v -i \
    -w password-file | grep ^pwd-

    password-file에는 디렉토리 관리자의 비밀번호가 들어 있습니다.


    pwd-accept-hashed-pwd-enabled      :  N/A
    pwd-check-enabled                  :  off
    pwd-compat-mode                    :  DS5-compatible-mode
    pwd-expire-no-warning-enabled      :  on
    pwd-expire-warning-delay           :  1d
    pwd-failure-count-interval         :  10m
    pwd-grace-login-limit              :  disabled
    pwd-keep-last-auth-time-enabled    :  off
    pwd-lockout-duration               :  1h
    pwd-lockout-enabled                :  off
    pwd-lockout-repl-priority-enabled  :  on
    pwd-max-age                        :  disabled
    pwd-max-failure-count              :  3
    pwd-max-history-count              :  disabled
    pwd-min-age                        :  disabled
    pwd-min-length                     :  6
    pwd-mod-gen-length                 :  6
    pwd-must-change-enabled            :  off
    pwd-root-dn-bypass-enabled         :  off
    pwd-safe-modify-enabled            :  off
    pwd-storage-scheme                 :  SSHA
    pwd-strong-check-dictionary-path   :  /local/ds6/plugins/words-english-big.txt
    pwd-strong-check-enabled           :  off
    pwd-strong-check-require-charset   :  lower
    pwd-strong-check-require-charset   :  upper
    pwd-strong-check-require-charset   :  digit
    pwd-strong-check-require-charset   :  special
    pwd-supported-storage-scheme       :  CRYPT
    pwd-supported-storage-scheme       :  SHA
    pwd-supported-storage-scheme       :  SSHA
    pwd-supported-storage-scheme       :  NS-MTA-MD5
    pwd-supported-storage-scheme       :  CLEAR
    pwd-user-change-enabled            :  on

Procedure기본 비밀번호 정책 설정을 변경하는 방법

dsconf 명령으로 서버 등록 정보를 설정하여 기본 비밀번호 정책을 변경할 수 있습니다.


주 –

이 절차를 완료하기 전에 비밀번호 정책 정의 워크시트를 읽고 완료하십시오.


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

  1. 워크시트 설정을 dsconf 명령 등록 정보 설정으로 변환합니다.

  2. dsconf set-server-prop 명령을 사용하여 기본 비밀번호 정책 등록 정보를 적절하게 변경합니다.

    예를 들어 디렉토리 관리자는 다음 명령을 사용하여 비밀번호를 수정할 때 기본 정책을 위반할 수 있습니다.


    $ dsconf set-server-prop -h host -p port pwd-root-dn-bypass-enabled:on

특수 비밀번호 정책 관리

특수 비밀번호 정책은 pwdPolicy(5dsoc) 항목에 정의됩니다. 정책은 디렉토리 트리 내의 임의의 위치(일반적으로 정책이 제어하는 계정으로 복제되는 하위 트리 내)에 정의될 수 있습니다. 정책은 cn= policy name,subtree 형태의 DN이 있습니다.

비밀번호 정책을 정의한 후 원하는 사용자 항목에서 pwdPolicySubentry(5dsat) 속성을 설정하여 비밀번호 정책을 할당합니다.

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

적용되는 비밀번호 정책

디렉토리 서버에서는 여러 비밀번호 정책을 구성할 수 있습니다. 이 절에서는 기본 비밀번호 정책과 특수 비밀번호 정책에 대해 설명합니다. 또한 지정된 계정에 여러 비밀번호 정책을 적용할 수 있는 경우 적용되는 정책에 대해 설명합니다.

디렉토리 서버 인스턴스를 처음 만들면 해당 인스턴스에 기본 비밀번호 정책이 적용됩니다. 기본 비밀번호 정책은 cn=PasswordPolicy,cn=config 구성 항목에 설명되어 있습니다. 기본 비밀번호 정책은 디렉토리 관리자를 제외한 디렉토리 내의 모든 계정에 적용됩니다.

모든 디렉토리 서버 비밀번호 정책과 마찬가지로 cn=PasswordPolicy,cn=config에는 pwdPolicy(5dsoc) 객체 클래스 및 sunPwdPolicy(5dsoc) 객체 클래스가 있습니다.


주 –

디렉토리 서버 인스턴스를 만들면 비밀번호 정책 속성이 이전 버전으로부터 업그레이드할 수 있도록 Directory Server 5 호환 모드 그대로 유지됩니다. 또한 Directory Server 5 호환 모드에서 디렉토리 서버는 passwordPolicy(5dsoc) 객체 클래스가 있는 비밀번호 정책 항목을 처리합니다.

업그레이드가 완료되면 Sun Java System Directory Server Enterprise Edition 6.3 Migration Guide에 설명된 것처럼 정식 모드에서 새 비밀번호 정책을 사용합니다. 관리 모드는 디렉토리 응용 프로그램에 투명하게 처리됩니다.

이 장에서는 새 비밀번호 정책 기능을 사용하는 비밀번호 정책 구성에 대해 설명합니다.


기본 비밀번호 정책을 변경하여 기본 설정을 무시할 수 있습니다. dsconf(1M) 명령을 사용하여 기본 비밀번호 정책에 대한 서버 등록 정보를 설정할 수 있습니다. 해당 서버 등록 정보의 이름은 일반적으로 pwd- 접두어로 시작합니다. 해당 등록 정보의 설정을 변경하면 인스턴스에 대한 기본 비밀번호 정책이 무시됩니다. 그러나 복제를 수행해도 복제본에 대한 변경 사항이 복사되지는 않습니다. 기본 비밀번호 정책에 대한 변경 사항은 디렉토리 데이터가 아닌 인스턴스 구성의 일부입니다.

기본 비밀번호 정책 구성 이외에 특수 비밀번호 정책을 구성할 수도 있습니다. 특수 비밀번호 정책은 디렉토리 트리의 항목에 정의됩니다. 특수 비밀번호 정책 항목은 기본 비밀번호 정책과 동일한 객체 클래스인 pwdPolicy(5dsoc)가 있으므로 정책 속성은 동일합니다. 특수 비밀번호 정책은 일반 디렉토리 항목이므로 정책 항목은 일반 디렉토리 항목과 동일한 방법으로 복제됩니다.

사용자 항목은 pwdPolicySubentry(5dsat) 작동 가능 속성 값을 통해 특수 비밀번호 정책을 참조합니다. 사용자 항목에서 참조하는 특수 비밀번호 정책은 인스턴스에 대한 기본 비밀번호 정책을 무시합니다. 사용자는 다양한 배포에서 사용자 역할을 할당합니다. pwdPolicySubentry 값을 설정하여 서비스 클래스(CoS)를 통해 사용자 계정에 적용되는 비밀번호 정책을 결정하도록 역할을 구성할 수 있습니다. 특정 역할에서 설정된 비밀번호 정책을 무시하려면 해당 사용자 항목에서 pwdPolicySubentry 값을 직접 변경합니다.

이 절을 요약하면 처음에는 기본 비밀번호 정책이 적용됩니다. 기본 비밀번호 정책을 변경하여 기본값을 무시할 수 있습니다. 그런 다음 특수 비밀번호 정책 항목을 만들어 기본 비밀번호 정책을 무시할 수 있습니다. 역할 및 CoS를 사용하여 비밀번호 정책을 할당할 경우 개별 항목에 대한 비밀번호 정책을 지정함으로써 CoS에서 할당된 정책을 무시할 수 있습니다.

Procedure비밀번호 정책을 만드는 방법

다른 디렉토리 항목의 경우와 동일한 방법으로 특수 비밀번호 정책을 만들고 수정합니다. 텍스트 편집기를 사용하여 LDIF에 비밀번호 정책 항목을 쓰는 절차는 다음과 같습니다. 그런 다음 ldapmodify 명령을 -a 옵션과 함께 사용하여 디렉토리에 비밀번호 정책 항목을 추가합니다.

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

시작하기 전에

별도로 명시하지 않는 한 여기에 표시된 데이터 예는 Example.ldif에서 가져온 것입니다.

  1. 만들려는 정책에 해당하는 비밀번호 정책 워크시트를 완료하십시오.

    샘플은 비밀번호 정책 정의 워크시트를 참조하십시오.

  2. 워크시트를 기반으로 LDIF에 비밀번호 정책 항목을 작성합니다.

    예를 들어 다음 정책 항목은 하위 트리 루트가 dc=example,dc=com인 Example.com의 임시 직원에 대한 비밀번호 정책을 지정합니다.

    dn: cn=TempPolicy,dc=example,dc=com
    objectClass: top
    objectClass: pwdPolicy
    objectClass: sunPwdPolicy
    objectClass: LDAPsubentry
    cn: TempPolicy
    pwdAttribute: userPassword
    pwdCheckQuality: 2
    pwdLockout: TRUE
    pwdLockoutDuration: 300
    pwdMaxFailure: 3
    pwdMustChange: TRUE

    기본 비밀번호 정책 설정 이외에 여기에 표시된 정책은 추가 동작을 지정합니다. 비밀번호 품질 검사가 시행됩니다. 연속 세 번의 바인드 실패 후 5분(300초) 동안 계정을 잠급니다. 비밀번호를 재설정하고 나면 비밀번호를 변경해야 합니다. 정책을 사용자 계정에 할당하면 여기에 명시적으로 지정된 설정은 기본 비밀번호 정책을 무시합니다.

  3. 디렉토리에 비밀번호 정책 항목을 추가합니다.

    예를 들어 다음 명령은 dc=example,dc=com 아래에 Example.com의 임시 직원에 대한 비밀번호 정책을 추가합니다. 비밀번호 정책이 pwp.ldif라는 파일로 저장되었습니다.


    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f pwp.ldif
    Enter bind password: 
    adding new entry cn=TempPolicy,dc=example,dc=com
    
    $ ldapsearch -D uid=kvaughan,ou=people,dc=example,dc=com -w --b dc=example,dc=com \
    "(&(objectclass=ldapsubentry)(cn=temppolicy))"
    Enter bind password:
    version: 1
    dn: cn=TempPolicy,dc=example,dc=com
    objectClass: top
    objectClass: pwdPolicy
    objectClass: LDAPsubentry
    cn: TempPolicy
    pwdCheckQuality: 2
    pwdLockout: TRUE
    pwdLockoutDuration: 300
    pwdMaxFailure: 3
    pwdMustChange: TRUE
    $

    Example.ldif에 표시된 것처럼 kvaughandc=example,dc=com 항목 수정 액세스 권한이 있는 Human Resources 관리자입니다. Example.ldif에 표시된 것처럼 Vaughan의 바인드 비밀번호는 bribery입니다.

참조

정의된 정책이 적용되는 사용자 계정을 정의하려면 개인 계정에 비밀번호 정책을 할당하는 방법 또는 역할 및 CoS를 사용하여 비밀번호 정책을 할당하는 방법을 참조하십시오.

Procedure개인 계정에 비밀번호 정책을 할당하는 방법

이 절차에서는 단일 사용자 계정에 기존 비밀번호 정책을 할당합니다.


주 –

이 절차를 완료하려면 할당할 특수 비밀번호 정책이 있어야 합니다. 비밀번호 정책을 만드는 방법을 참조하십시오.


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

별도로 명시하지 않는 한 여기에 표시된 데이터 예는 Example.ldif에서 가져온 것입니다.

  1. 사용자 항목의 pwdPolicySubentry 속성 값에 비밀번호 정책 DN을 추가합니다.

    예를 들어 다음 명령은 비밀번호 정책을 만드는 방법에 정의된 비밀번호 정책을 DN이 uid=dmiller,ou=people,dc=example,dc=com인 David Miller의 항목에 할당합니다.


    $ cat pwp.ldif 
    dn: uid=dmiller,ou=people,dc=example,dc=com
    changetype: modify
    add: pwdPolicySubentry
    pwdPolicySubentry: cn=TempPolicy,dc=example,dc=com
    
    $ ldapmodify -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f pwp.ldif 
    Enter bind password: 
    modifying entry uid=dmiller,ou=people,dc=example,dc=com
    
    $ ldapsearch -D uid=kvaughan,ou=people,dc=example,dc=com -w - -b dc=example,dc=com \
    "(uid=dmiller)" pwdPolicySubentry
    Enter bind password:
    version: 1
    dn: uid=dmiller, ou=People, dc=example,dc=com
    pwdPolicySubentry: cn=TempPolicy,dc=example,dc=com
    $

    Example.ldif에 표시된 것처럼 kvaughandc=example,dc=com 항목 수정 액세스 권한이 있는 Human Resources 관리자입니다. Example.ldif에 표시된 것처럼 Vaughan의 바인드 비밀번호는 bribery입니다.

Procedure역할 및 CoS를 사용하여 비밀번호 정책을 할당하는 방법

이 절차에서는 역할 및 서비스 클래스(CoS)를 적용하여 기존의 특수 비밀번호 정책을 사용자 집합에 할당합니다. 역할 및 CoS에 대한 자세한 내용은 10 장, 디렉토리 서버 그룹, 역할 및 CoS를 참조하십시오.


주 –

이 절차를 완료하려면 할당할 특수 비밀번호 정책이 있어야 합니다. 비밀번호 정책을 만드는 방법을 참조하십시오.


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

별도로 명시하지 않는 한 여기에 표시된 데이터 예는 Example.ldif에서 가져온 것입니다.

  1. 비밀번호 정책을 적용할 항목에 대한 역할을 만듭니다.

    예를 들어 다음 명령은 Example.com의 임시 직원에 대한 필터링된 역할을 만듭니다.


    $ cat tmp.ldif
    dn: cn=TempFilter,ou=people,dc=example,dc=com
    objectclass: top
    objectclass: LDAPsubentry
    objectclass: nsRoleDefinition
    objectclass: nsComplexRoleDefinition
    objectclass: nsFilteredRoleDefinition
    cn: TempFilter
    nsRoleFilter: (&(objectclass=person)(status=contractor))
    description: filtered role for temporary employees
    
    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f tmp.ldif
    Enter bind password: 
    modifying entry cn=TempFilter,ou=people,dc=example,dc=com
    
    $

    Example.ldif에 표시된 것처럼 kvaughandc=example,dc=com 항목 수정 액세스 권한이 있는 Human Resources 관리자입니다. Example.ldif에 표시된 것처럼 Vaughan의 바인드 비밀번호는 bribery입니다.

  2. 비밀번호 정책 항목의 DN을 생성할 서비스 클래스를 만듭니다.

    DN은 사용자가 만든 역할이 있는 사용자의 pwdPolicySubentry 속성 값입니다.

    예를 들어 다음 명령은 Example.com의 임시 직원에 대한 필터링된 역할을 만듭니다. 다음 명령은 cn=TempPolicy,dc=example,dc=com을 역할이 있는 사용자에게 할당합니다.


    $ cat cos.ldif
    dn: cn=PolTempl,dc=example,dc=com
    objectclass: top
    objectclass: nsContainer
    
    dn: cn="cn=TempFilter,ou=people,dc=example,dc=com",
     cn=PolTempl,dc=example,dc=com
    objectclass: top
    objectclass: extensibleObject
    objectclass: LDAPsubentry
    objectclass: costemplate
    cosPriority: 1
    pwdPolicySubentry: cn=TempPolicy,dc=example,dc=com
    
    dn: cn=PolCoS,dc=example,dc=com
    objectclass: top
    objectclass: LDAPsubentry
    objectclass: cosSuperDefinition
    objectclass: cosClassicDefinition
    cosTemplateDN: cn=PolTempl,dc=example,dc=com
    cosSpecifier: nsRole
    cosAttribute: pwdPolicySubentry operational
    
    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f cos.ldif
    Enter bind password: 
    modifying entry cn=TempFilter,ou=people,dc=example,dc=com
    
    $

    상태가 contractor인 사용자는 이제 cn=TempPolicy,dc=example,dc=com 비밀번호 정책에 적용됩니다.

Procedure첫 번째 로그인 비밀번호 정책을 설정하는 방법

대부분의 배포에서 새 계정에 적용할 비밀번호 정책은 설정된 계정에 적용할 비밀번호 정책과 다릅니다. 이 절에서는 첫 번째 로그인 비밀번호 정책에 대해 설명합니다. 이 정책은 사용자에게 새로 만든 계정을 3일 동안 사용하여 계정이 잠기기 전에 새 비밀번호를 설정할 수 있도록 허용합니다. 이 정책은 비밀번호를 재설정한 사용자의 경우와 동일하게 적용됩니다.

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

  1. 새로 만든 계정에 대해 특수 비밀번호 정책을 만듭니다.

    예를 들어 만료 시간을 3일(259,200초)로 설정하는 비밀번호 정책 항목을 추가합니다. 또한 이 비밀번호 정책에서는 pwdMustChange(5dsat)TRUE로 설정되어 있습니다. 즉, 사용자가 처음 바인드할 때 비밀번호를 변경해야 합니다.


    $ cat firstLogin.ldif
    dn: cn=First Login,dc=example,dc=com
    objectClass: top
    objectClass: LDAPsubentry
    objectClass: pwdPolicy
    objectClass: sunPwdPolicy
    cn: First Login
    passwordStorageScheme: SSHA
    pwdAttribute: userPassword
    pwdInHistory: 0
    pwdExpireWarning: 86400
    pwdLockout: TRUE
    pwdMinLength: 6
    pwdMaxFailure: 3
    pwdMaxAge: 259200
    pwdFailureCountInterval: 600
    pwdAllowUserChange: TRUE
    pwdLockoutDuration: 3600
    pwdMinAge: 0
    pwdCheckQuality: 2
    pwdMustChange: TRUE
    
    $ ldapmodify -a -D cn=admin,cn=Administrators,cn=config -w - -f firstLogin.ldif
    Enter bind password: 
    adding new entry cn=First Login,dc=example,dc=com
    
    $
  2. 새로 만든 모든 계정을 포함하는 역할을 만듭니다.

    이 역할을 만들 때 새로 만든 계정을 설정된 계정과 구분하는 몇 가지 방법을 설정합니다.

    1. 새 계정의 pwdReset(5dsat) 속성을 TRUE로 설정합니다.

      비밀번호 관리자와 같은 다른 사용자가 사용자의 비밀번호를 변경하면 pwdResetTRUE로 설정됩니다.

    2. 새 계정을 식별하는 역할을 만듭니다.

      예를 들어 다음 명령은 비밀번호를 재설정한 계정에 대한 역할을 만듭니다.


      $ cat newRole.ldif 
      dn: cn=First Login Role,ou=people,dc=example,dc=com
      objectclass: top
      objectclass: LDAPsubentry
      objectclass: nsRoleDefinition
      objectclass: nsComplexRoleDefinition
      objectclass: nsFilteredRoleDefinition
      cn: First Login Role
      nsRoleFilter: (pwdReset=TRUE)
      description: Role to assign password policy for new and reset accounts
      
      $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f newRole.ldif
      Enter bind password: 
      adding new entry cn=First Login Role,ou=people,dc=example,dc=com
      
      $ 
  3. 서비스 클래스를 사용하여 새로 만든 계정에 대한 비밀번호 정책을 할당합니다.


    $ cat newCoS.ldif 
    dn: cn=First Login Template,dc=example,dc=com
    objectClass: top
    objectClass: nsContainer
    
    dn: cn="cn=First Login Role,ou=people,dc=example,dc=com",
     cn=First Login Template,dc=example,dc=com
    objectClass: top
    objectClass: extensibleObject
    objectClass: LDAPSubEntry
    objectClass: CoSTemplate
    cosPriority: 1
    pwdPolicySubentry: cn=First Login,dc=example,dc=com
    
    dn: cn=First Login CoS,dc=example,dc=com
    objectClass: top
    objectClass: LDAPSubEntry
    objectClass: CoSSuperDefinition
    objectClass: CoSClassicDefinition
    cosTemplateDN: cn=First Login Template,dc=example,dc=com
    cosSpecifier: nsRole
    cosAttribute: pwdPolicySubentry operational
    
    $ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -f newCoS.ldif
    Enter bind password: 
    adding new entry cn=First Login Template,dc=example,dc=com
    
    adding new entry cn="cn=First Login Role,ou=people,dc=example,dc=com",
     cn=First Login Template,dc=example,dc=com
    
    adding new entry cn=First Login CoS,dc=example,dc=com
    
    $

예 8–1 비밀번호 정책 할당 검사

추가한 역할에 맞는 새 사용자를 추가합니다. 사용자를 추가하여 새 비밀번호 정책이 새 사용자에게는 적용되고 기존 사용자에게는 적용되지 않는지를 확인합니다.


$ cat quentin.ldif
dn: uid=qcubbins,ou=People,dc=example,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: qcubbins
givenName: Quentin
sn: Cubbins
cn: Quentin Cubbins
mail: quentin.cubbins@example.com
userPassword: ch4ngeM3!
description: New account

$ ldapmodify -a -D uid=kvaughan,ou=people,dc=example,dc=com -w - -f quentin.ldif
Enter bind password: 
adding new entry uid=qcubbins,ou=People,dc=example,dc=com

$ ldapsearch -D uid=kvaughan,ou=people,dc=example,dc=com -w - \
-b dc=example,dc=com uid=qcubbins nsrole pwdPolicySubentry
Enter bind password:
version: 1
dn: uid=qcubbins,ou=People,dc=example,dc=com
nsrole: cn=first login role,ou=people,dc=example,dc=com
pwdPolicySubentry: cn=First Login,dc=example,dc=com
$ ldapsearch -b dc=example,dc=com uid=bjensen nsrole pwdPolicySubentry
version: 1
dn: uid=bjensen, ou=People, dc=example,dc=com
$ 

Barbara Jensen의 기존 계정에는 기본 비밀번호 정책이 적용됩니다. 그러나 Quentin Cubbins의 새 계정에는 정의된 비밀번호 정책이 적용됩니다.


pwdSafeModifyTRUE인 경우 명령줄에서 비밀번호 수정

사용자의 비밀번호 정책에서 pwdSafeModifyTRUE로 설정되어 있는 경우 비밀번호를 변경하려면 이전 비밀번호를 새 비밀번호와 함께 제공해야 합니다. dsconf set-server-prop pwd-safe-modify-enabled:on 명령은 기본 비밀번호 정책에 동일한 효과가 있습니다.

ldappasswd(1) 명령을 사용하여 비밀번호를 변경할 수 있습니다. 이 명령은 안전한 비밀번호 수정을 지원합니다. 이 명령은 RFC 3062, LDAP Password Modify Extended Operation을 구현합니다.

ldapmodify(1) 명령을 사용하여 비밀번호를 변경할 수 있습니다. 이 경우 ldapmodify 명령에 전달되는 LDIF는 다음과 같습니다.

dn: DN of user whose password you are changing
changetype: modify
delete: userPassword
userPassword: old password
-
add: userPassword
userPassword: new password

LDAP 비밀번호 수정 확장 작업을 사용할 수도 있습니다. 확장 작업 지원 설정에 대한 자세한 내용은 비밀번호 수정 확장 작업을 사용하여 비밀번호를 재설정하는 방법을 참조하십시오.

만료된 비밀번호 재설정

비밀번호 정책에서 비밀번호 만료를 시행할 때 사용자가 기간 내에 비밀번호를 변경하지 못하는 경우가 있습니다. 이 절에서는 만료된 비밀번호를 변경하는 방법에 대해 설명합니다.


주 –

디렉토리 서버는 항목의 비밀번호가 수정될 때마다 pwdChangedTime(5dsat) 작동 가능 속성을 업데이트합니다. 따라서 비밀번호 만료가 활성화될 때까지 기다린 후 비밀번호 만료를 활성화하면 이미 만료된 사용자 비밀번호가 즉시 만료됩니다. 이 동작을 원하지 않으면 경고 및 정상 로그인을 사용하십시오.


이 절에는 비밀번호 수정 확장 작업을 사용하여 비밀번호를 재설정하고 비밀번호가 만료된 경우에 정상 인증을 허용하는 절차가 포함되어 있습니다.

이 절에서 설명된 메커니즘은 실제 사용자의 디렉토리 상호 작용을 처리하는 응용 프로그램과 관리자를 위한 것입니다. 일반적으로 응용 프로그램을 사용하여 최종 사용자가 이 메커니즘을 의도된 방식으로 사용하고 있는지 확인합니다.

Procedure비밀번호 수정 확장 작업을 사용하여 비밀번호를 재설정하는 방법

비밀번호가 만료되면 사용자 계정이 잠깁니다. 비밀번호를 재설정하면 계정 잠금이 해제됩니다. 관리자와 같은 다른 사용자가 비밀번호를 재설정할 수 있습니다. 비밀번호를 재설정하면 디렉토리 서버에서 사용자 계정을 잠금 해제합니다. 디렉토리 서버는 RFC 3062, LDAP Password Modify Extended Operation을 지원합니다. 확장된 작업을 사용하면 디렉토리 어드민 관리자나 응용 프로그램에서 비밀번호 재설정을 통해 계정 잠금을 해제할 수 있습니다.

이 절차에 표시된 것처럼 비밀번호 수정 확장 작업을 사용하도록 허용할 경우에는 유의하십시오. 액세스 권한이 신뢰할 수 있는 관리자와 응용 프로그램으로 제한됩니다. 네트워크를 통해 비밀번호를 일반 텍스트로 전달할 수 없습니다.

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

  1. 비밀번호 관리자 또는 비밀번호 관리 응용 프로그램에 사용자 액세스 권한을 부여합니다.

  2. 비밀번호 관리자 액세스를 통해 비밀번호 수정 확장 작업을 사용하도록 허용합니다.

    다음 명령은 Password Managers 역할이 있는 구성원이 SSL을 통해 연결된 경우 비밀번호 수정 확장 작업을 사용하도록 허용하는 ACI를 설정합니다.


    $ cat exop.ldif
    dn: oid=1.3.6.1.4.1.4203.1.11.1,cn=features,cn=config
    objectClass: top
    objectClass: directoryServerFeature
    oid: 1.3.6.1.4.1.4203.1.11.1
    cn: Password Modify Extended Operation
    aci: (targetattr != "aci")(version 3.0;
     acl "Password Modify Extended Operation
     "; allow( read, search, compare, proxy ) (roledn = "
     ldap:///cn=Password Managers,dc=example,dc=com" and authmethod = "SSL");)
    
    $ ldapmodify -a -D cn=admin,cn=Administrators,cn=config -w - -f exop.ldif
    Enter bind password: 
    adding new entry oid=1.3.6.1.4.1.4203.1.11.1,cn=features,cn=config
    
    $

    cn=features,cn=config 아래의 항목을 사용하여 비밀번호 수정 확장 작업에 대한 액세스 권한을 관리할 수 있습니다.

  3. 비밀번호 관리자가 사용자 비밀번호를 재설정합니다.

    이 단계는 사용자 계정의 잠금을 해제하고 ldappasswd(1) 명령을 사용하여 완료할 수 있습니다.

  4. (옵션) 사용자가 비밀번호를 변경해야 하는 경우 비밀번호 관리자가 사용자에게 알림 메시지를 보냅니다.

    사용자는 자신의 항목을 제어하는 비밀번호 정책에 pwdMustChange: TRUE가 포함되어 있는 경우 비밀번호를 재설정한 후 변경해야 합니다.

Procedure비밀번호가 만료된 경우 정상 인증을 허용하는 방법

이 절차에서는 사용자가 만료된 비밀번호를 변경할 수 있도록 정상 인증을 허용하는 방법에 대해 설명합니다.

정상 인증은 비밀번호 정책 요청 및 응답 컨트롤을 처리하는 응용 프로그램에서 관리하도록 설계되었습니다. 이 절차에서는 응용 프로그램에서 컨트롤을 사용하는 방법에 대한 간단한 예를 보여줍니다.

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

  1. 비밀번호 정책 요청 및 응답 컨트롤을 사용하는 응용 프로그램에 대한 액세스 권한이 사용자에게 있는지 확인합니다.

    응용 프로그램에서는 사용자가 정상 인증을 적절하게 처리하는지 확인해야 합니다.

  2. 응용 프로그램에서 비밀번호 정책 컨트롤을 사용하도록 허용합니다.

    다음 명령은 Password Managers 역할을 가진 구성원에게 비밀번호 정책 컨트롤을 사용하도록 허용하는 ACI를 설정합니다.


    $ cat ctrl.ldif
    dn: oid=1.3.6.1.4.1.42.2.27.8.5.1,cn=features,cn=config
    objectClass: top
    objectClass: directoryServerFeature
    oid: 1.3.6.1.4.1.42.2.27.8.5.1
    cn: Password Policy Controls
    aci: (targetattr != "aci")(version 3.0; acl "Password Policy Controls
     "; allow( read, search, compare, proxy ) roledn = "
     ldap:///cn=Password Managers,dc=example,dc=com";)
    
    $ ldapmodify -a -D cn=admin,cn=Administrators,cn=config -w - -f ctrl.ldif
    Enter bind password: 
    adding new entry oid=1.3.6.1.4.1.42.2.27.8.5.1,cn=features,cn=config
    
    $

    cn=features,cn=config 아래의 항목은 오로지 비밀번호 정책 요청 및 응답 컨트롤을 사용하는 작업에 대한 액세스를 관리하기 위한 것입니다.

  3. 비밀번호 정책에서 pwdGraceAuthNLimit를 비밀번호가 만료된 이후 허용할 인증 횟수로 설정합니다.

  4. 응용 프로그램에서는 최종 사용자가 정상 인증 기간이 종료되기 전에 만료된 비밀번호를 변경하도록 안내해야 합니다.

계정 등록 정보 설정

다음 절에서는 계정에 대한 조회 제한, 크기 제한, 시간 제한 및 유휴 시간 초과를 설정하는 방법에 대해 설명합니다.

Procedure계정에 대한 조회 제한을 설정하는 방법

  1. ldapmodify 명령을 사용하여 nsLookThroughLimit 값을 설정합니다.

    다음 명령은 Barbara Jensen에 대한 조회 제한을 제거합니다.


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsLookThroughLimit
    nsLookThroughLimit: -1
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $

Procedure계정에 대한 크기 제한을 설정하는 방법

  1. ldapmodify 명령을 사용하여 nsSizeLimit 값을 설정합니다.

    다음 명령은 Barbara Jensen에 대한 크기 제한을 제거합니다.


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsSizeLimit
    nsSizeLimit: -1
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $

Procedure계정에 대한 시간 제한을 설정하는 방법

  1. ldapmodify 명령을 사용하여 nsTimeLimit 값을 설정합니다.

    다음 명령은 Barbara Jensen에 대한 시간 제한을 제거합니다.


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsTimeLimit
    nsTimeLimit: -1
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $

Procedure계정에 대한 유휴 시간 초과를 설정하는 방법

  1. ldapmodify 명령을 사용하여 nsIdleTimeout 값을 설정합니다.

    다음 명령은 Barbara Jensen에 대한 유휴 시간 초과를 5분(300초)으로 설정합니다.


    $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password: 
    dn: uid=bjensen,ou=people,dc=example,dc=com
    changetype: modify
    add: nsIdleTimeout
    nsIdleTimeout: 300
    ^D
    modifying entry uid=bjensen,ou=people,dc=example,dc=com
    
    ^D
    $

수동으로 계정 잠금

디렉토리 서버에서는 지정된 실패한 바인드 시도 횟수 이후에 계정 잠금을 시행하는 비밀번호 정책을 구성할 수 있습니다. 자세한 내용은 계정 잠금 정책을 참조하십시오. 이 절에서는 디렉토리 관리자가 사용할 수 있는 수동 계정 잠금 및 활성화 도구에 대해 설명합니다.

디렉토리 관리자는 잠금 기간 타이머를 사용하지 않고 계정 잠금을 관리할 수 있습니다. 잠긴 계정은 비밀번호를 수동으로 재설정할 때까지 잠겨진 상태로 유지됩니다. 또한 디렉토리 관리자는 특정 계정을 무한 기간 동안 비활성 상태로 렌더링할 수 있습니다.

이 절에서는 계정 상태를 검사하고 계정을 비활성 상태로 렌더링하며 다시 활성화하는 방법에 대해 설명합니다.

Procedure계정 상태를 검사하는 방법

여기에 표시된 대로 계정 상태를 검사합니다.


주 –

디렉토리 관리자로 바인드해야 합니다.


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

  1. ns-accountstatus 명령을 사용하여 계정 또는 역할 상태를 검사합니다.

    다음 명령은 Barbara Jensen의 계정 상태를 검사합니다.


    $ ns-accountstatus -D "cn=Directory Manager" -j pwd.txt \
     -I uid=bjensen,ou=people,dc=example,dc=com
    uid=bjensen,ou=people,dc=example,dc=com activated.
    $

    자세한 내용은 ns-accountstatus(1M) 설명서 페이지를 참조하십시오.

Procedure계정을 비활성 상태로 렌더링하는 방법

여기에 표시된 대로 계정 또는 역할을 비활성 상태로 렌더링합니다.


주 –

디렉토리 관리자로 바인드해야 합니다.


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

  1. ns-inactivate 명령을 사용하여 계정 또는 역할을 비활성 상태로 렌더링합니다.

    다음 명령은 Barbara Jensen의 계정을 비활성 상태로 렌더링합니다.


    $ ns-inactivate -D "cn=Directory Manager" -j pwd.txt \
    -I uid=bjensen,ou=people,dc=example,dc=com
    uid=bjensen,ou=people,dc=example,dc=com inactivated.
    $

    자세한 내용은 ns-inactivate(1M) 설명서 페이지를 참조하십시오.

Procedure계정을 다시 활성화하는 방법

여기에 표시된 대로 계정 또는 역할을 잠금 해제합니다.


주 –

디렉토리 관리자로 바인드해야 합니다.


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

  1. ns-activate 명령을 사용하여 계정 또는 역할을 다시 활성화합니다.

    다음 명령은 Barbara Jensen의 계정을 다시 활성 상태로 렌더링합니다.


    $ ns-activate -D "cn=Directory Manager" -j pwd.txt \
    -I uid=bjensen,ou=people,dc=example,dc=com
    uid=bjensen,ou=people,dc=example,dc=com activated.
    $

    자세한 내용은 ns-activate(1M) 설명서 페이지를 참조하십시오.