Mật khẩu MySQL của Hashicorp Vault

Vault là phần mềm mã nguồn mở để quản lý bí mật do HashiCorp cung cấp. Nó được thiết kế để tránh chia sẻ bí mật thuộc nhiều loại khác nhau, như mật khẩu và khóa riêng tư. Khi xây dựng tự động hóa, Vault là một giải pháp tốt để tránh lưu trữ bí mật ở dạng văn bản thuần túy trong kho lưu trữ

MariaDB và Vault có thể liên quan đến nhau theo nhiều cách

  • MariaDB có một plugin Hashicorp Key Management, để quản lý và xoay các khóa SSH
  • Mật khẩu người dùng có thể được lưu trữ trong Vault
  • MariaDB (và MySQL) có thể được sử dụng như một công cụ bí mật, một thành phần lưu trữ, tạo hoặc mã hóa dữ liệu
  • MariaDB (và MySQL) có thể được sử dụng làm bộ lưu trữ phụ trợ, mang lại độ bền cho dữ liệu Vault

Để biết thông tin về cách cài đặt Vault, hãy xem Cài đặt Vault, cũng như Công cụ bí mật cơ sở dữ liệu MySQL/MariaDB

Tính năng kho tiền

Vault được sử dụng thông qua API HTTP/HTTPS

Vault dựa trên danh tính. Người dùng đăng nhập và Vault gửi cho họ một mã thông báo có giá trị trong một khoảng thời gian nhất định hoặc cho đến khi một số điều kiện nhất định xảy ra. Người dùng có mã thông báo hợp lệ có thể yêu cầu nhận các bí mật mà họ có quyền thích hợp

Vault mã hóa những bí mật mà nó lưu trữ

Vault có thể tùy chọn kiểm tra các thay đổi đối với bí mật và yêu cầu bí mật của người dùng

Kiến trúc kho tiền

Vault là một máy chủ. Điều này cho phép tách logic quản lý bí mật khỏi máy khách, chỉ cần đăng nhập và giữ mã thông báo cho đến khi hết hạn

Máy chủ thực sự có thể là một cụm máy chủ, để triển khai tính sẵn sàng cao

Các thành phần chính của Vault là

  • Lưu trữ được sao lưu. Đây là nơi cất giữ những bí mật. Vault chỉ gửi dữ liệu được mã hóa đến bộ lưu trữ phụ trợ
  • API HTTP. API này được khách hàng sử dụng và cung cấp quyền truy cập vào máy chủ Vault
  • Rào chắn. Tương tự như một hàng rào thực tế, nó bảo vệ tất cả các thành phần bên trong Vault. API HTTP và phụ trợ lưu trữ nằm ngoài rào cản và bất kỳ ai cũng có thể truy cập được. Tất cả các thông tin liên lạc từ và đến các thành phần này phải đi qua hàng rào. Hàng rào xác minh dữ liệu và mã hóa nó. Rào cản có thể có hai trạng thái. niêm phong hoặc không niêm phong. Dữ liệu chỉ có thể đi qua khi hàng rào được mở. Tất cả các thành phần sau được đặt bên trong hàng rào
  • Phương thức xác thực. Xử lý các nỗ lực đăng nhập từ khách hàng. Khi đăng nhập thành công, phương thức xác thực sẽ trả về danh sách các chính sách bảo mật cho lõi Vault
  • Cửa hàng mã thông báo. Tại đây, các mã thông báo được tạo do đăng nhập thành công được lưu trữ
  • động cơ bí mật. Các thành phần này quản lý bí mật. Chúng có thể có mức độ phức tạp khác nhau. Một số người trong số họ chỉ mong nhận được một khóa và trả lại bí mật tương ứng. Những người khác có thể tạo bí mật, bao gồm mật khẩu một lần
  • Thiết bị kiểm tra. Các thành phần này ghi nhật ký các yêu cầu mà Vault nhận được và phản hồi được gửi lại cho khách hàng. Có thể có nhiều thiết bị, trong trường hợp đó, Audit Broker sẽ gửi yêu cầu hoặc phản hồi đến thiết bị phù hợp

Chế độ nhà phát triển

Có thể khởi động Vault ở chế độ nhà phát triển

vault server -dev

Chế độ nhà phát triển hữu ích cho việc tìm hiểu Vault hoặc chạy thử nghiệm trên một số tính năng cụ thể. Nó cực kỳ không an toàn vì chế độ nhà phát triển tương đương với việc khởi động Vault với một số tùy chọn không an toàn. Điều này có nghĩa là Vault không bao giờ được chạy trong sản xuất ở chế độ nhà phát triển. Tuy nhiên, điều này cũng có nghĩa là tất cả các tính năng thông thường của Vault đều khả dụng ở chế độ nhà phát triển

Chế độ nhà phát triển đơn giản hóa mọi thao tác. Trên thực tế, không cần cấu hình để thiết lập và chạy Vault ở chế độ nhà phát triển. Nó cho phép giao tiếp với API Vault từ trình bao mà không cần bất kỳ xác thực nào. Dữ liệu được lưu trữ trong bộ nhớ theo mặc định. Theo mặc định, Vault không được niêm phong và nếu được niêm phong một cách rõ ràng, thì nó có thể được hủy niêm phong chỉ bằng một phím

Gần đây, tôi đã nhận được Chứng chỉ liên kết kiến ​​trúc sư giải pháp AWS của mình và tôi đã vô tình tìm hiểu thêm về Ops, DevOps liên quan đến tự động hóa, triển khai và quan trọng nhất là các bí mật và quyền truy cập. Vì vậy, tôi muốn chia sẻ kiến ​​thức của mình về cách tạo thông tin đăng nhập ngắn hạn cho người dùng và quản trị viên cơ sở dữ liệu

