19.8. 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" ----------------------------
managers 그룹에 test 사용자를 추가합니다.
- IdM 웹 UI에서 Identity>Groups>User Groups 를 클릭합니다.
- 관리자.
- 추가를 클릭합니다.
- 사용자 그룹 'managers' 페이지에 사용자 추가 에서 test_user 를 확인합니다.
- > ; 화살표를 클릭하여 사용자를 Prospective 열로 이동합니다.
- 추가를 클릭합니다.
test 사용자의 암호를 재설정합니다.
- Identity>Users 로 이동합니다.
- test_user 를 클릭합니다.
- 작업 메뉴에서 암호 재설정 을 클릭합니다.
- 사용자에 대한 임시 암호를 입력합니다.
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.
시스템에서 입력한 암호가 거부되었음을 알려줍니다. 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:
시스템에서 입력한 암호가 거부되었음을 알려줍니다. 관리자 암호 정책의 기준을 충족하는 암호를 입력합니다.
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