Vault là gì ? Hướng dẫn cài đặt dịch vụ Vault trên Linux

Tóm tắt nội dung

Bạn đang tìm giải pháp có thể lưu trữ các thông tin bảo mật như mật khẩu, access key/secret key,.. mà ứng dụng đó phải có khả năng tích hợp với các dịch vụ Cloud/OpenSource/Solution khác. Nếu vậy thì bạn không nên bỏ qua cơ hội trải nghiệm một giải pháp mang tên VAULT.

Vault là gì ?

Trang chủ: https://www.vaultproject.io/

Vault là một công cụ của công ty HashiCorp với mục tiêu lưu trữ và truy xuất các thông tin bảo mật. Các thông tin dữ liệu bảo mật mà Vault phục vụ bao gồm: api key, mật khẩu, thông tin dưới dạng key-value, chứng chỉ,…

Vault  cung cấp các hình thức, kênh truy xuất dữ liệu này thông qua API, GUI, command line,… Bên cạnh đó còn có các cơ chế mã hoá dữ liệu lưu trữ và các cơ chế ACL quản lý quyền hạn khả năng truy xuất của người dùng.

Như vậy Vault được thiết kế chạy như 1 dịch vụ độc lập để lưu trữ các thông tin nhạy cảm, phục vụ tích hợp cho các ứng dụng/dịch vụ/cloud khác sử dụng. Một số dịch vụ tương ứng như AWS KM, HSM, Keywhiz,.. để bạn tham khảo.

Chúng ta sẽ không tìm hiểu nhiều về dịch vụ Vault trong bài viết này. Mà sẽ có một bài viết giới thiệu khác.

1. Cài đặt chương trình Vault trên Linux

Vault cung cấp cho chúng ta một package Vault binary để chạy luôn không cần phải tiến hành biên dịch hay cài đặt từ các repo, điều này vô cùng tiện lợi và cũng là đặc trưng của các sản phẩm công ty HarshiCorp.

Link download: https://releases.hashicorp.com/vault/

Giải nén gói zip ra và di chuyển chương trình Vault binary vào thư mục ‘/usr/bin/‘, nằm trong biến $PATH môi trường.

Chạy cú pháp lệnh sau để Vault thực hiện các cấu hình cần thiết như autocompletion.

Cấu hình cho Vault sử dụng tính năng ‘mlock syscall‘, mlock syscall sẽ ngăn một số tác vụ từ bộ nhớ bị swap xuống ổ cứng.

Kiểm tra xem binary Vault chạy ok chưa nào.

Kế đến ta tạo thông tin user hệ thống để chạy dịch vụ Vault. Rồi tạo thư mục chứa data cho Vault, chúng ta dùng cơ chế storage cơ bản là local filesystem.

Khởi tạo file khởi động dịch vụ trên systemd (CentOS 7/RHEL 7/Ubuntu 16.04)

Vault hỗ trợ 2 định dạng cấu hình cho bạn là JSON và HCL, để dễ tiếp cận phần cấu hình, mình lựa chọn định dạng JSON để cấu hình dịch vụ Vault. Bạn có thể tham khảo các chú thích cấu hình Vault tại đây: https://www.vaultproject.io/docs/configuration/

{
"listener": [
{
"tcp": {
"address": "0.0.0.0:8200",
"tls_disable": 1
}
}
],
"api_addr": "http://0.0.0.0:8200",
"storage": {
"file": {
"path": "/var/lib/vault/"
}
},
"max_lease_ttl": "10h",
"default_lease_ttl": "10h",
"ui": true
}

Chú thích:

  • ui : kích hoạt giao diện quản lý Vault.
  • storage : lựa chọn hình thức lưu trữ dữ liệu Vault.
  • api_addr : địa chỉ IP cung cấp cách thức access API Vault.
  • listener : khai báo port listen cho API Vault và web.

Phân quyền cho thư mục cấu hình Vault.

Khởi động dịch vụ Vault nào.

Kiểm tra trạng thái dịch vụ Vault .

2. Cấu hình dịch vụ Vault cơ bản

Khi bạn sử dụng chương trình lệnh ‘vault‘ cli trên Linux, bạn cần export biến môi trường thể hiện thông tin địa chỉ máy chủ Vault . Ví dụ địa chỉ IP Local của máy chủ Vault của mình là “10.110.8.80“.

Lúc này Vault vẫn đang ở trạng thái chưa khởi tạo hoạt động ban đầu và bị khoá niêm phong (seal). Bạn cần khởi tạo dịch vụ Vault , khi khởi tạo hoàn tất bạn sẽ nhận được tổng cộng 5 chuỗi key dùng để mở niêm phong (seal) dịch vụ Vault và 1 Root Token để login chứng thực sử dụng Vault cơ bản ban đầu. Hãy bảo mật những thông tin này nhé.

Giờ bạn cần mở niêm phong dịch vụ Vault ra với ít nhất 3 chuỗi ‘Unseal key‘. Một điều bạn cần lưu ý là khi Vault được mở niêm phong, thì khi nào Vault sẽ quay lại trạng thái bị niêm phong :

  • Dịch vụ Vault hoặc máy chủ Vault bị khởi động lại.
  • Bị niêm phong bởi API

Lúc này nếu bạn kiểm tra trạng thái dịch vụ Vault qua cli , thì sẽ thấy dòng trạng thái ‘Sealed‘ đã là ‘false‘, tức đã mở niêm phong.

Giờ bạn truy cập giao diện quản lý Vault qua port mặc định 8200 login với chuỗi Root Token lúc khởi tạo Vault nhé.

Mở Firewall port: 8200

#firewall-cmd –zone=public –add-port=8200/tcp

# systemctl restart firewalld

Và đây là giao diện đầu tiên khi truy cập Vault .

Tổng kết

Việc cài đặt dịch vụ Vault cũng không quá phức tạp phải không nào ?! Nhưng mà để làm chủ các tính năng của Vault thì cũng là cả 1 bầu trời trong cả tuần đấy . Chúng ta sẽ sớm làm chủ Vault trong các bài viết kế tiếp nhé.

Nguồn: cuongquach.com

Logo Cloud Việt

Thông Tin Và Hoạt Động Của Chúng Tôi

Cloud Việt là đơn vị cung cấp dịch vụ TTDL uy tín tại Việt Nam. Với tiêu chí là đặt quyền lợi và trải nghiệm của khách hàng lên hàng đầu để  đem đến dịch vụ tốt nhất.

Trụ sở chính

110/20/41 đường số 30, phường 6, quận Gò Vấp, TPHCM

Ngày làm việc

Thứ 2 - Thứ 6, Hàng tuần

Giờ làm việc

08 : 00 AM - 18 : 00 PM

Email

Support@cloudviet.com.vn

Hotline

0972 710 812