입문부터 숙달까지 볼트 시리즈 중 하나: 보안 도구 볼트, 볼트 루트 토큰 및 봉인 해제 키에 대한 심층적인 이해와 볼트 배포를 위한 세부 단계

입문부터 숙달까지 볼트 시리즈 중 하나: 보안 도구 볼트, 볼트 루트 토큰 및 봉인 해제 키에 대한 심층적인 이해와 볼트 배포를 위한 세부 단계

1. 보안 도구 Vault에 대한 심층적 이해

  • Vault는 비밀번호, API 토큰, 보안 구성 및 기타 민감한 데이터와 같은 다양한 기밀 정보에 대한 액세스를 안전하게 저장, 관리 및 제어하기 위한 오픈 소스 도구입니다. Vault는 강력한 암호화 및 보안 관리 기술을 사용하여 이러한 기밀 정보를 보호하고 애플리케이션 및 서비스에 대한 안전한 액세스 제어 메커니즘을 제공합니다. 이 도구는 다양한 클라우드 플랫폼과 기술 스택을 지원하고 다양한 API 및 CLI 인터페이스를 제공하여 쉽게 통합하고 사용할 수 있습니다. Vault의 주요 기능에는 중앙 집중식 관리, 역할 할당 및 권한 제어, 감사 및 로깅, 동적 비밀 키의 지속적인 업데이트 등이 포함됩니다. 이러한 기능 덕분에 Vault는 개발자와 기업 모두에게 신뢰할 수 있는 보안 도구가 되었습니다.

2. 볼트 루트 토큰과 봉인 해제 키의 의미와 기능

Vault의 루트 토큰 및 Unseal Key는 Vault에서 암호화된 데이터를 관리하고 보호하기 위한 중요한 자격 증명입니다.

  • 루트 토큰은 Vault에서 가장 높은 권한 자격 증명이며 이 토큰이 있는 사용자는 비밀 생성 및 삭제, 정책 관리, 인증 구성 등 Vault에서 모든 작업을 수행할 수 있습니다. 따라서 루트 토큰은 엄격하게 기밀로 유지하고 필요할 때만 사용해야 합니다.
  • 복호화 키는 Vault에 암호화된 데이터를 복호화하기 위한 중요한 자격 증명으로 Vault의 저장 키를 복호화하는 데 사용할 수 있으며 복호화 후 Vault에 저장된 기밀 정보에 액세스할 수 있습니다. 따라서 차단 해제 키도 엄격하게 기밀로 유지해야 하며 일반적으로 무단 액세스 및 공개를 방지하기 위해 콜드 스토리지에 저장됩니다. 복원 작업 중 또는 새 스토리지 키를 생성할 때와 같이 필요한 경우에만 봉인 해제 키를 사용하십시오.

3. centos7에서 Vault를 배포하고 시작하는 과정

CentOS 7에서 Vault를 배포하고 시작하는 방법은 다음과 같습니다.

  1. Vault 바이너리 다운로드: 공식 웹 사이트에서 다운로드하거나 wget 명령을 사용하여 Vault의 GitHub 페이지에서 다운로드할 수 있습니다.

  2. Vault 설치: Vault 바이너리 파일을 /usr/local/bin 디렉터리로 이동하고 실행 권한을 추가합니다.

  3. Vault 구성: /etc 디렉토리에 Vault 구성 파일을 만들고 Vault의 수신 주소와 포트, Vault 데이터를 저장할 경로를 지정할 수 있습니다.

  4. Vault 시작: Vault 서버 명령을 사용하여 Vault 서비스를 시작하면 /etc 디렉토리의 구성 파일을 자동으로 읽고 서비스가 시작됩니다.

  5. 볼트 초기화: 볼트 초기화 명령을 사용하여 볼트를 초기화하여 루트 토큰 및 봉인 해제 키 세트를 생성합니다.

  6. 볼트 봉인 해제: 볼트 해제 명령을 사용하여 볼트 서비스의 봉인 해제 키를 입력합니다.

  7. 볼트에 로그인: 볼트 로그인 명령을 사용하여 루트 토큰을 입력하여 볼트에 로그인합니다.

