echo subjectAltName=IP:127.0.0.1,IP:10.8.64.201,IP:10.8.64.7 > extfile.cnf
echo 01 > ca.srl
openssl x509 -req -extfile extfile.cnf -days 18250 -CA ca.crt -CAkey ca.key -in server.csr -out server.crt
最后,将生成的 servercert.pem serverkey.pem 文件安装到 Web 服务器上,以供 SSL/TLS 连接使用
### 4 **服务器证书准备**
>
> tls\_cert\_file = /opt/vault/tls/server.crt
>
>
> tls\_key\_file = /opt/vault/tls/server.key
>
>
>
* **将ca.crt文件放到服务器/etc/ssl/certs目录下**
### 5 **配置文件**
ui = true
disable_mlock = false
storage “mysql” {
address = “IP:3306”
username = “vault”
password = “xxxxxxx”
database = “vault”
table = “vault”
ha_enabled = “true”
max_connection_lifetime = “7200”
max_idle_connections = “5”
max_parallel = “128”
}
listener “tcp” {
address = “0.0.0.0:8200”
tls_cert_file = “/opt/vault/tls/server.crt”
tls_key_file = “/opt/vault/tls/server.key”
tls_disable = false
telemetry {
unauthenticated_metrics_access = true
}
}
api_addr = “https://IP:8200”
cluster_addr = “https://ip:8201”
cluster_name = “cluster-name”
log_level = “trace”
log_format = “json”
log_file = “/opt/vault/log/server/”
log_rotate_bytes = “102400”
log_rotate_max_files = “200”
telemetry {
prometheus_retention_time = “300s”
disable_hostname = true
}
在var/log下面,创建目录/var/log/vault,授权目录给vault用
### 6 启动服务
启动服务
systemctl start vault.service
开机自动重启
systemctl enable vault.service
### 7 初始化(生成的解封密钥通过GPG加密)
vault operator init -key-shares=3 -key-threshold=2
也可以将unseal key进行加密。
### 8 **解封**
vault operator unseal
### 9 创建审计设备
在opt/vault下面,创建目录/opt/vault/log,授权目录给vault用户
mkdir -p /opt/vault/log/audit
chown vault:vault /opt/vault/log/audit
创建审计设备(需先创建好vault_audit.log,并修改该文件所有者和组)(登录root进去创建)
vault audit enable file file_path=/opt/vault/log/audit/vault-audit.log
注意:每个节点需要单独创建独立的日志设备(官方建议)(加入日志轮换)

### 10 集群部署
配置这些参数
api_addr = “https://127.0.0.1:8200”
cluster_addr = “https://:8201”
cluster_name = “vault-XX-cluster”
### 11 **接入LDAP**
vault write -f auth/ldap/config
url=“ldap://ldap地址”
userfilter:“(&(memberOf=cn=xxx,ou=xxx,ou=xxxx,dc=xxxx,dc=xxx)(uid={{.Username}}))” …
### 12 用户MFA二次认证接入
1. 创建一个TOTP方法,并将该方法的强制执行绑定到LDAP身份认证方式
2. 为每个LDAP用户分配TOTP验证码(通过邮箱等留底的方式)
生成该实体的TOTP二维码或者secreet密钥
vault write identity/mfa/method/totp/admin-generate method_id=METHOD_ID entity_id=ENTITY_ID
### 13 创建实体、分组
1. 先登录,再给每个ldap用户改实体名(实体名字和别名和ldap用户名一样)
## **注意事项**
Vault的不安全机制:
Vault在通过CLI登录后,会在发出命令的用户账户的主目录中创建一个名为 .vault-token 的隐藏文件,该文件记录了当前登录用户的token,且为明文;并且当其他用户登录该服务器之后,仍然可以看到这个隐藏的.vault-token文件,能够直接使用之前用户登录状态操作vault及明文查看它的token。
目前官方在CLI界面没有logout操作指令,故在每次使用完之后,需**手动删除自己的 .vault-token文件**。
### 给大家的福利
**零基础入门**
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

因篇幅有限,仅展示部分资料