2.6. 시간 기반 계정 잠금 정책 구성
계정 정책 플러그인을 사용하여 다음과 같은 다양한 시간 기반 잠금 정책을 구성할 수 있습니다.
2.6.1. 마지막으로 로그인에 성공한 일정 시간 자동 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 21일 이상 로그인하지 않는 dc=example,dc=com
항목에서 사용자를 비활성화하는 시간 기반 잠금 정책을 구성합니다.
예를 들어 직원이 퇴사하고 관리자가 계정을 삭제하는 것을 잊어버린 경우와 같이 계정 비활성 기능을 사용하여 계정을 비활성화한 경우 일정 시간 후에 계정을 비활성화합니다.
절차
계정 정책 플러그인을 활성화합니다.
dsconf <instance_name> plugin account-policy enable
# dsconf <instance_name> plugin account-policy enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플러그인 구성 항목을 구성합니다.
dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr lastLoginTime --alt-state-attr 1.1 --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit
# dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr lastLoginTime --alt-state-attr 1.1 --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 다음 옵션을 사용합니다.
-
--always-record-login yes
: 로그인 시간 로깅을 활성화합니다. 이는acctPolicySubentry
특성이 설정되어 있지 않은 경우에도 COS(Class of Service) 또는 역할을 계정 정책과 함께 사용해야 합니다. -
--state-attr lastLoginTime
: 계정 정책 플러그인이 사용자의lastLoginTime
속성에 마지막 로그인 시간을 저장하도록 구성합니다. -
--Alt-state-attr 1.1
: 대체 특성을 사용하여 기본 속성이 없는지 확인합니다. 기본적으로 Directory Server는createTimestamp
특성을 대안으로 사용합니다. 그러나 이 경우 계정에lastLoginTime
특성이 설정되어 있지 않고createTimestamp
가 구성된 비활성 기간보다 오래된 경우 Directory Server에서 기존 사용자를 자동으로 로그아웃합니다. 대체 특성을 비활성화하면 Directory Server가 다음에 로그인할 때 사용자 항목에lastLoginTime
특성이 자동으로 추가됩니다. -
--spec-attr acctPolicySubentry
:acctPolicySubentry
특성이 설정된 항목에 정책을 적용하도록 Directory Server를 구성합니다. CoS 항목에서 이 속성을 구성합니다. -
--limit-attr accountInactivityLimit
: 계정 비활성화 정책 항목의accountInactivityLimit
속성이 비활성 시간을 저장하도록 구성합니다.
-
인스턴스를 다시 시작합니다.
dsctl <instance_name> restart
# dsctl <instance_name> restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 계정 비활성화 정책 항목을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow accountInactivityLimit
속성 값은 마지막 로그인 후 Directory Server가 계정1814400
초(21일)를 비활성화하도록 구성합니다.CoS 템플릿 항목을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 템플릿 항목은 계정 비활성화 정책을 참조합니다.
CoS 정의 항목을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 정의 항목은 CoS 템플릿 항목을 참조하고
cn=Account Inactivation Policy,dc=example,dc=com
로 설정된 각 사용자 항목에acctPolicySubentry
속성이 표시됩니다.
검증
사용자의
lastLoginTime
특성을 구성한 비활성 시간보다 오래된 값으로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 사용자로 디렉터리에 연결을 시도합니다.
ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com"
# ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com" ldap_bind: Constraint violation (19) additional info: Account inactivity limit exceeded. Contact system administrator to reset.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server가 액세스를 거부하고 이 오류를 반환하면 계정 비활성화가 작동합니다.
2.6.2. 계정을 생성한 후 일정 시간 자동 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
dc=example,dc=com
항목의 계정이 관리자가 생성한 후 60일 후에 만료되도록 구성하려면 다음 절차를 따르십시오.
예를 들어 계정 만료 기능을 사용하여 계정이 생성된 후 특정 시간 동안 외부 작업자의 계정이 잠겼는지 확인합니다.
절차
계정 정책 플러그인을 활성화합니다.
dsconf <instance_name> plugin account-policy enable
# dsconf <instance_name> plugin account-policy enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플러그인 구성 항목을 구성합니다.
dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr createTimestamp --alt-state-attr 1.1 --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit
# dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr createTimestamp --alt-state-attr 1.1 --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 다음 옵션을 사용합니다.
-
--always-record-login yes
: 로그인 시간 로깅을 활성화합니다. 이는acctPolicySubentry
특성이 설정되어 있지 않은 경우에도 COS(Class of Service) 또는 역할을 계정 정책과 함께 사용해야 합니다. -
--state-attr createTimestamp
: 계정 정책 플러그인이createTimestamp
속성 값을 사용하여 계정이 만료되었는지 여부를 계산합니다. -
--Alt-state-attr 1.1
: 대체 특성을 사용하여 기본 속성이 없는지 확인합니다. -
--spec-attr acctPolicySubentry
:acctPolicySubentry
특성이 설정된 항목에 정책을 적용하도록 Directory Server를 구성합니다. CoS 항목에서 이 속성을 구성합니다. -
--limit-attr accountInactivityLimit
: 계정 만료 정책 항목의accountInactivityLimit
속성이 최대 기간을 저장하도록 구성합니다.
-
인스턴스를 다시 시작합니다.
dsctl <instance_name> restart
# dsctl <instance_name> restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 계정 만료 정책 항목을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow accountInactivityLimit
속성 값은 계정이 생성된 후5184000
초(60일)가 만료되도록 구성합니다.CoS 템플릿 항목을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 템플릿 항목은 계정 만료 정책을 참조합니다.
CoS 정의 항목을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 정의 항목은 CoS 템플릿 항목을 참조하고
cn=Account Expiration Policy,dc=example,dc=com
로 설정된 각 사용자 항목에acctPolicySubentry
속성이 표시됩니다.
검증
createTimestamp
속성이 60일 전 값으로 설정된dc=example,dc=com
항목에 저장된 사용자로 디렉터리에 연결을 시도합니다.ldapsearch -H ldap://server.example.com -x -D "uid=example,dc=example,dc=com" -W -b "dc=example,dc=com"
# ldapsearch -H ldap://server.example.com -x -D "uid=example,dc=example,dc=com" -W -b "dc=example,dc=com" ldap_bind: Constraint violation (19) additional info: Account inactivity limit exceeded. Contact system administrator to reset.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server가 액세스를 거부하고 이 오류를 반환하는 경우 계정 만료가 작동합니다.
2.6.3. 암호 만료 후 일정 시간 자동 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 28일 이상 암호를 변경하지 않는 dc=example,dc=com
항목에서 사용자를 비활성화하는 시간 기반 잠금 정책을 구성합니다.
사전 요구 사항
-
사용자는 항목에
passwordExpirationTime
속성이 설정되어 있어야 합니다.
절차
암호 만료 기능을 활성화합니다.
dsconf <instance_name> config replace passwordExp=on
# dsconf <instance_name> config replace passwordExp=on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 계정 정책 플러그인을 활성화합니다.
dsconf <instance_name> plugin account-policy enable
# dsconf <instance_name> plugin account-policy enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플러그인 구성 항목을 구성합니다.
dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --always-record-login-attr lastLoginTime --state-attr non_existent_attribute --alt-state-attr passwordExpirationTime --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit
# dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --always-record-login-attr lastLoginTime --state-attr non_existent_attribute --alt-state-attr passwordExpirationTime --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 다음 옵션을 사용합니다.
-
--always-record-login yes
: 로그인 시간 로깅을 활성화합니다. 이는acctPolicySubentry
특성이 설정되어 있지 않은 경우에도 COS(Class of Service) 또는 역할을 계정 정책과 함께 사용해야 합니다. -
--always-record-login-attr lastLoginTime
: 계정 정책 플러그인이 사용자의lastLoginTime
속성에 마지막 로그인 시간을 저장하도록 구성합니다. -
--state-attr non_existent_attribute
: 존재하지 않는 dummy 속성 이름으로 계정 정책을 평가하는 데 사용되는 기본 시간 속성을 설정합니다. -
--Alt-state-attr 'passwordExpirationTime
:passwordExpirationTime
속성을 확인할 대체 속성으로 사용하도록 플러그인을 구성합니다. -
--spec-attr acctPolicySubentry
:acctPolicySubentry
특성이 설정된 항목에 정책을 적용하도록 Directory Server를 구성합니다. CoS 항목에서 이 속성을 구성합니다. -
--limit-attr accountInactivityLimit
: 계정 정책 항목의accountInactivityLimit
속성이 마지막 암호가 변경된 후 계정이 비활성화된 시간을 저장하도록 구성합니다.
-
인스턴스를 다시 시작합니다.
dsctl <instance_name> restart
# dsctl <instance_name> restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 계정 비활성화 정책 항목을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow accountInactivityLimit
속성 값은 암호가 변경된 후 Directory Server가 계정2419200
초(28일)를 비활성화하도록 구성합니다.CoS 템플릿 항목을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 템플릿 항목은 계정 비활성화 정책을 참조합니다.
CoS 정의 항목을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 정의 항목은 CoS 템플릿 항목을 참조하고
cn=Account Inactivation Policy,dc=example,dc=com
로 설정된 각 사용자 항목에acctPolicySubentry
속성이 표시됩니다.
검증
사용자의
passwordExpirationTime
속성을 구성한 비활성 시간보다 오래된 값으로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 사용자로 디렉터리에 연결을 시도합니다.
ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com"
# ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com" ldap_bind: Constraint violation (19) additional info: Account inactivity limit exceeded. Contact system administrator to reset.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server가 액세스를 거부하고 이 오류를 반환하면 계정 비활성화가 작동합니다.
2.6.4. 계정 비활성 및 암호 만료 모두에서 계정 자동 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
checkAllStateAttrs
설정을 사용하여 사용자가 인증할 때 계정 비활성 및 암호 만료를 모두 적용할 수 있습니다. 기본적으로 checkAllStateAttrs
가 플러그인 구성 항목에 없거나 이 매개변수를 no
로 설정하면 플러그인에서 state 특성 lastLoginTime
을 확인합니다. 항목에 속성이 없으면 플러그인은 대체 상태 특성을 확인합니다.
기본 state 속성을 존재하지 않는 속성으로 설정하고, 플러그인에서 passwordExpirationtime
속성을 기반으로 만료를 처리하려는 경우 대체 상태 속성을 passwordExpirationtime
으로 설정할 수 있습니다. 이 매개변수를 활성화하면 기본 상태 특성이 확인되고 계정이 정상이면 대체 상태 특성을 확인합니다.
이는 passwordExpirationtime이 비활성 제한을 초과하는 경우 계정 정책 플러그인이 계정을 완전히 비활성화한다는 점에서 암호 정책의 암호 만료와 다릅니다. 암호 정책 만료를 사용하는 동안 사용자는 계속 로그인하여 암호를 변경할 수 있습니다. 계정 정책 플러그인은 사용자가 아무 작업도 수행하지 못하도록 완전히 차단하고 관리자가 계정을 재설정해야 합니다.
절차
플러그인 구성 항목을 생성하고 설정을 활성화합니다.
dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr lastLoginTime --alt-state-attr 1.1 --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit --check-all-state-attrs yes
# dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr lastLoginTime --alt-state-attr 1.1 --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit --check-all-state-attrs yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버를 다시 시작하여 새 플러그인 구성을 로드합니다.
dsctl <instance_name> restart
# dsctl <instance_name> restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의checkAllStateAttrs
설정은 대체 상태 속성이passwordExpiratontime
으로 설정된 경우에만 작동하도록 설계되었습니다.createTimestamp
로 설정하면 바람직하지 않은 결과가 발생할 수 있으며 항목이 잠길 수 있습니다.