Di era digital saat ini, melindungi informasi sensitif seperti kata sandi dan kunci API bukan lagi sekadar tindakan pencegahan, tetapi sebuah keharusan bisnis. Ancaman siber yang semakin canggih menuntut solusi yang kuat dan komprehensif untuk melindungi kredensial dari akses dan penyalahgunaan yang tidak sah. Di sinilah HashiCorp Vault hadir sebagai alat penting dalam persenjataan keamananmu.
Server CentOS atau Rocky Linux yang Berjalan: Kamu memerlukan instance server yang menjalankan versi stabil CentOS atau Rocky Linux. Pastikan server dikonfigurasi dengan benar dengan konektivitas jaringan.Akun Pengguna dengan Hak Akses Root atau Sudo: Kamu memerlukan akun pengguna dengan hak akses root atau kemampuan untuk menjalankan perintah dengan sudo. Ini diperlukan untuk menginstal perangkat lunak dan mengonfigurasi layanan sistem.
Identifikasi Arsitektur Prosesor Kamu: Tentukan arsitektur prosesor server Kamu. Arsitektur umum termasuk 386, amd64, dan arm. Informasi ini sangat penting untuk memilih biner yang benar.Kunjungi Halaman Unduhan Vault: Arahkan ke halaman unduhan HashiCorp Vault resmi di situs web mereka. Di sini, Kamu akan menemukan daftar lengkap versi Vault yang tersedia dan biner untuk berbagai sistem operasi dan arsitektur.Temukan Biner yang Sesuai: Temukan biner yang sesuai dengan sistem operasi server Kamu (RHEL/CentOS) dan arsitektur prosesor. Salin tautan ke file .zip yang sesuai.Unduh Biner menggunakan wget: Buka terminal di server Kamu dan gunakan perintah wget untuk mengunduh file biner ke direktori yang sesuai, seperti direktori Unduhan pengguna Kamu.
# wget https://releases.hashicorp.com/vault/1.18.5/vault_1.18.5_linux_386.zip
Ekstrak Biner: Setelah unduhan selesai, gunakan perintah unzip untuk mengekstrak isi file .zip. Ini akan membuat direktori yang berisi executable Vault.
# unzip vault_1.18.5_linux_386.zip
Atur Kepemilikan: Pastikan bahwa pengguna root memiliki kepemilikan dan akses penuh ke direktori yang diekstrak. Ini penting untuk keamanan dan pengoperasian Vault yang tepat. Gunakan perintah chown berikut:
# sudo chown root:root vault
Pindahkan Biner: Gunakan perintah mv untuk memindahkan direktori Vault ke /usr/local/bin:
# sudo mv vault /usr/local/bin/
Verifikasi Pemindahan: Konfirmasikan bahwa direktori Vault telah berhasil dipindahkan ke /usr/local/bin dengan mencantumkan isi direktori:
# ls /usr/local/bin/
Periksa Versi Vault: Gunakan perintah vault version untuk menampilkan informasi versi dari biner Vault yang terinstal:
# vault --version
Jelajahi Argumen Perintah: Untuk mendapatkan gambaran singkat tentang perintah Vault yang tersedia dan penggunaannya, jalankan perintah vault tanpa argumen apa pun:
# vault
Buat Pengguna vault: Gunakan perintah useradd untuk membuat pengguna sistem khusus untuk menjalankan Vault:
# sudo useradd --system --home /etc/vault.d --shell /bin/false vault
--system: Membuat pengguna sistem, biasanya digunakan untuk menjalankan layanan. --home /etc/vault.d: Mengatur direktori home untuk pengguna ke /etc/vault.d, lokasi umum untuk file konfigurasi Vault. --shell /bin/false: Menonaktifkan akses shell untuk pengguna, mencegah login langsung dan eksekusi perintah yang tidak sah.
Verifikasi Pembuatan Pengguna: Konfirmasikan bahwa pengguna vault telah dibuat dengan memeriksa isi file /etc/passwd:
# cat /etc/passwd | grep vault
Buat File vault.service: Gunakan editor teks seperti nano atau vim untuk membuat file bernama vault.service di direktori /etc/systemd/system/:
# sudo nano /etc/systemd/system/vault.service
Tambahkan Konfigurasi Layanan: Tempelkan konfigurasi berikut ke dalam file vault.service:
[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
[Service]
User=vault
Group=vault
ProtectSystem=full
ProtectHome=read-only
PrivateTmp=yes
PrivateDevices=yes
SecureBits=keep-caps
AmbientCapabilities=CAP_IPC_LOCK
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
LimitNOFILE=65536
LimitMEMLOCK=infinity
[Install]
WantedBy=multi-user.target
[Unit]: Mendefinisikan metadata tentang layanan, seperti deskripsi, tautan dokumentasi, dan dependensi. Requires=network-online.target dan After=network-online.target: Memastikan bahwa jaringan online sebelum memulai Vault. ConditionFileNotEmpty=/etc/vault.d/vault.hcl: Memverifikasi bahwa file konfigurasi Vault ada sebelum memulai layanan. [Service]: Mendefinisikan parameter eksekusi layanan. User=vault dan Group=vault: Menentukan bahwa layanan harus berjalan di bawah pengguna dan grup vault. ProtectSystem=full, ProtectHome=read-only, PrivateTmp=yes, PrivateDevices=yes: Meningkatkan keamanan dengan membatasi akses ke sumber daya sistem. SecureBits=keep-caps, AmbientCapabilities=CAP_IPC_LOCK, CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK, NoNewPrivileges=yes: Lebih memperkuat keamanan dengan membatasi kemampuan. ExecStart=/usr/local/bin/vault server -config=/etc/vault.d/vault.hcl: Menentukan perintah untuk memulai server Vault, menggunakan file konfigurasi yang terletak di /etc/vault.d/vault.hcl. ExecReload=/bin/kill -signal HUP $MAINPID: Mendefinisikan perintah untuk memuat ulang layanan Vault. KillMode=process, KillSignal=SIGINT: Mengonfigurasi cara layanan dihentikan. Restart=on-failure, RestartSec=5: Secara otomatis memulai ulang layanan jika gagal. TimeoutStopSec=30: Mengatur batas waktu untuk menghentikan layanan. LimitNOFILE=65536, LimitMEMLOCK=infinity: Menyesuaikan batas sumber daya untuk layanan. [Install]: Mendefinisikan cara layanan diaktifkan dan dimulai. WantedBy=multi-user.target: Menentukan bahwa layanan harus dimulai ketika sistem memasuki mode multi-pengguna.
Muat Ulang Daemon Systemd: Setelah membuat file layanan, muat ulang daemon systemd untuk mendaftarkan layanan baru:
# sudo systemctl daemon-reload
Aktifkan Layanan Vault: Aktifkan layanan Vault untuk memulai secara otomatis saat boot sistem:
# sudo systemctl enable vault.service
Mulai Layanan Vault: Mulai layanan Vault:
# sudo systemctl start vault.service
Periksa Status Layanan: Verifikasi bahwa layanan Vault berjalan dengan sukses:
# sudo systemctl status vault.service
Atur Variabel PATH: Tambahkan direktori /usr/local/bin ke variabel PATH di file konfigurasi shell Kamu (~/.bashrc):
# echo "export PATH=$PATH:/usr/local/bin/" >> ~/.bashrc
Atur Alamat Server Vault: Atur variabel lingkungan VAULT_ADDR ke alamat server Vault Kamu:
# echo 'export VAULT_ADDR=http://your-Vault-server-ip:8200' >> ~/.bashrc
Muat Ulang Konfigurasi Bash: Muat ulang konfigurasi shell Bash untuk menerapkan perubahan:
# source ~/.bashrc
Inisialisasi Vault: Jalankan perintah vault operator init:
# vault operator init
Unseal Vault: Jalankan perintah vault operator unseal tiga kali, setiap kali dengan kunci unseal yang berbeda:
# vault operator unseal <unseal-key-1>
# vault operator unseal <unseal-key-2>
# vault operator unseal <unseal-key-3>
Verifikasi Status Vault: Setelah unsealing, verifikasi bahwa Vault dalam keadaan tidak disegel dengan menjalankan perintah vault status:
# vault status
Login ke Vault: Jalankan perintah vault login dengan token root:
# vault login <root-token>
0 komentar:
Posting Komentar