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.