티스토리 뷰

Security/Cloud Native

Hashicorp Boundary

Jacob_baek 2020. 10. 28. 09:49

Boundary 란?

Boundary는 호스트와 서비스에 단순하고 안전한 접근을 제공한다.
Boundary는 소개시에 대체로 SSH Bastion Hosts나 VPN 그리고 Firewall을 예로 들면서 설명이 이루어진다.
이러한 부분에서 짐작할수 있고 실제 이름에서도 볼수 있듯이 가장 외곽에 자리한 Firewall과 Bastion Host등과 같은 역할을 수행하게 될 시스템이라 볼수 있다.

가장 강조된 포인트는 신뢰 가능한 ID와 그에 맞는 ROLE이다.

일반적으로 VPN 및 SSH bastion host 연결에 대한 접근 권한을 firewall을 통해 제어하게 되는데 이를 좀더 앞단에 계정을 가지고 제어한다라 보면 좋을듯 하다.
즉, Boundary를 통해 신뢰가능한 ID가 적당한 역할에 기반한 권한을 가지고 정당한 접근이 이루어질수 있도록 하여 기존의 복잡한(실제 많이 복잡한것은 아니지만) workflow를 단순화 시켜주는것에 초점을 맞추고 있는 도구(시스템)이라 볼수 있다.

기능소개

  • ID/Role 기반 접근
  • Session 관리
  • Platform 에 영향없이 접근을 하나로 통일(on-prem, kubernetes, clouds..)
  • Session 보여주기 : session의 metric, events, logs 등 다양한 정보 출력
  • IaC(Infrastructure as code) : terraform을 이용하여 정책정의 및 boundary 관리를 코드기반으로 수행 가능
  • 동적 환경 관리 : 자동으로 control되어지기에 system, app등이 동적으로 변경되는 환경에서도 관리가능

Architecture

  • Controller : 설정사용자들에 대한 , 인증, 허가를 하며 사용자 API 요청을 처리하는것을 담당
  • KMS(Key Management Service) : Controller의 root key 저장과 worker 의 인증, 그리고 부가적으로 recovery 기능을 위해 사용할수 있다.
  • Workers : 세션 레코딩/프록시 역할을 수행한다.

workflow

아래 그림이 잘 설명된 그림으로 보여진다.

간단히 소개하자면 Target System(즉, 접근하고자 하는 서버)에 연결하기 위해서는 worker를 거쳐서 접근이 이루어지는데 이때 관련 정책 및 API를 통한 사용자 요청 처리등을 Controller가 수행하게 되는것이다.

좀더 필자가 해석한 workflow 방식을 아래에 간단히 diagram화 하였다.

실제 다음과 같은 작업이 이루어지고 Target들에 접근이 되게 된다.

  1. Client는 boundary binary를 다운로드 받고
  2. controller에 연결할수 있도록 준비하고 auth 과정을 거쳐 token을 발급받는다.
  3. 발급받은 token으로 각 Target 시스템에 연결을 boundary command를 가지고 수행하게 된다.

참고
가장 중요한 부분이 사용자 입장에서의 접근 방식과 어디까지 boundary가 지원하는지일거라 생각된다.
아래 링크에 소개된 built-in 방식은 다음과 같다.

How to use

아래 링크를 참고하자.

참고
Boundary는 endpoint hosts나 Service들에 Software설치를 하지 않는다.
그렇다면 관련 작업들을 누가 수행해주냐라는 질문에 답변을 하자면 worker가 중간역할(proxy)을 수행한다 보면 된다.

Roadmap

개인적으로 이런게 더 추가되면 좋겠다라고 생각했던 것들이 다음 릴리즈에 포함하려 한다는 계획상에 포함되어 있었다.
간단히 소개하자면

참고사이트

'Security > Cloud Native' 카테고리의 다른 글

Gatekeeper mutatation  (0) 2023.05.04
Rego test and http.send  (0) 2023.05.03
trivy db search  (0) 2023.04.02
How to use Hashicorp boundary  (0) 2020.10.24
How to use Vault  (0) 2020.10.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함