[정보] 설정관리 프로그램에서 데이터 암호화 관련

146 views
Skip to first unread message

Taejoon Moon

unread,
Aug 17, 2016, 10:33:16 PM8/17/16
to sysadm...@googlegroups.com
Ansible korea 커뮤니티에 설정관리 프로그램에서 데이터 암호화 관련된 글을 쓴 것이 있어서 여기에 이 부분만 따로 올립니다. 혹시나 도움되실 분들이 있을 듯 하여서요.
https://www.facebook.com/groups/1155875487786643/

설정관리 프로그램에서 데이터 암호화에 대해서 궁금해서 좀 더 찾아보았습니다.

Puppet 의 경우 각 서버별 변경을 할 수 있는 정보는 hiera라는 곳에 저장을 할 수 있고 hiera의 backend(저장소 생각하면 될듯)으로 여러가지를 사용할 수 있는데요. 지금은 hiera-eyaml 을 이용하여 비밀정보에 대해 암호화를 하네요.
https://github.com/TomPoulton/hiera-eyaml

Ansible은 1.5부터 "Vault" 기능을 지원하여 비밀정보에 대한 암호화를 하는데요. 이 "Vault"가 HashCorp의 "Vault"를 이용한것가 찾아봤지만 그건 아닌 것 같군요.
http://docs.ansible.com/ansible/playbooks_vault.html

HashCorp의 "Vault" 자료에서 다른 설정관리툴과 비교를 한 것인데요. "Chef has encrypted data bags, Puppet has encrypted Hiera"라고 나오는데요. 아래 자료를 보면 Chef에서 hashcorp vault 를 연동해서 이용하는 내용 나옵니다.
https://www.vaultproject.io/intro/vs/chef-puppet-etc.html

saltstack의 경우는 각 서버별 변경을 할 수 있는 정보를 pillar 라는 곳에 저장을 하는데 GPG를 이용하여 비밀번호같은 것을 저장할 수 있나 봅니다.
https://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.gpg.html

GiSeong Eom

unread,
Aug 18, 2016, 12:26:37 PM8/18/16
to sysadminstudy
Chef Server를 사용하는 환경이라면 encrypted data bag 대신에 chef-vault를 사용할 수 있습니다. 아래 블로그 포스팅을 보면 encrypted data bag 및 한계점이 잘 설명되어 있습니다.


Chef Server를 사용하지 않는 경우에는 좀 복잡해지는데, 저는 AWS KMS를 이용해서 구성했습니다.  
Git 저장소의 Infrastructure Code 에서 Password, API Key 등을 모두 암호화할 수 있었습니다. 그리고, AWS KMS을 사용하면 shared (encryption/decryption) key를 모든 노드에 뿌리고 관리하는 노가다를 피할 수 있습니다. 아래 URL의 내용을 참고하세요.

개념적으로는 Hashicorp Vault가 가장 앞서 있는 것 같습니다. 특정 솔루션 및 Azure, AWS와 같은 Cloud Service 에 종속되지 않는 것은 매력적으로 보입니다. 하지만, consul을 사용하지 않는 조직이라면 vault + consul 학습 부담이 꽤 있습니다. 그리고, Hashicorp 도구들의 공통된 특징인데, 빠르게 버전 올라가면서 하위호환성에 영향 주는 breaking changes가 간혹 발생합니다. 그래서, Github의 CHANGELOG 열심히 보면서 업그레이드도 맞춰서 잘 해야 합니다. 
  vault 관련해서 몇 가지 재미난 글 쓰레드 공유합니다. Credential 관리에 대한 사람들의 인식 및 접근 방법에 대해서 도움이 될 것이라고 생각합니다.



Taejoon Moon

unread,
Aug 18, 2016, 9:12:59 PM8/18/16
to sysadm...@googlegroups.com
내부적으로는 Docker 설정파일에서 보안과 관련된 부분을 Hashicorp Vault를 이용하여 처리하고 있을건데 저는 아직 테스팅은 해보지를 않았지요.
AWS를 사용한다면 AWS KMS를 이용하여 관리할 수 있는 부분이 있겠군요. 이 부분은 나중에 살펴봐야 겠네요.

지금 당장은 아니고 OS설정관리를 ansible로 준비하려고 하는데 그때 다시 한번 살펴보려고 합니다.
이것 때문에 각종 설정관리 프로그램에서 어떻게 보안데이터 암호화를 하는지 잠시 살펴 보았지요.


2016년 8월 19일 오전 1:26, GiSeong Eom <jur...@kldp.org>님이 작성:

--
이 메일은 Google 그룹스 'sysadminstudy' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 sysadminstudy+unsubscribe@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 sysadm...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/sysadminstudy에서 이 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

Reply all
Reply to author
Forward
0 new messages