Trong bài đăng trên blog này, thuật ngữ Vault sẽ được sử dụng để chỉ Hashicorp Vault

Xin lưu ý

  • bất kỳ bước nào tôi cảm thấy dễ dàng hoàn thành thông qua tài liệu, tôi sẽ đề cập đến bước đó. Một ví dụ sẽ là cài đặt máy chủ Vault Dev
  • Bài viết này sử dụng môi trường từ một bài đăng trên blog trước đó. Nếu bạn không có thiết lập môi trường, vui lòng sử dụng nó. Tìm nó ở đây
  • Nếu không, một máy chủ Linux sẽ hoạt động, nó cần phải cài đặt Cơ sở dữ liệu MySQL để theo dõi

danh sách chi tiết

  • Máy chủ EC2 có cài đặt máy khách MySQL
  • AWS MySQL RDS
  • Nhóm bảo mật trong AWS được định cấu hình để cho phép máy chủ EC2 truy cập AWS MySQL RDS

Thuật ngữ

  • Bất cứ khi nào thuật ngữ cơ sở dữ liệu được sử dụng, nó sẽ đề cập đến “Cơ sở dữ liệu AWS MySQL RDS” - Tôi không muốn tiếp tục nhập cụm từ đó

Bài đăng trên blog này sẽ bao gồm

  • Cài đặt và định cấu hình Hashicorp Vault trên phiên bản EC2
  • Định cấu hình Vault để kết nối với máy chủ MySQL và xoay mật khẩu

Bí mật phổ biến nhất là tên người dùng và mật khẩu, nhưng chúng có nhiều loại khác nhau, chẳng hạn như khóa API. Thứ gì đó có thể được sử dụng để truy cập hệ thống hoặc thông tin cần có sự cho phép được coi là bí mật

Quản lý bí mật là quá trình xử lý bí mật một cách an toàn. Điều này có thể bao gồm cách các bí mật được lưu trữ, xoay vòng chúng và quyền (ai có thể truy cập)

Thực tiễn tốt nhất trong ngắn hạn bao gồm

  • Tập trung bí mật
  • quyền truy cập tối thiểu vào các bí mật
  • bí mật sống ngắn năng động
  • kiểm toán

Bài đăng trên blog này sẽ bao gồm các bí mật tập trung, bí mật động và kiểm tra

Quản lý bí mật rất quan trọng vì nhiều lý do

  • lý do ban đầu là để giảm khả năng thỏa hiệp bí mật
  • tầm nhìn tốt hơn về những bí mật có trong môi trường
    • điều này làm giảm đáng kể thông tin xác thực, có nhiều thông tin đăng nhập ở mọi nơi
    • biết ai có quyền truy cập vào những bí mật nào
  • khả năng vô hiệu hóa một bí mật nếu bị xâm phạm
    • lưu trữ tập trung một bí mật cho phép nó bị vô hiệu hóa dễ dàng hơn
  • giảm tiếp xúc nếu một bí mật bị xâm phạm
    • nếu không có quản lý bí mật, một nhóm có thể đã sử dụng 1 mật khẩu cho nhiều hệ thống, nghĩa là nếu mật khẩu đó bị xâm phạm thì nó sẽ ảnh hưởng đến nhiều hệ thống. Trong khi với quản lý bí mật, một bí mật có thể dành cho mỗi hệ thống, nghĩa là một bí mật bị xâm phạm sẽ chỉ ảnh hưởng đến một hệ thống

Trong phần này, chúng ta sẽ hướng dẫn cài đặt Vault

Tài liệu chính thức để cài đặt máy chủ có tại đây

Trước khi chúng tôi bắt đầu, vui lòng đăng nhập vào tài khoản AWS (nếu bạn đang sử dụng thiết lập Lab từ bài trước) với người dùng không root

Mật khẩu MySQL của Hashicorp Vault
.

Chuyển sang dịch vụ EC2 và đảm bảo phiên bản EC2 đang chạy, nếu không, hãy khởi động phiên bản.

Mật khẩu MySQL của Hashicorp Vault
.

Vui lòng SSH vào ví dụ như vậy

ssh -i “demo_key. pem” ubuntu@ec2-3-135-229-44. chúng tôi-đông-2. tính toán. amazonaws. com

Xin lưu ý

  • Như với bất kỳ cài đặt gói Linux nào, bạn có thể cần phải root, vì vậy hãy thêm sudo ở phía trước hoặc thay đổi thành người dùng root

Bây giờ để cài đặt Vault, chúng ta cần thêm khóa HashiCorp GPG, kho lưu trữ và sau đó cài đặt Vault

Chọn tab Ubuntu/Debian và làm theo các hướng dẫn đó.

Mật khẩu MySQL của Hashicorp Vault

Với các lệnh dưới đây

1
2
3
4
5
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault

Gõ “vault” trong dòng lệnh để xác nhận cài đặt.

Mật khẩu MySQL của Hashicorp Vault

Xin chúc mừng Vault đã được cài đặt

Chúng tôi sẽ tiến hành triển khai Vault bình thường, điều này bao gồm việc hủy niêm phong Vault

Điều này là không cần thiết, có một máy chủ Dev có thể được thiết lập nhanh hơn. Các bước cho việc này có thể được tìm thấy ở đây

Để triển khai Vault, bạn có thể tìm thấy tài liệu chính thức tại đây

Vault và cấu hình sẽ được lưu trữ trong một thư mục vault. Vì vậy, theo tài liệu, hãy tạo một thư mục vault với dữ liệu cũ hơn bên trong như vậy

