33.6. Ansible 플레이북을 사용하여 IdM 그룹에 추가 암호 정책 옵션 적용
Ansible Playbook을 사용하여 특정 IdM 그룹에 대한 암호 정책 요구 사항을 강화하기 위해 추가 암호 정책 옵션을 적용할 수 있습니다. 이를 위해 maxrepoy
,maxsequence
,dictcheck
및 usercheck
암호 정책 옵션을 사용할 수 있습니다. 이 예제에서는 managers 그룹에 다음 요구 사항을 설정하는 방법을 설명합니다.
- 사용자의 새 암호에는 사용자의 각 사용자 이름이 포함되어 있지 않습니다.
- 암호에는 연속에 두 개 이상의 동일한 문자가 포함되어 있지 않습니다.
- 암호의 단조 문자 시퀀스는 3자를 넘지 않습니다. 즉, 시스템은 1234 또는 abcd 와 같은 시퀀스의 암호를 허용하지 않습니다.
사전 요구 사항
다음 요구 사항을 충족하도록 Ansible 제어 노드를 구성했습니다.
- Ansible 버전 2.14 이상을 사용하고 있습니다.
-
Ansible 컨트롤러에
ansible-freeipa
패키지가 설치되어 있습니다. - ~/MyPlaybook/ 디렉터리에 IdM 서버의 FQDN(정규화된 도메인 이름)을 사용하여 Ansible 인벤토리 파일을 생성했습니다.
-
ipaadmin_password
를 secret.yml Ansible 자격 증명에 저장했습니다.
- 암호 정책이 IdM에 있는지 확인하는 그룹입니다.
절차
확인하려는 암호 정책을 정의하는 Ansible 플레이북 파일 manager_pwpolicy_present.yml 을 생성합니다. 이 단계를 간소화하려면 다음 예제를 복사 및 수정합니다.
--- - name: Tests hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure presence of usercheck and maxrepeat pwpolicy for group managers ipapwpolicy: ipaadmin_password: "{{ ipaadmin_password }}" name: managers usercheck: True maxrepeat: 2 maxsequence: 3
플레이북을 실행합니다.
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory_/manager_pwpolicy_present.yml
검증
test _user라는 테스트 사용자를 추가합니다.
$ ipa user-add test_user First name: test Last name: user ---------------------------- Added user "test_user" ----------------------------
test 사용자를 managers 그룹에 추가합니다.
-
IdM 웹 UI에서
(사용자 그룹) 를 클릭합니다. - managers 를 클릭합니다.
-
추가
를 클릭합니다. - Add users into user group 'managers' 페이지에서 test_user 를 확인합니다.
-
>
화살표를 클릭하여 사용자를Prospective
열로 이동합니다. -
추가
를 클릭합니다.
-
IdM 웹 UI에서
테스트 사용자의 암호를 재설정합니다.
- 로 이동합니다.
- test_user 를 클릭합니다.
-
Actions(작업)
메뉴에서Reset Password(암호 재설정
)를 클릭합니다. - 사용자의 임시 암호를 입력합니다.
명령줄에서 test_user 에 대한 Kerberos 티켓 부여 티켓(TGT)을 가져옵니다.
$ kinit test_user
- 임시 암호를 입력합니다.
시스템에서 암호를 변경해야 함을 알려줍니다. 사용자 이름이 test_user 인 암호를 입력합니다.
Password expired. You must change it now. Enter new password: Enter it again: Password change rejected: Password not changed. Unspecified password quality failure while trying to change password. Please try again.
참고Kerberos에는 세부적인 오류 암호 정책 보고가 없으며 특정 경우에는 암호가 거부된 명확한 이유를 제공하지 않습니다.
시스템은 입력한 암호가 거부되었음을 알려줍니다. 연속해서 3개 이상의 동일한 문자를 포함하는 암호를 입력합니다.
Password change rejected: Password not changed. Unspecified password quality failure while trying to change password. Please try again. Enter new password: Enter it again:
시스템은 입력한 암호가 거부되었음을 알려줍니다. 3자를 초과하는 단조 문자 시퀀스가 포함된 암호를 입력합니다. 이러한 서열의 예는 1234 및 fedc 를 포함한다:
Password change rejected: Password not changed. Unspecified password quality failure while trying to change password. Please try again. Enter new password: Enter it again:
시스템은 입력한 암호가 거부되었음을 알려줍니다. managers 암호 정책의 기준을 충족하는 암호를 입력합니다.
Password change rejected: Password not changed. Unspecified password quality failure while trying to change password. Please try again. Enter new password: Enter it again:
유효한 암호를 입력한 후에만 TGT를 받을 수 있는지 확인합니다.
$ klist Ticket cache: KCM:0:33945 Default principal: test_user@IDM.EXAMPLE.COM Valid starting Expires Service principal 07/07/2021 12:44:44 07/08/2021 12:44:44 krbtgt@IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
추가 리소스
- IdM의 추가 암호 정책
-
/usr/share/doc/ansible-freeipa/README-pwpolicy.md
-
/usr/share/doc/ansible-freeipa/playbooks/pwpolicy