PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara Mengaktifkan SSL di PostgreSQL

PostgreSQL mendukung koneksi SSL yang memungkinkan pengguna untuk terhubung dengan aman ke database mereka. Pada artikel ini kita akan melihat cara mengaktifkan SSL di database PostgreSQL.


Cara Mengaktifkan SSL di PostgreSQL

Berikut adalah langkah-langkah untuk mengaktifkan koneksi SSL di PostgreSQL. Di server PostgreSQL, kita membutuhkan 3 sertifikat di direktori data untuk konfigurasi SSL. Mereka adalah:

  • root.crt (sertifikat root tepercaya)
  • server.crt (sertifikat server)
  • server.key (kunci pribadi)

Buka terminal dan jalankan perintah berikut untuk dijalankan sebagai root

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

Hasilkan kunci pribadi menggunakan openssl. Anda akan dimintai kata sandi.

$ openssl genrsa -des3 -out server.key 1024

Hapus frasa sandi

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

Bonus Baca :Blog Basis Data Teratas untuk Diikuti

Perbarui izin file dan kepemilikan file kunci pribadi.

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

Demikian pula, buat sertifikat server

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

Dalam pernyataan di atas, -x509 menunjukkan sertifikat yang ditandatangani sendiri. Anda akan dimintai detail seperti email, negara, dll. Masukkan dan selesaikan pembuatan sertifikat.

Karena kami menggunakan sertifikat yang ditandatangani sendiri, kami akan menggunakan kunci server kami sebagai sertifikat root.

$ cp server.crt root.crt

Perbarui pg_hba.conf untuk menambahkan baris berikut

# 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

Edit postgresql.conf untuk menambahkan baris berikut

ssl = on

Mulai ulang Server PostgreSQL

$ /etc/init.d/postgresql restart

Bonus Baca :Cara Meningkatkan Koneksi Maks di PostgreSQL

Aktifkan SSL di klien PostgreSQL

Kami juga membutuhkan 3 file untuk mengaktifkan SSL di klien PostgreSQL. Kami akan menyimpannya di ~/.postgresql/ direktori

  • root.crt (sertifikat root tepercaya)
  • postgresql.crt (sertifikat klien)
  • postgresql.key (kunci pribadi)

Buat postgresql.key di mesin klien dan hapus frasa sandi.

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

Bonus Baca :Tips Penyetelan Performa PostgreSQL

Selanjutnya, kita membuat postgresql.crt, dan menandatanganinya dengan menggunakan root terpercaya (file kunci pribadi dari server). Harap diperhatikan , ketika Anda diminta untuk nama umum sertifikat (CN), setel ke nama database.

$ 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

Salin tiga file yang dibuat di direktori /tmp server ke mesin klien. Salin root.crt dari direktori server /tmp ke ~/.postgresql/ klien direktori.

Semoga artikel ini membantu Anda mengaktifkan SSL di 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. Jumlah pesanan pengulangan / duplikat berturut-turut

  2. Menemukan string serupa dengan PostgreSQL dengan cepat

  3. Bagaimana cara mengekspor tabel sebagai CSV dengan judul di Postgresql?

  4. Cara mempartisi tabel postgres menggunakan tabel perantara

  5. Menambahkan 'serial' ke kolom yang ada di Postgres