Tôi đã tạo nó trong thư mục chính của người dùng Ubuntu. Chỉ dành cho hướng dẫn.

Mật khẩu MySQL của Hashicorp Vault

Tạo cấu hình. hcl trong thư mục chính, không phải trong thư mục vault

Mật khẩu MySQL của Hashicorp Vault

mở cấu hình. hcl và thêm mã bên dưới

1
2
3
4
5
6
7
8
9
10
11
12
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"


Bây giờ hãy khởi động máy chủ với tệp cấu hình đã được tạo

1
 vault server -config=config.hcl


Điều này sẽ khởi động máy chủ và sẽ giống như

Mật khẩu MySQL của Hashicorp Vault

Đang khởi tạo Vault

Tài liệu chính thức tương tự để triển khai Vault bao gồm phần này. Một lần nữa, nó có thể được tìm thấy ở đây

Khởi tạo Vault chỉ đơn giản là cấu hình Vault. Đó là, thiết lập nó

Đối với bước này, chúng ta cần kết nối với phiên bản EC2 trong cửa sổ terminal mới, đây là kết nối thứ 2. Kết nối SSH đầu tiên nơi máy chủ được bắt đầu phải được mở. Trong hầu hết các thiết bị đầu cuối, bạn có thể nhấp chuột phải và chọn chia theo chiều ngang

Vì vậy, nó sẽ trông giống như

Mật khẩu MySQL của Hashicorp Vault

Điều đầu tiên chúng ta cần làm là tạo biến môi trường VAULT_ADDR, hãy làm như vậy với

1
export VAULT_ADDR='http://127.0.0.1:8200'

Mật khẩu MySQL của Hashicorp Vault

Chúng tôi cần khởi tạo Vault và lưu trữ các khóa chưa niêm phong và mã thông báo gốc. Điều này được thực hiện với

export VAULT_ADDR='http://127.0.0.1:8200'
8

Việc niêm phong và hủy niêm phong có liên quan đến việc Vault có thể truy cập khóa chính để giải mã dữ liệu được lưu trữ trong Vault. Ở trạng thái Niêm phong, Vault không thể giải mã dữ liệu, nghĩa là ở trạng thái không niêm phong, Vault có thể giải mã dữ liệu. Để biết thêm chi tiết về cách thức hoạt động của nó (và thật thú vị), hãy đọc tài liệu chính thức tại đây

Để tiếp tục, trong phiên cuối mới thực hiện

Điều này sẽ cung cấp 5 mã thông báo chưa niêm phong và mã thông báo gốc, vui lòng lưu trữ chúng ở nơi an toàn.

Mật khẩu MySQL của Hashicorp Vault

Đối với hướng dẫn, tôi đã lưu nó trong NotePad ++ tốt, nhưng không bao giờ làm điều đó để sản xuất

Unseal Vault

Chúng ta cần mở Vault. Để thực hiện việc này, hãy sử dụng lệnh hủy niêm phong và thêm 3 khóa hủy niêm phong hợp lệ mà bạn đã lưu từ bước trên

Nhập các phím không được niêm phong sẽ giống như.

Mật khẩu MySQL của Hashicorp Vault

Đối với mỗi khóa hủy niêm phong thành công, tiến trình hủy niêm phong sẽ tăng thêm 1

Khi chưa được niêm phong, khóa Đã niêm phong sẽ được đặt thành false.

Mật khẩu MySQL của Hashicorp Vault

Trên thiết bị đầu cuối đầu tiên nơi Vault được khởi động, bạn sẽ thấy dòng “hoàn tất thiết lập sau khi hủy niêm phong”

Mật khẩu MySQL của Hashicorp Vault

Vault hiện đã được mở

Dọn dẹp - KHÔNG LÀM ĐIỀU NÀY

Có một bước trong tài liệu về dọn dẹp. Đừng làm điều này. Nếu làm như vậy, bạn sẽ phải khởi tạo lại Vault một lần nữa

tôi đã phạm sai lầm đó

Mật khẩu MySQL của Hashicorp Vault

Thử nghiệm thiết lập Vault

Với Vault chưa được niêm phong, bạn nên đảm bảo rằng chúng tôi có thể đăng nhập. Sử dụng lệnh bên dưới để đăng nhập vào Vault

Nó sẽ hiển thị cho bạn thông tin gắn liền với mã thông báo, chẳng hạn như chính sách mã thông báo và chính mã thông báo

Mật khẩu MySQL của Hashicorp Vault

Nếu điều này hoạt động, xin chúc mừng bạn đã cài đặt, triển khai và đăng nhập vào máy chủ Vault

Các bước tiếp theo sẽ là định cấu hình Vault để truy cập cơ sở dữ liệu nhằm tạo thông tin đăng nhập ngắn hạn

Người dùng root mặc định được tạo khi tạo Cơ sở dữ liệu MySQL AWS RDS có thể được sử dụng. Nhưng tốt hơn là tạo một người dùng riêng mà Vault có thể sử dụng. Bằng cách này, chúng tôi có thể kiểm tra và ghi nhật ký khi Vault truy cập cơ sở dữ liệu nếu muốn (Vault cũng có nhật ký riêng, nhưng đó không phải là chủ đề của bài đăng này)

Tóm lại, bước này bao gồm

  • Tạo một người dùng root khác trên cơ sở dữ liệu
  • Kiểm tra người dùng cơ sở dữ liệu gốc mới có thể đăng nhập vào cơ sở dữ liệu