4. 볼트 다운로드 주소

볼트 다운로드 주소:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install vault

5. 볼트 설치

주문 실행:

  • sudo yum 설치 -y yum-utils
sudo yum install -y yum-utils
Loaded plugins: fastestmirror, langpacks, priorities, versionlock
Determining fastest mirrors
epel                                                                                                                       | 4.7 kB  00:00:00     
extras                                                                                                                     | 2.9 kB  00:00:00     
hashicorp                                                                                                                  | 1.4 kB  00:00:00     
os                                                                                                                         | 3.6 kB  00:00:00     
pgdg-common/7/x86_64/signature                                                                                             |  198 B  00:00:00     
pgdg-common/7/x86_64/signature                                                                                             | 2.9 kB  00:00:00 !!! 
pgdg11/7/x86_64/signature                                                                                                  |  198 B  00:00:00     
pgdg11/7/x86_64/signature                                                                                                  | 3.6 kB  00:00:00 !!! 
pgdg12/7/x86_64/signature                                                                                                  |  198 B  00:00:00     
pgdg12/7/x86_64/signature                                                                                                  | 3.6 kB  00:00:00 !!! 
pgdg13/7/x86_64/signature                                                                                                  |  198 B  00:00:00     
pgdg13/7/x86_64/signature                                                                                                  | 3.6 kB  00:00:00 !!! 
pgdg14/7/x86_64/signature                                                                                                  |  198 B  00:00:00     
pgdg14/7/x86_64/signature                                                                                                  | 3.6 kB  00:00:00 !!! 
pgdg15/7/x86_64/signature                                                                                                  |  198 B  00:00:00     
pgdg15/7/x86_64/signature                                                                                                  | 3.6 kB  00:00:00 !!! 
updates                                                                                                                    | 2.9 kB  00:00:00     
(1/2): pgdg-common/7/x86_64/primary_db                                                                                     | 181 kB  00:00:02     
(2/2): hashicorp/7/x86_64/primary                                                                                          | 165 kB  00:00:05     
hashicorp                                                                                                                               1196/1196
Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
Nothing to do

다음 명령을 실행합니다. sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
Loaded plugins: fastestmirror, langpacks, priorities, versionlock
adding repo from: https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
grabbing file https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo to /etc/yum.repos.d/hashicorp.repo
repo saved to /etc/yum.repos.d/hashicorp.repo

다음 명령을 실행합니다: sudo yum -y install vault

sudo yum -y install vault
Loaded plugins: fastestmirror, langpacks, priorities, versionlock
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package vault.x86_64 0:1.13.3-1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================================
 Package                         Arch                             Version                               Repository                           Size
==================================================================================================================================================
Installing:
 vault                           x86_64                           1.13.3-1                              hashicorp                            92 M

Transaction Summary
==================================================================================================================================================
Install  1 Package

Total download size: 92 M
Installed size: 234 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /var/cache/yum/x86_64/7/hashicorp/packages/vault-1.13.3-1.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a621e701: NOKEY00:00:00 ETA 
Public key for vault-1.13.3-1.x86_64.rpm is not installed
vault-1.13.3-1.x86_64.rpm                                                                                                  |  92 MB  00:00:24     
Retrieving key from https://rpm.releases.hashicorp.com/gpg
Importing GPG key 0xA621E701:
 Userid     : "HashiCorp Security (HashiCorp Package Signing) <[email protected]>"
 Fingerprint: 798a ec65 4e5c 1542 8c8e 42ee aa16 fcbc a621 e701
 From       : https://rpm.releases.hashicorp.com/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : vault-1.13.3-1.x86_64                                                                                                          1/1Generating Vault TLS key and self-signed certificate...
