본문 바로가기
설치 및 기술 자료/Linux

[Mysql] Vault Dynamic Password을 이용한 DB 접근 관리

by 주식회사 서버몬 2026. 3. 10.

 

안녕하세요. 주식회사 서버몬 입니다.

 

시스템 운영 중 가장 위험한 상황 중 하나는 민감한 비밀번호를 파일이나 소스 코드에 직접 저장하는 것입니다.

이러한 정보가 유출될 경우 복구 불가능한 피해를 입을 수 있습니다.

 

이럴 때 유용한 솔루션이 바로 HashiCorp Vault의 Dynamic Password 기능입니다.

 

이 기능을 사용하면 지정된 기간 동안만 유효한 비밀번호를 생성하여 데이터베이스에 접근하고, 기간이 만료되면 자동으로 권한을 회수할 수 있습니다. 이번 글에서는 Vault를 이용해 안전하게 DB에 접근하는 과정을 살펴보겠습니다.

 

Vault란?

Vault는 토큰, 비밀번호, 인증서와 같은 민감한 데이터를 안전하게 저장하고 제어하는 오픈소스 도구입니다.

상세한 정보는 아래 공식 링크에서 확인하실 수 있습니다.

HashiCorp Vault 공식 문서

 

먼저 간단한 테스트를 위해 개발자 모드로 실행한 후 CLI와 UI에서 활용하는 방법을 알아보겠습니다.

 

Vault 서버 실행 및 환경 설정

[서버 실행]

[root@DESKTOP-36OPSVG /]# vault server -dev -dev-root-token-id="root"&​

& 은 백그라운드에서 실행한다는 옵션입니다.
-dev 모드는 사용자의 편의를 위해 설계된 인 메모리 모드입니다. 다음과 같은 이유로 실제 운영 환경에서는 절대 사용을 권장하지 않습니다.
  1. 데이터 휘발성
    모든 데이터가 메모리에 저장됩니다.
    서버가 재시작되거나 꺼지면 모든 설정과 시크릿 데이터가 즉시 삭제됩니다.
  2. 봉인 해제(Unseal) 생략 
    본래 Vault는 시작 시 암호화된 상태를 푸는 'Unseal' 과정이 필요하지만,
    |개발 모드에서는 이 보안 절차를 자동으로 건너뛰고 루트 토큰을 노출합니다.
  3. 보안 취약성 
    기본적으로 HTTP(비암호화) 통신을 사용하며,
    클러스터링이나 고가용성(HA) 설정이 적용되지 않아 보안과 안정성 면에서 매우 취약합니다.

Vault를 사용하기 위해서는 서버 주소와 토큰 등 환경변수 등록이 필요합니다.

등록 후 status 명령어로 서버 상태를 확인할 수 있습니다.

[root@DESKTOP-36OPSVG /]# export VAULT_ADDR='http://127.0.0.1:8200'
[root@DESKTOP-36OPSVG /]# export VAULT_TOKEN='root'

[root@DESKTOP-36OPSVG run]# vault status
Key             Value
---             -----
Seal Type       shamir
Initialized     true
Sealed          false
Total Shares    1
Threshold       1
Version         1.21.3
Build Date      2026-02-03T14:56:30Z
Storage Type    inmem
Cluster Name    vault-cluster-bbdb11c4
Cluster ID      c1637150-8d7e-1f76-19f1-c6c78fe640ae
HA Enabled      fals

 

시크릿 엔진을 이용한 DB접근

이제 실제로 DB에 접근하기 위한 엔진을 활성화하고 규칙을 작성해 보겠습니다.

# DB 시크릿 엔진 활성화
[root@DESKTOP-36OPSVG /]# vault secrets enable database

# DB config 및 role 설정
[root@DESKTOP-36OPSVG /]# vault write database/config/zabbix-db \
plugin_name=mysql-database-plugin \
connection_url="{{username}}:{{password}}@tcp(127.0.0.1:3306)/" \
allowed_roles="admin-role" \
username="root" \
password="비밀번호"

Success! Data written to: database/config/zabbix-db

[root@DESKTOP-36OPSVG /]# vault write database/roles/admin-role \
db_name=zabbix-db \
creation_statements="CREATE USER '{{name}}'@'localhost' IDENTIFIED BY '{{password}}'; CREATE USER '{{name}}'@'%' IDENTIFIED BY '{{password}}'; GRANT ALL ON zabbix.* TO '{{name}}'@'localhost'; GRANT ALL ON zabbix.* TO '{{name}}'@'%';" \
default_ttl="1h" \    ==> 기본 사용시간 : 1시간
max_ttl="8h"          ==> 최대 연장 가능 시간 : 8시간

Success! Data written to: database/roles/admin-role