Bạn có thể tìm thấy Tài liệu AWS để tạo một người dùng root khác tại đây Để Vault tạo thông tin xác thực tồn tại trong thời gian ngắn trên cơ sở dữ liệu, Vault cần có quyền truy cập vào cơ sở dữ liệu

Vì vậy, trước tiên, chúng tôi phải tạo một người dùng mới trên cơ sở dữ liệu với thông tin đăng nhập của quản trị viên để Vault có thể tạo thông tin đăng nhập mỗi khi yêu cầu quyền truy cập (người dùng và mật khẩu mới)


Đăng nhập vào cơ sở dữ liệu từ máy chủ EC2, lệnh sẽ như thế nào

1
1
2
3
4
5
1

Mật khẩu MySQL của Hashicorp Vault

Sau khi đăng nhập với quyền root, hãy tạo một người dùng mới có tên 'vault_user' và mật khẩu bằng lệnh

1
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
1

Mật khẩu MySQL của Hashicorp Vault

Đối với hướng dẫn này, thông tin xác thực cho tài khoản mà Vault sẽ sử dụng là

export VAULT_ADDR='http://127.0.0.1:8200'
9 với mật khẩu
1
0

Người dùng cơ sở dữ liệu mới cần được cấp quyền root. Lệnh để làm điều này là

1
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
3

Mật khẩu MySQL của Hashicorp Vault

Điều này đáng lẽ phải tạo ra người dùng root mới

export VAULT_ADDR='http://127.0.0.1:8200'
9. Bước tiếp theo sẽ là đăng nhập vào cơ sở dữ liệu

Kiểm tra người dùng mới

Thoát khỏi ứng dụng khách mysql và cố gắng đăng nhập vào cơ sở dữ liệu với tên

export VAULT_ADDR='http://127.0.0.1:8200'
9 mới

Mật khẩu MySQL của Hashicorp Vault

Nếu điều này hoạt động, người dùng mới đã được tạo thành công

Bây giờ chúng ta có một người dùng mà Vault có thể sử dụng để truy cập cơ sở dữ liệu và tạo thông tin xác thực mới, bước tiếp theo là định cấu hình Vault để có thể thực hiện điều đó

Các bước chính sẽ bao gồm

  • Kích hoạt công cụ Bí mật cơ sở dữ liệu
  • Tạo cấu hình cơ sở dữ liệu cho Vault để kết nối với cơ sở dữ liệu bằng cách sử dụng
    export VAULT_ADDR='http://127.0.0.1:8200'
    
    9 mà chúng tôi đã tạo trên cơ sở dữ liệu
  • Tạo một 'vai trò' để định cấu hình Vault nhằm xoay vòng thông tin đăng nhập
    • Một 'vai trò' định cấu hình những gì Vault thực hiện khi kết nối với cơ sở dữ liệu, trong trường hợp này, nó sẽ tạo người dùng mới với quyền
      1
      
      4
  • Là người dùng root Vault, hãy kiểm tra cấu hình hoạt động

Đăng nhập vào Vault

Trước khi có thể thực hiện bất kỳ điều gì để định cấu hình Vault, chúng ta cần đăng nhập

Đảm bảo biến môi trường

1
5 đã được đặt chính xác.
Mật khẩu MySQL của Hashicorp Vault

Để đăng nhập sử dụng lệnh

1
6

Mã thông báo gốc đã được cung cấp khi Vault được khởi tạo và các khóa chưa niêm phong đã được cung cấp

Nếu thành công, bạn sẽ được cung cấp mã thông báo và thông tin mã thông báo của mình.

Mật khẩu MySQL của Hashicorp Vault

Kích hoạt công cụ bí mật cơ sở dữ liệu

Sau khi xác nhận rằng chúng tôi đã đăng nhập với tư cách là người dùng root, chúng tôi có thể kích hoạt công cụ cơ sở dữ liệu. Vault hoạt động dựa trên ý tưởng về 'Secrets Engines', mà tôi có xu hướng coi đó là những công cụ hỗ trợ có thể được kích hoạt tùy thuộc vào bí mật mà bạn muốn lưu trữ. Có nhiều lựa chọn, chẳng hạn như Active Directory, Google Cloud, AWS và tất nhiên là Cơ sở dữ liệu. Tài liệu chính thức cho công cụ bí mật cơ sở dữ liệu có tại đây

Lệnh kích hoạt công cụ bí mật cơ sở dữ liệu là

1
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
5

Thành công sẽ cho thấy rằng cơ sở dữ liệu bí mật đã được kích hoạt.

Mật khẩu MySQL của Hashicorp Vault

Cấu hình cơ sở dữ liệu để kết nối với cơ sở dữ liệu

Tài liệu chính thức cho cơ sở dữ liệu mysql-maria có thể được tìm thấy ở đây

Để Vault kết nối với cơ sở dữ liệu, Vault cần được định cấu hình với thông tin kết nối, bao gồm IP/tên máy chủ và thông tin đăng nhập

Đối với điều này, tôi muốn có lệnh trên một dòng, vì việc sao chép và dán lệnh không phải lúc nào cũng cho phép nó được phân tích cú pháp chính xác, bạn có thể thấy lỗi như.

Mật khẩu MySQL của Hashicorp Vault

Lệnh sẽ hoạt động là

1
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
7

Để đọc thêm về cấu hình kết nối, hãy xem tài liệu chính thức tại đây

Nói tóm lại, lệnh bao gồm

  • tên máy chủ cơ sở dữ liệu và cổng để Vault kết nối với cơ sở dữ liệu
  • tên người dùng và mật khẩu để sử dụng khi kết nối với cơ sở dữ liệu
  • một vai trò sẽ được phép sử dụng kết nối này
    • điều này rất quan trọng, vì vai trò sẽ thực hiện việc tạo thông tin xác thực cơ sở dữ liệu thông qua kết nối này