Generating a 4096 bit RSA private key
.......................++
.................................................................................................++
writing new private key to 'tls.key'
-----
Vault TLS key and self-signed certificate have been generated in '/opt/vault/tls'.
  Verifying  : vault-1.13.3-1.x86_64                                                                                                          1/1 

Installed:
  vault.x86_64 0:1.13.3-1                                                                                                                         

Complete!

6. 볼트 시작

시작 명령을 실행합니다.

  • 볼트 서버 -dev -dev-root-token-id=“dev-only-token”
vault server -dev -dev-root-token-id="dev-only-token"
==> Vault server configuration:

             Api Address: http://127.0.0.1:8200
                     Cgo: disabled
         Cluster Address: https://127.0.0.1:8201
   Environment Variables: CLASSPATH, FLINK_HOME, GODEBUG, HADOOP_HOME, HISTFILE, HISTSIZE, HISTTIMEFORMAT, HIVE_HOME, HOME, HOSTNAME, JAVA_HOME, LANG, LESSOPEN, LOGNAME, LS_COLORS, MAIL, MONGODB_HOME, MSSQL_HOME, PATH, PROMPT_COMMAND, PWD, PYTHON3_HOME, QT_GRAPHICSSYSTEM, QT_GRAPHICSSYSTEM_CHECKED, SHELL, SHLVL, SPARK_HOME, SUDO_COMMAND, SUDO_GID, SUDO_UID, SUDO_USER, TERM, TMOUT, USER, USERNAME, XDG_SESSION_ID, ZOOKEEP_HOME, _
              Go Version: go1.20.4
              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: 
                   Mlock: supported: true, enabled: false
           Recovery Mode: false
                 Storage: inmem
                 Version: Vault v1.13.3, built 2023-06-06T18:12:37Z
             Version Sha: 3bedf816cbf851656ae9e6bd65dd4a67a9ddff5e

==> Vault server started! Log data will stream in below:

