Vault nedir
- Her türlü parola , sertifika , anahtarları vb. güvenle saklamamızı(store), belirli aralıklarla değiştirmemizi(rotate), sağlayan, bu işlemleri yaparken belli aktörlere (kullanıcılar, servis hesapları vb) erişim kısıtları tanımlayabilen(RBAC) bir araçtır.
1) /opt/vault dizinini ayrı bir yere alma
- Vault belgelerinde /opt/vault dizinin root bölümden ayrı tutulması öneriliyor. Sanal sunucuma yeni bir disk ekleyip, PV > VG > LV oluşturup , ardından /opt/vault olarak takacağım.
mkdir -vp /opt/vault/data /etc/vault.d
unzip vault_1.20.4_linux_amd64.zip
mv vault /usr/bin/ -v
chown -Rv root: /usr/bin/vault
sudo setcap cap_ipc_lock=+ep $(readlink -f $(which vault))
sudo useradd --system --home /opt/vault/data --shell /sbin/nologin vault
sudo chown -Rv vault: /opt/vault/data && sudo chmod -Rv 750 /opt/vault/data
3) Sertifika Adımı
- Sertifika çıkartmak için AD yi kullanacağım.
AD den sertifika çıkarırken dikkat edilmesi gereken noktalardan biri bu web arayüzüne erişecek ortamların(ör:linux sunucu) truststore una AD nin root/CA sertifikasını da eklemem gerekiyor.
rootcert.p7b (Sertifika Çıkardığım AD nin kök sertifikası)
run > certlm.msc > Root Certificates > Kök sertifikayı seçip "copy to file" diyorum.
openssl pkcs7 -inform DER -print_certs -in rootcert.p7b -out certificate.crt
sudo mv -v certificate.crt /etc/pki/ca-trust/source/anchors
sudo update-ca-trust
- vault.pfx (Vault Web Arayüzü için Kullanacağım SSL Sertifika) run > certlm.msc > Personal > All Tasks > Request New Certificate > Web Server Template
Subject > Subject Name > Common Name : vault.alanadı
Subject > Subject Name > Common Name : vault
Subject > Alternative Name > DNS : vault.alanadı
Subject > Alternative Name > IP(v4) : serverIP
Private Key > Key Options > Make Private Key Exportable
PFXFile="vault.pfx"
#We can extract the private key form a PFX to a PEM file
openssl pkcs12 -in $PFXFile -nocerts -out key.pem
#Exporting the certificate only:
openssl pkcs12 -in $PFXFile -clcerts -nokeys -out cert.pem
#Removing the password from the extracted private key:
openssl rsa -in key.pem -out server.key
sudo mkdir /etc/certs
mv -v cert.pem server.key /etc/certs
sudo setfacl -R -m vault:rwx /etc/certs
4)Servis Dosyasını Hazırlama
- Vault'u servis olarak çalıştırabilmek için servis dosyamı hazırlıyorum. (/lib/systemd/system/vault.service) Bu dosyanın içinde web arayüzünün olup olmayacağı, hangi porttan yayımlanacağı vb ayarlar var.
4)Vault Ayar Dosyasını Hazırlama
- Vault ile ilgili ayar dosyamı hazırlıyorum (/etc/vault.d/vault.hcl)
sudo chown -Rv vault: /etc/vault.d/vault.hcl
sudo chmod -Rv 640 /etc/vault.d/vault.hcl
5) Web Arayüzü Ayarları
- Sunucumda firewall açıksa 8200/tcp portunun dışarıdan erişilmesine izin vermem gerekiyor.
sudo firewall-cmd --permanent --add-port=8200/tcp
sudo firewall-cmd --reload
- Sertifika çıkarttığım AD sunucusundan arayüze bağlanıyorum ,
https://vault.alanadi:8200 şeklinde.





Top comments (1)
Bir sonraki yazıda Vault - LDAP bağlantısı vb. diğer işlemleri ele aldım.