Lệnh không đưa ra phản hồi rằng nó đã thành công

Mật khẩu MySQL của Hashicorp Vault

Vai trò để tạo thông tin xác thực

Thông tin liên quan đến vai trò làm việc với công cụ Cơ sở dữ liệu bí mật có thể được tìm thấy tại đây

Một vai trò được tạo để cho Vault biết phải làm gì khi kết nối với cơ sở dữ liệu. Trong trường hợp này, vai trò ứng dụng sẽ được định cấu hình thành

  • Sử dụng kết nối có tên
    1
    
    7 từ phía trên
  • Bao gồm câu lệnh tạo cho Vault để tạo người dùng có quyền
    1
    
    4
    • Xin lưu ý, đây là một câu lệnh SQL có phần giữ chỗ cho tên người dùng và mật khẩu được điền vào bằng kết nối
      1
      
      7
  • Thời gian mặc định mà thông tin đăng nhập sẽ tồn tại (1 giờ)
  • Thời gian tối đa mà thông tin đăng nhập sẽ tồn tại
  • phần ghi sẽ tạo vai trò có tên là
    1
    2
    3
    4
    5
    
    10

Sao chép và dán vai trò đã hoạt động, tôi đã cung cấp nó dưới dạng một dòng bên dưới để đề phòng

1
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
9

Trong thiết bị đầu cuối có vẻ như

Mật khẩu MySQL của Hashicorp Vault

Nhận thông tin đăng nhập

Với Vault được định cấu hình để tạo thông tin xác thực ngắn hạn trên cơ sở dữ liệu. Chúng ta nên kiểm tra xem cái này có hoạt động không

Vault sử dụng hệ thống dựa trên 'đường dẫn', nghĩa là chúng tôi ____111 đường dẫn của ____110. Phần vai trò của công cụ cơ sở dữ liệu không được đọc, phần

1
2
3
4
5
13 của
1
2
3
4
5
10 được đọc

Vì vậy, lệnh để nhận thông tin đăng nhập là

1
1
2
3
4
5
6
7
8
9
10
11
12
1

Nếu điều này thành công, bạn sẽ được cung cấp thông tin đăng nhập ngắn hạn để sử dụng trên cơ sở dữ liệu

Mật khẩu MySQL của Hashicorp Vault

Kiểm tra thông tin đăng nhập hoạt động

Bây giờ Vault đã cung cấp tên người dùng và mật khẩu, chúng tôi nên kiểm tra xem nó có hoạt động không. Lệnh mysqlclient tương tự có thể được sử dụng

Đảm bảo rằng tên người dùng và mật khẩu mới được sử dụng. Lệnh mysql được tạo bằng tên người dùng và mật khẩu mà tôi được cung cấp trông giống như

1
1
2
3
4
5
6
7
8
9
10
11
12
3

Như bạn có thể thấy bên dưới, thông tin đăng nhập đã hoạt động. Vault có thể kết nối với cơ sở dữ liệu bằng thông tin xác thực

export VAULT_ADDR='http://127.0.0.1:8200'
9 và xoay mật khẩu

Mật khẩu MySQL của Hashicorp Vault

Nếu điều này là thành công cho bạn. Xin chúc mừng. Bạn đã định cấu hình Vault để kết nối với cơ sở dữ liệu và tạo thông tin đăng nhập tạm thời cho người dùng có quyền

1
4

Tất cả các bước cho đến nay đều được tạo với tư cách là người dùng root của Vault. Nếu một tổ chức có nhiều nhân viên đang sử dụng Vault, thì tổ chức đó sẽ không chia sẻ mã thông báo gốc giữa mọi người. Tốt nhất là để mỗi nhân viên đăng nhập bằng tài khoản của riêng họ, với thông tin xác thực của riêng họ

Phần này sẽ đi qua

  • Kích hoạt phương thức xác thực userpass
  • Tạo người dùng
  • Tạo một chính sách để đọc vai trò mysql
  • Đăng nhập với tư cách người dùng và đọc
    1
    2
    3
    4
    5
    
    10 để nhận thông tin đăng nhập cơ sở dữ liệu tạm thời

Kích hoạt phương thức xác thực userpass

Vault có khái niệm về các phương thức “auth”. Đây đơn giản là các thành phần dành cho các loại xác thực khác nhau, chẳng hạn như LDAP và Okta

Trong hướng dẫn này, phương thức xác thực userpass sẽ được sử dụng. Điều này đang tạo một người dùng, theo đó đăng nhập liên quan đến tên người dùng và mật khẩu

Tài liệu chính thức về cách hoạt động của phương thức xác thực userpass. đây

Trước hết, hãy đảm bảo rằng bạn đã xuất mã thông báo gốc vào biến môi trường VAULT_Token

1
1
2
3
4
5
6
7
8
9
10
11
12
5

Bạn có thể kiểm tra lại bằng cách sử dụng echo để in giá trị của biến.

Mật khẩu MySQL của Hashicorp Vault

Kích hoạt phương thức xác thực bằng lệnh

1
1
2
3
4
5
6
7
8
9
10
11
12
7

Mật khẩu MySQL của Hashicorp Vault

Tạo người dùng mới

Bây giờ phương thức xác thực đường dẫn người dùng đã được bật, chúng ta có thể tạo người dùng mới

Lệnh bên dưới loại trừ tùy chọn chính sách, điều này nhằm chứng minh rằng người dùng có thể đăng nhập nhưng sẽ không thể truy cập bất cứ thứ gì trừ khi chính sách được đính kèm

