Pendahuluan
Vault menyimpan, mengontrol, dan melindungi data yang digunakan untuk otentikasi dan otorisasi. Vault adalah sistem manajemen untuk rahasia, membatasi atau menyetujui akses ke kata sandi, sertifikat, atau API. Ini juga menyediakan enkripsi data, rahasia sesuai permintaan, dan pencabutan.
Dalam tutorial ini, pelajari cara memasang Vault di CentOS dan menjalankan Vault sebagai layanan.
Prasyarat
- Sistem CentOS Linux
- Akun pengguna dengan sudo hak istimewa
- Akses ke jendela baris perintah/terminal (Ctrl +Alt +F2 )
Instal Vault dari Binary di CentOS
1. Sebelum menginstal Vault, buat direktori baru di Linux menggunakan perintah mkir untuk menyimpan paket biner dan data lain yang diperlukan untuk perangkat lunak. Untuk mengilustrasikannya, kami akan menamakannya "direktori" dan menjalankan perintah berikut untuk membuatnya:
sudo mkdir -p /opt/vault/directory
2. Dengan pengaturan direktori, lanjutkan dengan mengunduh biner dari situs web resmi Vault. Navigasikan ke situs web dan klik ikon Unduh berwarna biru.
3. Temukan paket yang sesuai untuk sistem operasi CentOS (Linux) Anda dan klik ubin.
4. Anda akan melihat ikon Linux dan tombol Unduh. Klik kanan tombol dan pilih Salin Lokasi Tautan.
5. Selanjutnya, kembali ke baris perintah. Gunakan wget
perintah dan lokasi tautan yang Anda salin pada langkah sebelumnya untuk mengunduh biner:
sudo wget https://releases.hashicorp.com/vault/1.2.3/vault_1.2.3_linux_amd64.zip
6. Kemudian, unzip paket menggunakan perintah:
unzip vault_1.2.3_linux_amd64.zip
7. Setelah membuka ritsleting, ketik:
sudo chown root:root vault
sudo mv vault /usr/local/bin/ (or to som other DIR that's present in your $PATH
8. Verifikasi Vault berjalan dengan perintah:
vault --version
Outputnya menampilkan versi Vault yang berjalan di sistem.
Untuk informasi tambahan, Anda dapat meminta halaman bantuan dengan perintah:
vault
Mengonfigurasi Vault
Buat Pengguna Layanan untuk Vault
Yang terbaik adalah mempertimbangkan keamanan akun dengan hak istimewa dan memiliki pengguna sistem non-hak istimewa yang terpisah untuk menjalankan server Vault.
Gunakan perintah berikut untuk membuat pengguna sistem dan memberikan kepemilikan direktori instalasi:
sudo useradd --system -home /etc/vault.d - shell /bin/false vault
Periksa untuk melihat apakah Anda telah berhasil membuat pengguna layanan dengan:
sudo grep vault /etc/passwd
Outputnya akan menunjukkan sesuatu seperti baris di bawah ini:
vault:x:997:995::/etc/vault.d:/bin/false
Jalankan Vault sebagai Layanan
Untuk menjalankan Vault sebagai layanan, Anda juga perlu membuat file layanan Systemd baru:
sudo vi/etc/systemd/system/vault.service
Kemudian, tambahkan konten di bawah ini:
[Unit]
Description="HashiCorp Vault - A tool for managing secrets"
Documentation=https://www.vaultproject.io/docs/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/vault.d/vault.hcl
StartLimitIntervalSec=60
StartLimitBurst=3
[Service]
User=vault
Group=vault
ProtectSystem=full
ProtectHome=read-only
PrivateTmp=yes
PrivateDevices=yes
SecureBits=keep-caps
AmbientCapabilities=CAP_IPC_LOCK
Capabilities=CAP_IPC_LOCK+ep
CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
NoNewPrivileges=yes
ExecStart=/usr/local/bin/vault server -config=/etc/vault.d/vault.hcl
ExecReload=/bin/kill --signal HUP $MAINPID
KillMode=process
KillSignal=SIGINT
Restart=on-failure
RestartSec=5
TimeoutStopSec=30
StartLimitInterval=60
StartLimitIntervalSec=60
StartLimitBurst=3
LimitNOFILE=65536
LimitMEMLOCK=infinity
[Install]
WantedBy=multi-user.target
Aktifkan dan mulai layanan dengan perintah:
sudo systemctl enable vault.service
sudo systemctl start vault.service
Bersiap untuk Mengelola Vault
Langkah selanjutnya adalah memindahkan direktori Vault bin ke variabel lingkungan PATH dengan perintah:
export PATH=$PATH:/opt/vault/bin
echo "export PATH=$PATH:/opt/vault/bin" >> ~/.bashrc
Diikuti dengan menyetel variabel lingkungan untuk Vault dengan mengetik:
export VAULT_ADDRESS=http://10.128.0.2:8200
echo "export VAULT_ADDR=http://10.128.0.2:8200" >> ~/.bashrc
Inisialisasi dan Buka Segel Vault Anda
Untuk menginisialisasi dan membuka segel Vault, pertama-tama Anda harus memulai Vault sebagai server dalam mode dev . Namun, pastikan untuk tidak menjalankan server dev dalam produksi.
Jalankan perintah berikut:
vault server -dev
Perintah tersebut menghasilkan output yang menyertakan konfigurasi server , kunci buka segel , dan token root . Simpan nilai kunci pembuka segel dan token akar, karena Anda akan membutuhkannya di langkah selanjutnya.
Mulailah dengan mengatur variabel lingkungan. Anda akan menemukan perintah ini sebagai bagian dari output dari langkah sebelumnya:
export VAULT_ADDR=’http://127.0.0.1:8200’
Kemudian, jalankan perintah berikut dengan informasi dari output server dev:
export VAULT_DEV_ROOT_TOKEN_ID=”XXXXXXXXXXXXXXXX”
Periksa status server:
valut status
Outputnya akan menampilkan bahwa Vault sekarang diinisialisasi dan tidak lagi disegel.
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed false
Total Shares 1
Threshold 1
Version 1.2.3
Cluster Name vault-cluster-18e6bce0
Cluster ID 16382125-eb14-f23a-8145-ad64eee072cf
HA Enabled false