db 시크릿 엔진 활성화 : Vault에서 DB 엔진을 사용 가능하도록 설정합니다.

db config & rloe 작성 : 연결할 DB 정보와 권한 규칙을 정의합니다.

 

위와같이 시크릿 비밀번호 발급이 정상적으로 이뤄지고 있습니다.

생성된 비밀번호를 통해 실제 데이터베이스 및 허용된 경로에 정상적으로 접근 가능한 것을 확인할 수 있습니다.

 

UI 접속 방법

Vault는 CLI 환경보다 직관적인 관리가 가능한 Web UI를 제공합니다.

  • 접속 방법: CLI에서 설정한 경로(127.0.0.1:8200)를 웹 브라우저 주소창에 그대로 입력하여 접속합니다.
  • 로그인: Method를 'Token'으로 선택한 후, 서버 실행 시 발급된 root을 입력하여 Sign-in 합니다.

UI는 CLI보다 서버 상태를 한눈에 파악하기 좋으며, 관리가 매우 편리하다는 장점이 있습니다.

Vault 대시보드는 로그인 시 가장 먼저 보이는 페이지로, 활성화된 시크릿 엔진과 서버 구성 세부 정보(클러스터 정보 등)를 제공합니다.

  • Secrets Engines: CLI에서 설정한 값들을 시각적으로 확인할 수 있습니다.
  • Database 연결: Create connection을 통해 신규 데이터베이스를 손쉽게 연결할 수 있습니다.
  • 실시간 확인: database -> zabbix-db -> admin-role -> generate credentials 경로에서 암호화된 정보를 실시간 확인 가능하며, 해당 정보로 즉시 로그인도 가능합니다.
  • 서버 상태: 아래 사진과 같은 경로로 접근하여 현재 서버의 헬스 체크 상태를 확인할 수 있습니다.

Tools 섹션에서는 워크플로 테스트나 데이터 공유에 유용한 다양한 기능을 제공합니다.

  1. Wrapping: 데이터를 일회용 토큰으로 토큰화하며, 기본 유효 기간(TTL)은 30분입니다.
  2. Lookup: 데이터를 압축 해제하지 않고도 토큰에 대한 유효성 정보를 확인할 수 있습니다.
  3. Unwrapping: 래핑된 토큰을 풀어 실제 데이터를 노출합니다.
  4. Rewrap: 사용되지 않은 토큰을 다시 래핑하여 새 토큰 값을 생성하고 TTL을 갱신합니다.
  5. Random Byte Generator: 요청한 바이트 수에 따라 Base64 또는 16진수 형식의 임의 문자열을 생성합니다.
  6. Hash Tool: 데이터를 입력받아 Base64 인코딩 후, 원하는 알고리즘으로 해시값을 생성합니다.
  7. API Explorer: 로컬 API 문서에 액세스하고 브라우저에서 직접 API 호출을 테스트할 수 있어 매우 유용합니다.

정책 및 사용자 관리

고급 활용: 정책(Policies) 및 사용자 관리

DB 접근 외에도 정책을 설정하여 정교하게 사용자를 관리할 수 있습니다.

[ACL 정책 생성] Policies -> ACL Policies -> Create에서 정책을 생성합니다.

  • 정책명: sre-secrets
  • 내용(Policy Rule) 
path "sre-secrets/+/creds" {
  capabilities = ["create", "list", "read", "update"]
}

 

[사용자 생성 및 권한 부여]

Access -> Enable -> Userpass (이름은 userpass로 설정하고 Enable)

View Method -> Create User (테스트 계정 생성)

생성된 유저의 Generated Token's Policies 항목에 sre-secrets 정책을 추가하고 저장합니다.

 

메인에서 Secrets Engines -> Enable New Engine -> KV 선택 후 경로에 sre-secrets 입력하여 저장합니다.

 

해당 계정으로 로그인시 Method를 Token이 아닌 Userpass 방식으로 로그인이 필요합니다.

 

로그아웃 후 새로 만든 테스트 계정으로 로그인을 하면,

Root 계정으로 접속했을 때와 대시보드 출력물이 확연히 다른 것을 볼 수 있습니다.

 

이를 통해 관리자와 일반 사용자의 권한 차이를 체감할 수 있습니다.

 

1. root token 로그인 대시보드

 

2. test1 로그인 대시보드

 

본 글에서는 DB 시크릿 엔진을 중심으로 기초적인 활용법을 다루었지만, 직접적으로 활용 시 그 범위는 매우 광범위합니다.

크리티컬한 비밀번호 관리가 고민이라면 Vault를 통해 보안 사고를 예방하고, 정책별 사용자 관리를 통해 더욱 안전한 운영 환경을 구축해 보시기 바랍니다.

 

 

 

1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트

댓글