Đối với hướng dẫn, thông tin xác thực tiêu chuẩn sẽ được sử dụng

tên tài khoản.

1
2
3
4
5
18

mật khẩu mở khóa.

1
2
3
4
5
19

1
2
3
4
5
6
7
8
9
10
11
12
8
1
2
3
4
5
6
7
8
9
10
11
12
9

Mật khẩu MySQL của Hashicorp Vault

Để kiểm tra xem người dùng đã được tạo chưa, bạn có thể sử dụng lệnh

1
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
1

Nó sẽ in ra một danh sách người dùng như vậy.

Mật khẩu MySQL của Hashicorp Vault

Kiểm tra người dùng mới

Bây giờ chúng tôi sẽ đăng nhập với tư cách là người dùng và cố gắng xoay thông tin đăng nhập. Bởi vì chính sách chưa được đính kèm, nó sẽ không được phép đọc

1
2
3
4
5
10 được tạo ở các bước trước đó

Tôi đã đăng nhập vào một phiên mới, nhưng điều này cũng có thể được thực hiện từ cùng một thiết bị đầu cuối. Nếu là phiên mới, hãy tạo lại biến môi trường VAULT_ADDR

1
export VAULT_ADDR='http://127.0.0.1:8200'

Lệnh đăng nhập là

1
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
5

Đăng nhập thành công sẽ in thông tin về người dùng và các chính sách liên quan

Mật khẩu MySQL của Hashicorp Vault

Không cần đặt biến

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
01 với mã thông báo mới. Nó sẽ thiết lập thủ công. Tuy nhiên, nếu bạn gặp phải lỗi hiển thị bên dưới, hãy sử dụng lệnh sau

Mật khẩu MySQL của Hashicorp Vault

Là người dùng mới, hãy yêu cầu đọc mysql-role. Về cơ bản, điều này yêu cầu có thông tin xác thực tạm thời đối với cơ sở dữ liệu được tạo

1
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
7

Điều này sẽ dẫn đến lỗi quyền bị từ chối.

Mật khẩu MySQL của Hashicorp Vault

Các bước tiếp theo sẽ chỉ ra cách thực hiện điều này một cách chính xác, bằng cách tạo chính sách, sau đó tạo người dùng mới (và bao gồm cả chính sách)

Tạo chính sách

Tài liệu tiêu chuẩn cho các chính sách ở đây

Chính sách đơn giản mà chúng tôi sẽ tạo là cho phép người dùng mới

1
2
3
4
5
18 đọc
1
2
3
4
5
10 đã được tạo khi định cấu hình Vault

Tạo một tệp có tên

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
04 và lưu cấu hình JSON sau vào đó

Xin lưu ý

  • đường dẫn đến phần thông tin xác thực của công cụ cơ sở dữ liệu, trỏ đến
    1
    2
    3
    4
    5
    
    10. Điều này khác với con đường tạo ra một vai trò, đó là.
    curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
    
    sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
    
    sudo apt-get update && sudo apt-get install vault
    
    06
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
8
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
9

Kết quả cuối cùng trông giống như.

Mật khẩu MySQL của Hashicorp Vault

Thao tác này đã tạo tệp chính sách có tên là

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
04, tệp này sẽ được ghi vào Vault, còn được gọi là tạo chính sách. Lệnh để làm điều này là

1
1
1

Nếu thành công, nó sẽ hiển thị rằng nó đã tải lên chính sách.

Mật khẩu MySQL của Hashicorp Vault

Tạo người dùng với chính sách

Trong các bước trước,

1
2
3
4
5
18 đã được tạo mà không có chính sách được chỉ định, vì vậy người dùng không thể đọc thông tin đăng nhập của
1
2
3
4
5
10

Bây giờ chính sách đã được tạo, khi người dùng được tạo, lệnh cũng sẽ gán chính sách

Tôi đã đọc một số tài liệu và 'google' nhưng tôi không thể tìm thấy thông tin cho phép đính kèm một chính sách cho người dùng sau khi nó được tạo. Đây có thể là một hạn chế của phương pháp

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
10

Tạo người dùng chính xác với

1
1
3

Đăng nhập lại với tư cách người dùng

Bây giờ người dùng đã được tạo, cấu hình của chính sách và tệp đính kèm cho người dùng có thể được kiểm tra

Thực hiện theo các bước trên để đăng nhập. Để đơn giản, lệnh đăng nhập ở bên dưới

1
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
5

Một lần nữa, nếu bạn cần hủy đặt mã thông báo, hãy sử dụng lệnh

Sau khi đăng nhập, các chính sách được liệt kê phải là

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
11 và
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
12

Để xác nhận điều này, lệnh bên dưới sẽ liệt kê các chính sách liên quan đến mã thông báo đang được sử dụng, cũng như thông tin liên quan đến người dùng

Mật khẩu MySQL của Hashicorp Vault

Bây giờ người dùng có thể đọc thông tin đăng nhập của

1
2
3
4
5
10

Cố gắng đọc thông tin đăng nhập của

1
2
3
4
5
10 hoặc truy xuất thông tin đăng nhập bằng

1
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
7

Nếu thành công, bạn sẽ được cung cấp tên người dùng và mật khẩu cho cơ sở dữ liệu kéo dài 1 giờ

Mật khẩu MySQL của Hashicorp Vault

Đăng nhập vào cơ sở dữ liệu

Điều cuối cùng cần làm bây giờ là kiểm tra xem thông tin đăng nhập do Vault tạo có cho phép người dùng đăng nhập vào cơ sở dữ liệu không

