운영 관리와 모니터링
1️⃣4️⃣ 운영 관리와 모니터링
Vault는 민감한 정보를 다루는 시스템이므로, **운영 관점의 로깅, 모니터링, 경고(Alerting)**가 매우 중요합니다. 단순한 구성 이상으로 실시간 이상 징후를 감지하고 감사(Audit)가 가능한 환경을 구축해야 보안 사고를 막을 수 있습니다.
1. Audit 로그 구성 및 분석
Vault는 모든 API 요청을 감사 로그로 기록할 수 있습니다.
✅ Audit 로그 활성화
vault audit enable file file_path=/var/log/vault_audit.log
✨ 활성화된 후에는 모든 인증, 읽기/쓰기 요청이 기록됩니다.
📄 예시 로그 항목
{
"time": "2025-04-07T08:00:01.123456Z",
"type": "request",
"auth": {
"client_token": "hmac-sha256:XXXX",
"accessor": "hmac-sha256:YYYY",
"display_name": "userpass-user1",
"policies": ["default"],
"token_type": "service"
},
"request": {
"operation": "read",
"path": "secret/data/prod/db",
"remote_address": "10.0.0.12"
}
}
🔍 분석 포인트
항목 | 설명 |
---|---|
operation |
읽기/쓰기/삭제 요청 |
path |
민감 경로 접근 여부 |
remote_address |
외부 접근 감지 |
display_name |
사용자 식별자 |
2. Vault Metrics (Prometheus + Grafana 대시보드)
Vault는 /v1/sys/metrics
엔드포인트를 통해 Prometheus 형식의 메트릭을 노출합니다.
🧱 구성 예시
# Vault config.hcl
telemetry {
prometheus_retention_time = "30s"
disable_hostname = true
}
# Prometheus scrape config
scrape_configs:
- job_name: 'vault'
static_configs:
- targets: ['localhost:8200']
📊 주요 메트릭
메트릭 | 설명 |
---|---|
vault_core_handle_request |
전체 요청 수 |
vault_token_create_total |
생성된 토큰 수 |
vault_audit_log_request_failure_total |
실패 로그 수 |
vault_barrier_* |
암호화/잠금 상태 감지 |
🎨 Grafana 대시보드 예시
위 이미지는 Grafana의 Vault 통합 대시보드 예시입니다.
3. Syslog 연동 및 Alert 구성
Vault Audit 로그는 syslog
또는 외부 로깅 시스템과 연동 가능.
🛠️ Syslog로 Audit 로그 연동
vault audit enable syslog tag="vault"
이후 /var/log/syslog
또는 /var/log/messages
에서 로그 확인 가능
🔔 Alert 구성 (Prometheus + Alertmanager)
# alert.rules.yml
groups:
- name: vault.rules
rules:
- alert: VaultTokenSpike
expr: rate(vault_token_create_total[1m]) > 50
for: 2m
labels:
severity: critical
annotations:
summary: "Vault Token 폭주 감지"
실시간 토큰 폭주 시 경고 전송 (Slack, Email 등)
4. 실무 점검 항목: TTL, Token 폭주, 누락
운영 중 반드시 확인해야 하는 체크리스트입니다:
점검 항목 | 설명 | 방법 |
---|---|---|
🔐 TTL 설정 | Token, Lease의 수명 관리 | vault token lookup , vault lease list |
⚠️ Token 폭주 | 비정상 자동화 또는 루프 의심 | Prometheus 메트릭 확인 |
🛑 누락된 만료 처리 | 오래된 Secret 또는 Lease 존재 | vault lease revoke --prefix |
📌 Access Policy 점검 | 불필요한 권한 제거 | vault policy list , vault token capabilities |
🖼️ 운영 아키텍처 예시
┌────────────┐
│ Clients │
└────┬───────┘
▼
┌────────────┐
│ Vault │
├────────────┤
│ Audit Log │────▶ /var/log/vault_audit.log
│ Metrics │────▶ Prometheus ─────▶ Grafana
│ Alerts │────▶ Alertmanager ───▶ Slack
└────────────┘
✅ 요약
- Audit 로그는 추적성과 이상 행위 탐지의 핵심
- Prometheus + Grafana로 실시간 메트릭 시각화
- Syslog 및 Alert 구성으로 이상 징후 조기 탐지
- TTL/토큰 점검은 Vault 장애 예방의 핵심 지표
마지막 수정일자