프로덕션 Hashicorp Vault 최소 구성
가능한 가장 간단한 프로덕션 Vault 서버를 구성하는 방법을 찾기 위해 여기 저기 찾아 보았지만 모든 단계가 작동하는 것을 찾을 수 없었습니다.
가정
CentOS Linux 릴리스 7.9.2009(Core) 또는 동급 버전에 대한 명령줄 액세스 권한이 있고 Vault v1.8.2(aca76f63357041a43b49f3e8c11d67358496959f)가 설치되어 있다고 가정합니다.
bash PATH 변수에/usr/local/bin이 포함되어 있는지 확인하십시오.
볼트 설치
wget https://releases.hashicorp.com/vault/1.8.2/vault_1.8.2_linux_amd64.zip
unzip vault_1.8.2_linux_amd64.zip
mv vault /usr/local/bin
OpenSSL 설치
Centos 7에 있는 SSL 버전이 너무 오래되었습니다.
# CentOS 7 has too old SSL, sigh.
yum -y update
# Install required packages
yum install -y make gcc perl-core pcre-devel wget zlib-devel
# Download the latest version of OpenSSL source code
wget https://ftp.openssl.org/source/openssl-1.1.1k.tar.gz
# Configure, build and install OpenSSL
# Uncompress the source file
tar -xzvf openssl-1.1.1k.tar.gz
# Change to the OpenSSL directory
cd openssl-1.1.1k
# Configure the package for compilation
./config --prefix=/opt/ssl --openssldir=/opt/ssl/etc/ssl --libdir=lib no-shared zlib-dynamic
# Compile package
make -j4
# Install compiled package
sudo make install
TLS 인증서 만들기
프로덕션 Vault 서버는 SSL을 사용합니다.
IP=`hostname -I | cut -f1 -d" "`
sudo mkdir -p /opt/vault/{tls,data}
# alias openssl=/opt/ssl/bin/openssl
export LD_LIBRARY_PATH=/opt/ssl/lib:$LD_LIBRARY_PATH
cd /opt/vault/tls \
&& sudo rm -f tls.key tls.crt \
&& sudo -E /opt/ssl/bin/openssl req -out tls.crt -new -keyout tls.key -newkey rsa:4096 -nodes -sha256 -x509 -subj "/O=HashiCorp/CN=Vault" \
-addext "subjectAltName = IP:${IP},DNS:${IP}" -days 3650
볼트 구성
config.hcl이라는 파일을 만들고 다음을 붙여넣습니다. $IP를 "hostname -I"에서 얻은 IP 주소로 바꾸십시오.
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/vault/tls/tls.crt"
tls_key_file = "/opt/vault/tls/tls.key"
}
api_addr = "http://$IP:8200"
storage "file" {
path = "/opt/vault/data"
}
max_lease_ttl = "10h"
default_lease_ttl = "10h"
ui = true
볼트 서버 실행
진실의 순간. 볼트 서버를 실제로 실행할 때. 나머지 명령을 수행하기 위한 두 번째 창이 있도록 이 콘솔 창을 열어 두어야 합니다.
sudo vault server -config=config.hcl
볼트 상태 확인
먼저 몇 가지 변수를 설정한 다음 볼트 상태를 확인합니다. 참고: 후속 명령의 경우 다음 bash 변수를 설정해야 합니다.
IP=`hostname -I | cut -f1 -d" "`
export VAULT_ADDR=https://${IP}:8200
export VAULT_CACERT="/opt/vault/tls/tls.crt"
다음 명령은 Vault가 실행 중인지 확인하고 로컬 Vault 서버에 연결할 수 있습니다.
vault status
볼트 봉인 해제 및 로그인
vault operator init -key-shares=1 -key-threshold=1
이렇게 하면 봉인 해제 키가 제공됩니다. 그것을 기록해 두십시오.
vault operator unseal
이제 봉인 해제 키를 제공하십시오.
vault login
영구 스토리지 확인
프로덕션 서버가 실제로 키를 저장할 수 있는지 확인
서버 재시작 사이.
비밀 백엔드 활성화:
vault secrets enable -version=2 -path=kv2 kv
이제 비밀을 추가합니다.
vault kv put kv2/secret username=admin password=qwertyasdf
이제 비밀을 나열하십시오.
vault kv get kv2/secret
볼트를 실행하고 있는 터미널에서 CTRL-c로 서버를 종료한 다음
다시 시작하십시오.
이제 위의 봉인 해제 단계를 진행하십시오.
마지막으로 비밀을 인쇄할 수 있는지 확인합니다.
vault kv get kv2/secret
Reference
이 문제에 관하여(프로덕션 Hashicorp Vault 최소 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/frederickollinger/production-hashicorp-vault-minimal-configuration-485a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)