Sử dụng cùng một lệnh đăng nhập với máy khách mysql, nhưng với tên người dùng và mật khẩu mới. Đối với thông tin đăng nhập được tạo trong hình trên, lệnh là

1
1
9

Điều này sẽ đăng nhập vào cơ sở dữ liệu.

Mật khẩu MySQL của Hashicorp Vault

Để xác nhận người dùng có quyền gì, hãy sử dụng lệnh

Người dùng này chỉ có thể CHỌN mọi thứ. Điều đó có nghĩa là họ chỉ có thể đọc 'mọi thứ' (ký tự đại diện) trên bất kỳ thứ gì trong cơ sở dữ liệu. Một ví dụ là người dùng không thể tạo cơ sở dữ liệu

Mật khẩu MySQL của Hashicorp Vault

Xin chúc mừng. Bạn đã định cấu hình thành công Vault để tạo thông tin đăng nhập ngắn hạn cho người dùng cơ sở dữ liệu. Người dùng cũng chỉ có quyền

1
4, phù hợp với vai trò
1
2
3
4
5
10 đã được tạo

Người dùng ở trên đã được tạo chỉ có quyền truy cập đọc. Có thể tạo người dùng có nhiều quyền hơn

Điều tuyệt vời trong Vault là kết nối cơ sở dữ liệu

1
7 có thể có nhiều hơn một vai trò được phép. Kế hoạch là tạo một người dùng mới với tất cả các quyền đối với một cơ sở dữ liệu cụ thể

Để làm được điều này, các bước sẽ là

  • Tạo cơ sở dữ liệu trong cơ sở dữ liệu MySQL
  • Tạo lại cấu hình kết nối
    1
    
    7 nhưng cho phép vai trò thứ hai
  • Tạo vai trò cơ sở dữ liệu mysql thứ hai cho phép tất cả các quyền đối với cơ sở dữ liệu được tạo ở trên
  • Tạo người dùng mới, tạo chính sách thứ hai và áp dụng chính sách đó cho người dùng mới

Tạo cơ sở dữ liệu

Để người dùng chỉ có tất cả các quyền đối với một cơ sở dữ liệu, cần phải tạo một cơ sở dữ liệu trong cơ sở dữ liệu AWS MySQL

Đăng nhập vào Cơ sở dữ liệu Mysql với tên

export VAULT_ADDR='http://127.0.0.1:8200'
9. Mật khẩu là
1
0

Tạo một cơ sở dữ liệu có tên là

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21

Mật khẩu MySQL của Hashicorp Vault

Tạo bảng

Một bảng nên được tạo trong cơ sở dữ liệu

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21 để người dùng có thể chèn dữ liệu

Chọn

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21 với

Tạo một bảng có tên là

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
24

1
2
3
4
5
 vault server -config=config.hcl
1

Thêm 1 ‘ô tô’

1
 vault server -config=config.hcl
3

Bảng sẽ trông như thế này

Mật khẩu MySQL của Hashicorp Vault

Tạo cấu hình cơ sở dữ liệu

Cấu hình cơ sở dữ liệu

1
7 sẽ được tạo lại để cho phép vai trò thứ hai có tên là
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
26

Lệnh có vai trò bổ sung là

1
2
3
4
5
 vault server -config=config.hcl
5

Tạo vai trò thứ hai

Vai trò

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
26 cần được tạo, vai trò này sẽ cho phép người dùng có tất cả các quyền đối với cơ sở dữ liệu demo_db

Lệnh để làm điều này là

1
 vault server -config=config.hcl
7

Điểm khác biệt chính trong câu lệnh tạo là cấp đặc quyền, để cho phép Vault tạo người dùng có tất cả đặc quyền trên cơ sở dữ liệu

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21

1
 vault server -config=config.hcl
9

Cấu hình cơ sở dữ liệu

1
7 và
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
26 sẽ giống như.
Mật khẩu MySQL của Hashicorp Vault

Kiểm tra ô tô-db-vai trò hoạt động

Nên kiểm tra cấu hình cho vai trò thứ hai là chính xác. Với tư cách là người dùng root trong Vault, hãy truy xuất thông tin đăng nhập bằng

Để lấy thông tin đăng nhập, hãy sử dụng lại lệnh đọc

1
1
1

Đăng nhập vào cơ sở dữ liệu với ứng dụng khách mysql và liệt kê các khoản trợ cấp với.

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
31Điều này sẽ cho thấy rằng người dùng có quyền trên cơ sở dữ liệu
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21

Mật khẩu MySQL của Hashicorp Vault

Xin chúc mừng. Bạn đã tạo hai vai trò mysql tạo thông tin xác thực ngắn hạn có các quyền khác nhau

Điều này thật tuyệt khi có nhiều người dùng và các quyền riêng biệt dựa trên vai trò công việc của họ

Tạo chính sách thứ hai

Như trên khi tạo user thì bước đầu tiên là tạo policy. Điều này sẽ cho phép chính sách được áp dụng trong quá trình tạo người dùng

Chỉ cần sử dụng các lệnh từ phần tạo chính sách và sử dụng đường dẫn

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
33, chúng ta có thể tạo một tệp có tên là
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
34 và sau đó tạo chính sách có tên là
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
35

Tệp chính sách sẽ được

storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
8
1
3

Để tạo một chính sách trong Vault từ tệp chính sách

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
36 là

1
1
5

Những lệnh đó sẽ giống như.

Mật khẩu MySQL của Hashicorp Vault

Tạo người dùng thứ hai

Vì ý tưởng là có hai người dùng với các quyền khác nhau, nên tạo người dùng thứ hai

1
2
3
4
5
18 với chính sách
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
35 được áp dụng. Lệnh là

1
1
7

