본문으로 바로가기

https://www.inflearn.com/course/ansible-%EC%8B%AC%ED%99%94

 

[심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 강의

앤서블을 시간을 적게 들이면서, 좀 더 구조적으로 그리고 빠르게 동작하도록 만들어 봅시다. 그리고 부가적으로 보안적인 부분도 함께 알아보겠습니다., Ansible 심화 강좌 이전에 출시된 '[기초]

www.inflearn.com

 

CH5. 보안을 첨가하기

ㅇ 볼트 (Valut)

- 중요한 정보들을 보호해야함

 > ex) ansible_ssh_user, ansible_ssh_pass, ansible_ssh_port 등

 => ansible-vault 를 통해 암호화 진행

  #ansible-vault encrypt group_vars/nodes

  => encrypt => AES 256 암호화

  => vault password 입력 

> 이후 valut 된 파일을 넣어서 실행할때 --ask-valut-pass 옵션을 넣어서 실행해야함

 - 실행경로에 한글이 있으면 에러남

 

- 복호화를 위해서는 decrypt 사용

    #ansible-vault decrypt group_vars/nodes

- 사용자에게 암호를 다 전달해줘야할까? 

 > 암호화된 파일 포함하여 실행할 경우, 암호가 필요..

 > 사용자들이 이를 알고있어야한다.

 

 - 해결을 위해 암호화키 사용

 > 암호화 키 제작

 # ansible-valut create /home/vagrant/.ansible/vault_key

 > 복잡한 키로 만든 금고

 # ansible-vault encrypt ./group_vars/nodes --vault-password-file ~/.ansible/vault_key

 # ansible-vault encrypt nginx_install_w_template.yml --vault-password-file ~/.ansible/vault_key

 > 실행 시

 # anp nginx_install_w_template.yml --vault-password-file ~/.ansible/vault_key

 => 그렇다하더라도 anp로 실행시 -vvv 옵션을 주면 들어나게됨

 

ㅇ 노 로그 (no Log)

- 암호화된 파일 수정

 # ansible-vault edit nginx_install_w_template.yml --vault-password-file ~/.ansible/vault_key

 

- 암호화된 파일 내용 확인

# ansible-vault view nginx_install_w_template.yml --vault-password-file ~/.ansible/vault_key

- no_log: yes 추가

 

=> 그렇다하더라도 user나 port는 노출된다. 이것은 추후 ansible에서 개선 필요