2023-06-19T10:38:19.735+0800 [INFO]  proxy environment: http_proxy="" https_proxy="" no_proxy=""
2023-06-19T10:38:19.735+0800 [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
2023-06-19T10:38:19.736+0800 [INFO]  core: Initializing version history cache for core
2023-06-19T10:38:19.736+0800 [INFO]  core: security barrier not initialized
2023-06-19T10:38:19.736+0800 [INFO]  core: security barrier initialized: stored=1 shares=1 threshold=1
2023-06-19T10:38:19.737+0800 [INFO]  core: post-unseal setup starting
2023-06-19T10:38:19.751+0800 [INFO]  core: loaded wrapping token key
2023-06-19T10:38:19.751+0800 [INFO]  core: successfully setup plugin catalog: plugin-directory=""
2023-06-19T10:38:19.751+0800 [INFO]  core: no mounts; adding default mount table
2023-06-19T10:38:19.753+0800 [INFO]  core: successfully mounted: type=cubbyhole version="v1.13.3+builtin.vault" path=cubbyhole/ namespace="ID: root. Path: "
2023-06-19T10:38:19.753+0800 [INFO]  core: successfully mounted: type=system version="v1.13.3+builtin.vault" path=sys/ namespace="ID: root. Path: "
2023-06-19T10:38:19.754+0800 [INFO]  core: successfully mounted: type=identity version="v1.13.3+builtin.vault" path=identity/ namespace="ID: root. Path: "
2023-06-19T10:38:19.755+0800 [INFO]  core: successfully mounted: type=token version="v1.13.3+builtin.vault" path=token/ namespace="ID: root. Path: "
2023-06-19T10:38:19.756+0800 [INFO]  rollback: starting rollback manager
2023-06-19T10:38:19.757+0800 [INFO]  core: restoring leases
2023-06-19T10:38:19.758+0800 [INFO]  expiration: lease restore complete
2023-06-19T10:38:19.758+0800 [INFO]  identity: entities restored
2023-06-19T10:38:19.759+0800 [INFO]  identity: groups restored
2023-06-19T10:38:19.759+0800 [INFO]  core: Recorded vault version: vault version=1.13.3 upgrade time="2023-06-19 02:38:19.759135384 +0000 UTC" build date=2023-06-06T18:12:37Z
2023-06-19T10:38:19.981+0800 [INFO]  core: post-unseal setup complete
2023-06-19T10:38:19.981+0800 [INFO]  core: root token generated
2023-06-19T10:38:19.981+0800 [INFO]  core: pre-seal teardown starting
2023-06-19T10:38:19.981+0800 [INFO]  rollback: stopping rollback manager
2023-06-19T10:38:19.982+0800 [INFO]  core: pre-seal teardown complete
2023-06-19T10:38:19.982+0800 [INFO]  core.cluster-listener.tcp: starting listener: listener_address=127.0.0.1:8201
2023-06-19T10:38:19.982+0800 [INFO]  core.cluster-listener: serving cluster requests: cluster_listen_address=127.0.0.1:8201
2023-06-19T10:38:19.982+0800 [INFO]  core: post-unseal setup starting
2023-06-19T10:38:19.982+0800 [INFO]  core: loaded wrapping token key
2023-06-19T10:38:19.982+0800 [INFO]  core: successfully setup plugin catalog: plugin-directory=""
2023-06-19T10:38:19.983+0800 [INFO]  core: successfully mounted: type=system version="v1.13.3+builtin.vault" path=sys/ namespace="ID: root. Path: "
2023-06-19T10:38:19.983+0800 [INFO]  core: successfully mounted: type=identity version="v1.13.3+builtin.vault" path=identity/ namespace="ID: root. Path: "
2023-06-19T10:38:19.983+0800 [INFO]  core: successfully mounted: type=cubbyhole version="v1.13.3+builtin.vault" path=cubbyhole/ namespace="ID: root. Path: "
2023-06-19T10:38:19.984+0800 [INFO]  core: successfully mounted: type=token version="v1.13.3+builtin.vault" path=token/ namespace="ID: root. Path: "
2023-06-19T10:38:19.984+0800 [INFO]  rollback: starting rollback manager
2023-06-19T10:38:19.984+0800 [INFO]  core: restoring leases
2023-06-19T10:38:19.985+0800 [INFO]  identity: entities restored
2023-06-19T10:38:19.985+0800 [INFO]  identity: groups restored
2023-06-19T10:38:19.985+0800 [INFO]  expiration: lease restore complete
2023-06-19T10:38:19.985+0800 [INFO]  core: post-unseal setup complete
2023-06-19T10:38:19.985+0800 [INFO]  core: vault is unsealed
2023-06-19T10:38:19.987+0800 [INFO]  expiration: revoked lease: lease_id=auth/token/root/h272562f04a210e20b2b4d865e2a84db2d53929c149d30e4e06dcd93ebe88dbac
2023-06-19T10:38:19.989+0800 [INFO]  core: successful mount: namespace="" path=secret/ type=kv version=""
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 variables:

    $ 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: DY/t5B7OSPzH1XZq5RJoEr0o7l4Ea5epNl9h0b/zaF4=
Root Token: dev-only-token

Development mode should NOT be used in production installations!

위와 같이 Vault가 성공적으로 시작되었으며 Vault가 성공적으로 설치 및 배포되었습니다.

명령줄에서 출력되는 봉인 해제 키와 루트 토큰에 주의를 기울이고 봉인 해제 키와 루트 토큰을 안전하게 보관하십시오.

  • 봉인 해제 키: DY/t5B7OSPzH1XZq5RJoEr0o7l4Ea5epNl9h0b/zaF4=
  • 루트 토큰: 개발 전용 토큰

7. 요약 및 확장

요약하다:

  • 지금까지 Vault를 성공적으로 설치하고 배포했습니다.

확대:

  • 다음 기사 보안 도구 Vault 적용 방법 자세히 알아보기

Supongo que te gusta

Origin blog.csdn.net/zhengzaifeidelushang/article/details/131283430
Recomendado
Clasificación