반응형
CentOS 7에서 HashiCorp Vault를 설치하는 방법
사전 준비(Prerequirements)
필수 패키지 설치
yum -y -q install curl unzip openssh openssh-server openssh-clients
yum -y -q install epel-release
yum -y -q install sshpass
Vault 설치
Vault 버전 설정
export VAULT_VERSION=1.3.4
Vault 바이너리 다운로드 및 검증
cd /usr/local/src/
curl -fsSLO https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip
curl -fsSLO https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_SHA256SUMS
SHA256 체크섬 검증
grep "vault_${VAULT_VERSION}_linux_amd64.zip" vault_${VAULT_VERSION}_SHA256SUMS | sha256sum -c -
vault_1.3.4_linux_amd64.zip: 성공
Vault 설치
unzip -q vault_${VAULT_VERSION}_linux_amd64.zip
cp vault /usr/local/bin/
chmod +x /usr/local/bin/vault
설치 확인
which vault
/usr/local/bin/vault
vault --version
Vault v1.3.4
Vault 데이터 및 설정 디렉토리 구성
Vault 데이터 디렉토리 생성
mkdir -p /app/vault/data
Vault 설정 파일 생성
cat > /app/vault/config.hcl <<EOF
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = true # don't do this in production - always use TLS in prod
}
storage "file" {
path = "/app/vault/data"
}
disable_mlock = true # don't do this in production either
# ^ setting this to true allows leaking of sensitive data to disk/swap
# we're doing it here to avoid running the process as root
# or modifying any system tunables
EOF
728x90
Vault 서버 실행
Vault 서버 실행(일반 모드)
- Vault를 실행하고 초기화해야 합니다.
vault server -config=/app/vault/config.hcl
Vault 서버 실행(개발 모드)
- Vault 서버를 개발용 모드로 실행할 수 있습니다.
vault server -dev
==> Vault server configuration:
Api Address: http://127.0.0.1:8200
Cgo: disabled
Cluster Address: https://127.0.0.1:8201
Listener 1: tcp (addr: "127.0.0.1:8200", cluster address: "127.0.0.1:8201", max_request_duration: "1m30s", max_request_size: "33554432", tls: "disabled")
Log Level: info
Mlock: supported: true, enabled: false
Recovery Mode: false
Storage: inmem
Version: Vault v1.3.4
WARNING! dev mode is enabled! In this mode, Vault runs entirely in-memory
and starts unsealed with a single unseal key. The root token is already
authenticated to the CLI, so you can immediately begin using Vault.
You may need to set the following environment variable:
$ export VAULT_ADDR='http://127.0.0.1:8200'
The unseal key and root token are displayed below in case you want to
seal/unseal the Vault or re-authenticate.
Unseal Key: z/zNZCzwvD2vzWpZn7fLWCTYDCnkexYSfcnZI8P2+g4=
Root Token: s.F2bOWngShzH0oehzHbacWBJN
Development mode should NOT be used in production installations!
==> Vault server started! Log data will stream in below:
2020-03-21T11:22:16.897+0900 [INFO] proxy environment: http_proxy= https_proxy= no_proxy=
2020-03-21T11:22:16.898+0900 [WARN] no `api_addr` value specified in config or in VAULT_API_ADDR; falling back to detection if possible, but this value should be manually set
2020-03-21T11:22:16.907+0900 [ERROR] core: no seal config found, can't determine if legacy or new-style shamir
2020-03-21T11:22:16.907+0900 [ERROR] core: no seal config found, can't determine if legacy or new-style shamir
2020-03-21T11:22:16.907+0900 [INFO] core: security barrier not initialized
Vault 서비스 확인
Vault 리스닝 포트 확인(listen port)
ss -nlpt | grep vault
LISTEN 0 128 *:8200 *:* users:(("vault",pid=26974,fd=5))
환경 변수 설정
export VAULT_ADDR=http://127.0.0.1:8200
Vault 상태 확인
vault status
Initialized: false
Sealed: true
Vault 초기화 및 Unseal
Vault를 초기화하고 언락 키를 안전한 곳에 저장합니다.
vault operator init
Vault 초기화 후에 생성된 루트 토큰 및 언락 키를 안전한 장소에 보관하십시오.
Vault Unseal
vault operator unseal
vault operator unseal
vault operator unseal
Vault에 대한 인증 및 비밀 엔진 설정
Vault를 사용하기 위해 인증 및 비밀 엔진을 활성화합니다.
Token 인증 활성화
vault auth enable token
KV Secret Engine 활성화
vault secrets enable kv
Vault 기본 사용 예시
Secret 저장
vault kv put secret/myapp password=1234
Secret 조회
vault kv get secret/myapp
참고URL
- Vault Release : https://releases.hashicorp.com/vault/
==> Vault 서버 구성: API 주소: http://127.0.0.1:8200 Cgo: 비활성화됨 클러스터 주소: https://127.0.0.1:8201 리스너 1: tcp(주소: "127.0.0.1:8200", 클러스터 주소: "127.0.0.1:8201", max_request_duration: "1m30s", max_request_size: "33554432", tls: "disabled") 로그 수준: 정보 Mlock: 지원됨: true, 활성화됨: false 복구 모드: 거짓 저장공간: 인멤 버전: Vault v1.3.4 경고! 개발자 모드가 활성화되었습니다! 이 모드에서는 Vault가 완전히 메모리 내에서 실행됩니다. 하나의 봉인 해제 키로 봉인 해제를 시작합니다. 루트 토큰은 이미 CLI에 인증되므로 즉시 Vault 사용을 시작할 수 있습니다. 다음 환경 변수를 설정해야 할 수도 있습니다. $ 내보내기 VAULT_ADDR='http://127.0.0.1:8200' 원하는 경우를 대비해 봉인 해제 키와 루트 토큰이 아래에 표시됩니다. Vault를 봉인/해제하거나 재인증하세요. 봉인 해제 키: z/zNZCzwvD2vzWpZn7fLWCTYDCnkexYSfcnZI8P2+g4= 루트 토큰: s.F2bOWngShzH0oehzHbacWBJN 프로덕션 설치에서는 개발 모드를 사용하면 안 됩니다! ==> Vault 서버가 시작되었습니다! 로그 데이터는 아래로 스트리밍됩니다. 2020-03-21T11:22:16.897+0900 [정보] 프록시 환경: http_proxy= https_proxy= no_proxy= 2020-03-21T11:22:16.898+0900 [경고] 구성 또는 VAULT_API_ADDR에 `api_addr` 값이 지정되지 않았습니다. 가능하면 탐지로 되돌아가지만 이 값은 수동으로 설정해야 합니다. 2020-03-21T11:22:16.907+0900 [ERROR] 코어: 봉인 구성을 찾을 수 없습니다. 레거시 또는 새로운 스타일의 샤미르인지 확인할 수 없습니다 2020-03-21T11:22:16.907+0900 [ERROR] 코어: 봉인 구성을 찾을 수 없습니다. 레거시 또는 새로운 스타일의 샤미르인지 확인할 수 없습니다 2020-03-21T11:22:16.907+0900 [INFO] 코어: 보안 장벽이 초기화되지 않았습니다.
728x90
반응형
'리눅스' 카테고리의 다른 글
| killall 명령어 (0) | 2020.05.13 |
|---|---|
| CentOS 7에서 OpenSSL을 직접 컴파일하고 설치하는 방법 (1) | 2020.04.21 |
| 우분투에서 호스트 이름(Hostname)을 변경하는 방법 (0) | 2020.02.12 |
| CentOS 7에서 한국어를 사용할 수 있게 로케일을 설정하는 방법 (0) | 2019.12.30 |
| hostnamectl 명령어 (0) | 2019.12.30 |