DEV Community

Cover image for Vault Kurulumu -- 001
Berkant
Berkant

Posted on • Edited on

Vault Kurulumu -- 001

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
Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

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

Okuduğunuz için teşekkürler 🙂

Top comments (1)

Collapse
 
berkanterbey profile image
Berkant • Edited

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