Đăng nhập với tư cách người dùng mới

Người dùng đã được tạo và áp dụng chính sách

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
35. Các bước để kiểm tra điều này với tư cách là người dùng mới là đăng nhập và đọc thông tin đăng nhập

Lệnh đăng nhập dưới dạng

1
2
3
4
5
18 là

1
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
5

Đăng nhập thành công, một lần nữa sẽ giống như.

Mật khẩu MySQL của Hashicorp Vault

Đọc ô tô-db-vai trò

Để kiểm tra thông tin đăng nhập, lệnh đọc tương tự sẽ được sử dụng nhưng đối với vai trò mới

1
1
1

Người dùng hiện có thể đọc thông tin đăng nhập

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
26.
Mật khẩu MySQL của Hashicorp Vault

Xin chúc mừng, bạn đã tạo thành công thông tin đăng nhập cho phép tất cả các quyền trên cơ sở dữ liệu

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21 với cơ sở dữ liệu MySQL

Kiểm tra thông tin đăng nhập

Bước cuối cùng sau tất cả các cấu hình là xác nhận thông tin đăng nhập đã tạo và cho phép người dùng truy cập cơ sở dữ liệu

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21

1
export VAULT_ADDR='http://127.0.0.1:8200'
3

Để chọn

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

sudo apt-get update && sudo apt-get install vault
21 và 'sử dụng' nó

Nó sẽ hoạt động và trông giống như.

Mật khẩu MySQL của Hashicorp Vault

Người dùng này hiện có thể liệt kê các bảng, chèn một giá trị và chọn mọi thứ từ bảng đó

Các lệnh mysql cho việc này là

1
2
3
4
5
export VAULT_ADDR='http://127.0.0.1:8200'
5

Mật khẩu MySQL của Hashicorp Vault

Xin chúc mừng, nếu bạn đã hoàn thành phần hướng dẫn này, thì bạn nên có 2 vai trò, 2 người dùng trong Vault có thể tạo 2 thông tin xác thực ngắn hạn khác nhau với các quyền khác nhau đối với cùng một cơ sở dữ liệu RDS MySQL

Lệnh cuối cùng

Để liệt kê tất cả người dùng đã được tạo, hãy sử dụng lệnh sau

Xin lưu ý, điều này sẽ cần được thực thi với tư cách là người dùng root vì không người dùng mới nào được cấp quyền đọc đường dẫn

1
storage "raft" {
  path    = "./vault/data"
  node_id = "node1"
}

listener "tcp" {
  address     = "127.0.0.1:8200"
  tls_disable = "true"
}

api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
1

2021

TL; DR Sử dụng các bí mật tồn tại trong thời gian ngắn để truy cập cơ sở dữ liệu an toàn hơn nhiều so với thông tin xác thực tiêu chuẩn

Gần đây, tôi đã nhận được Chứng chỉ liên kết kiến ​​trúc sư giải pháp AWS của mình và tôi đã vô tình tìm hiểu thêm về Ops và DevOps liên quan đến tự động hóa, triển khai một

Bài đăng này sẽ bao gồm những điều sau đây. Kết nối với Splunk bằng Python SDK, thực hiện tìm kiếm và nhận kết quả Kết nối với Splunk mà không cần

Quay lại Đầu trang ↑

2020

TL; DR. Tạo Logstash conf. d để cho phép nhập Winlogbeat vào Logstash. Thay đổi tệp cấu hình Winlogbeat để sử dụng Logstash thay vì Elaticsearch

TL; DR Enable-PSRemoting Invoke-Command

Tôi đang làm việc trên Windows và cần kết nối với Giao diện mạng (NIC). Tôi gặp vấn đề, đây là những gì tôi đã học được và hy vọng nó sẽ cứu được tro

Tôi đã sử dụng tcpdump gần đây và muốn ghi lại một số lệnh Bạn biết, để tham khảo trong tương lai

Hôm nay tôi gặp sự cố khi chụp máy tại nơi làm việc. Tôi không có quyền truy cập qua RDP hoặc VNC, vì vậy tôi đã sử dụng SSH để chuyển tiếp lưu lượng truy cập của mình tới máy chủ để tôi có thể truy cập URL

Tôi đã tham gia một hội thảo kiểu DevSecOps vào Thứ Bảy (ngày 9 tháng 5), trong đó chúng tôi đã tạo một số Tác vụ GitHub. Đây là một bài viết để củng cố việc học và trở thành một c

Bài đăng này là một bảng gian lận để xóa các giá trị khỏi Slice (về mặt kỹ thuật tạo một lát mới)

Vào ngày 25 tháng 4, tôi đã may mắn được tham gia hội thảo Trend Micro Threat Defense

Vì tôi đã viết blog về trải nghiệm của mình tại OpenSoc, nên tôi muốn mở rộng giá trị mà tôi đã tìm thấy trong khóa học Ứng phó sự cố eLearnSecurity của mình. Những gì bạn sẽ tìm thấy bel

Vì vậy, thứ Năm (ngày 9 tháng 4) tôi đã tham gia một sự kiện mô phỏng phòng thủ đội xanh trực tuyến, được gọi là OpenSOC

Tôi đã làm việc với chuỗi Golang và cách thao tác với chúng. Làm việc từ các bài đăng trên blog khác mà tôi đã tìm thấy. Khi tôi ngồi viết mã, tôi dường như quên bao giờ

Bạn sẽ tìm thấy bài đăng này trong thư mục _posts của mình. Hãy tiếp tục và chỉnh sửa nó và xây dựng lại trang web để xem các thay đổi của bạn. Bạn có thể xây dựng lại trang web trong nhiều wa khác nhau