PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách kích hoạt SSL trong PostgreSQL

PostgreSQL hỗ trợ kết nối SSL cho phép người dùng kết nối an toàn với cơ sở dữ liệu của họ. Trong bài viết này, chúng ta sẽ xem xét cách bật SSL trong cơ sở dữ liệu PostgreSQL.


Cách bật SSL trong PostgreSQL

Dưới đây là các bước để kích hoạt kết nối SSL trong PostgreSQL. Trên máy chủ PostgreSQL, chúng ta cần 3 chứng chỉ trong thư mục dữ liệu để cấu hình SSL. Đó là:

  • root.crt (chứng chỉ gốc đáng tin cậy)
  • server.crt (chứng chỉ máy chủ)
  • server.key (khóa riêng)

Mở terminal và chạy lệnh sau để chạy dưới dạng root

$ sudo -
$ cd /var/lib/pgsql/data

Tạo khóa cá nhân bằng openssl. Bạn sẽ được nhắc nhập cụm mật khẩu.

$ openssl genrsa -des3 -out server.key 1024

Xóa cụm mật khẩu

$ openssl rsa -in server.key -out server.key

Phần thưởng đã đọc:Các blog cơ sở dữ liệu hàng đầu để theo dõi

Cập nhật quyền đối với tệp và quyền sở hữu tệp khóa cá nhân.

$ chmod 400 server.key
$ chown postgres.postgres server.key

Tương tự, tạo chứng chỉ máy chủ

$ openssl req -new -key server.key -days 3650 -out server.crt -x509

Trong câu lệnh trên, -x509 chỉ ra một chứng chỉ tự ký. Bạn sẽ được nhắc về các chi tiết như email, quốc gia, v.v. Hãy nhập nó và hoàn tất việc tạo chứng chỉ.

Vì chúng tôi đang sử dụng chứng chỉ tự ký nên chúng tôi sẽ sử dụng khóa máy chủ của mình làm chứng chỉ gốc.

$ cp server.crt root.crt

Cập nhật pg_hba.conf để thêm các dòng sau

# IPv4 remote connections for authenticated users 
hostssl all www-data 0.0.0.0/0 md5 clientcert=1
hostssl all postgres 0.0.0.0/0 md5 clientcert=1

Chỉnh sửa postgresql.conf để thêm dòng sau

ssl = on

Khởi động lại Máy chủ PostgreSQL

$ /etc/init.d/postgresql restart

Phần thưởng đọc:Cách tăng kết nối tối đa trong PostgreSQL

Bật SSL trong ứng dụng khách PostgreSQL

Chúng tôi cũng cần 3 tệp để kích hoạt SSL trong ứng dụng khách PostgreSQL. Chúng tôi sẽ lưu trữ chúng tại ~ / .postgresql / thư mục

  • root.crt (chứng chỉ gốc đáng tin cậy)
  • postgresql.crt (chứng chỉ khách hàng)
  • postgresql.key (khóa riêng)

Tạo postgresql.key trên máy khách và xóa cụm mật khẩu.

$ openssl genrsa -des3 -out /tmp/postgresql.key 1024
$ openssl rsa -in /tmp/postgresql.key -out /tmp/postgresql.key

Phần thưởng đọc:Mẹo điều chỉnh hiệu suất PostgreSQL

Tiếp theo, chúng tôi tạo postgresql.crt và ký nó bằng cách sử dụng thư mục gốc đáng tin cậy (tệp khóa cá nhân từ máy chủ). Xin lưu ý , khi bạn được nhắc nhập tên chung của chứng chỉ (CN), hãy đặt nó thành tên cơ sở dữ liệu.

$ openssl req -new -key /tmp/postgresql.key -out /tmp/postgresql.csr
$ openssl x509 -req -in server.req -out /tmp/postgresql.csr -CA root.crt -CAkey server.key -out /tmp/postgresql.crt -CAcreateserial

Sao chép ba tệp được tạo trong thư mục / tmp của máy chủ vào máy khách. Sao chép root.crt từ thư mục server / tmp vào ~ / .postgresql / của ứng dụng khách thư mục.

Hy vọng rằng, bài viết này sẽ giúp bạn kích hoạt SSL trong PostgreSQL.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỖI:quyền bị từ chối đối với giản đồ user1_gmail_com ở ký tự 46

  2. lấy bản ghi ba tháng trước từ bảng

  3. Postgres INTERVAL sử dụng giá trị từ bảng

  4. PostgreSQL JOIN với kiểu mảng có thứ tự các phần tử mảng, cách thực hiện?

  5. Làm cách nào để định dạng trường bigint thành ngày tháng trong Postgresql?