15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
04.10.2024

Memahami Kata Sandi Default dan Otentikasi PostgreSQL

Saat menginstal PostgreSQL, pertanyaan umum adalah: “Apa kata sandi default untuk PostgreSQL?” Jawaban langsungnya adalah bahwa PostgreSQL tidak menetapkan kata sandi default untuk superuser-nya. Sebaliknya, ia menggunakan metode otentikasi lokal, seperti “peer” atau “ident,” yang bergantung pada konfigurasi sistem Anda. Pengguna administratif default yang dibuat biasanya diberi nama `postgres`, tetapi pengguna ini tidak memiliki kata sandi yang ditetapkan secara default. Akses umumnya dibatasi ke mesin lokal, mengharuskan Anda beralih ke akun pengguna sistem `postgres` menggunakan perintah seperti `sudo -i -u postgres` dan kemudian mengakses shell PostgreSQL melalui `psql`.

Untuk mengaktifkan akses jarak jauh atau login berbasis kata sandi, Anda harus secara eksplisit menetapkan kata sandi untuk pengguna `postgres` menggunakan perintah SQL (misalnya, `ALTER USER postgres WITH PASSWORD 'yourpassword';`) dan mengonfigurasi file `pg_hba.conf` untuk mengizinkan otentikasi kata sandi. Langkah-langkah ini sangat penting saat menyiapkan PostgreSQL untuk lingkungan produksi. Memahami otentikasi PostgreSQL dengan benar sangat penting untuk menjaga fungsionalitas dan keamanan. Terapkan praktik terbaik dengan menetapkan kata sandi yang kuat, membatasi akses dengan aturan firewall, dan secara teratur meninjau pengaturan otentikasi untuk melindungi database Anda dari akses yang tidak sah.

Tidak Ada Kata Sandi Default di PostgreSQL

Tidak seperti beberapa sistem basis data, PostgreSQL tidak menetapkan kata sandi default untuk akun superuser (`postgres`) selama instalasi. Pendekatan yang aman ini mengharuskan pengguna untuk membuat dan mengelola kata sandi secara eksplisit. Berikut panduan rinci tentang pengaturan awal dan mengakses database:

Pengaturan Awal Superuser

  • Akun Superuser: Setelah menginstal PostgreSQL, akun superuser default bernama `postgres` dibuat. Akun ini memiliki kontrol penuh atas database.
  • Tidak Ada Kata Sandi yang Ditentukan Sebelumnya: PostgreSQL tidak menetapkan kata sandi untuk pengguna `postgres` secara default. Tergantung pada sistem operasi Anda, Anda mungkin dapat mengakses PostgreSQL tanpa kata sandi jika Anda menggunakan akun OS yang sama yang digunakan selama instalasi (biasanya `postgres` atau `root`).

Mengakses PostgreSQL untuk Pertama Kalinya

#### Linux

Pada banyak sistem Linux, Anda dapat beralih ke pengguna `postgres` dan mengakses PostgreSQL tanpa kata sandi:

“`bash

sudo -i -u postgres

psql

“`

Setelah berada di prompt PostgreSQL, tetapkan kata sandi untuk pengguna `postgres`:

“`sql

ALTER USER postgres PASSWORD 'yourpassword';

“`

#### Windows

Untuk Windows, proses instalasi biasanya meminta Anda untuk menetapkan kata sandi untuk pengguna `postgres`. Jika Anda lupa atau melewatkan pengaturan kata sandi, Anda dapat mengatur ulang menggunakan akun administratif.

Mengonfigurasi Otentikasi Kata Sandi

Otentikasi PostgreSQL dikelola oleh file `pg_hba.conf`. File ini mendefinisikan bagaimana pengguna melakukan otentikasi, termasuk apakah mereka perlu menggunakan kata sandi atau jika metode lain (seperti otentikasi peer) diizinkan. Untuk memaksa login kata sandi untuk koneksi lokal, pastikan file `pg_hba.conf` berisi baris berikut:

“`plaintext

local all postgres md5

“`

Pengaturan ini mengharuskan pengguna `postgres` untuk memberikan kata sandi yang di-hash MD5 saat terhubung.

Mengatur Ulang Kata Sandi `postgres`

Jika Anda lupa kata sandi `postgres`, atur ulang sebagai berikut:

  1. Ubah `pg_hba.conf` untuk Mengizinkan Otentikasi Trust: Ubah sementara metode untuk pengguna `postgres` menjadi `trust` untuk koneksi lokal:

“`plaintext

local all postgres trust

“`

  1. Restart PostgreSQL: Setelah mengedit file, restart layanan PostgreSQL:

“`bash

sudo service postgresql restart

“`

  1. Ubah Kata Sandi: Akses PostgreSQL tanpa kata sandi dan ubah kata sandi `postgres`:

“`sql

psql -U postgres

ALTER USER postgres PASSWORD 'newpassword';

“`

  1. Kembalikan Perubahan `pg_hba.conf`: Kembalikan perubahan dalam file `pg_hba.conf` untuk memaksa otentikasi kata sandi lagi.

Praktik Terbaik untuk Mengelola Kata Sandi PostgreSQL

  • Kata Sandi yang Kuat: Selalu buat kata sandi yang kuat untuk pengguna `postgres` untuk mengamankan database Anda.
  • Manajemen Peran: Alih-alih menggunakan superuser `postgres` untuk operasi sehari-hari, buat peran baru dengan hak istimewa terbatas. Ini meminimalkan risiko jika kredensial dikompromikan.
  • Perbarui Metode Otentikasi: Secara teratur tinjau dan perbarui file `pg_hba.conf` Anda untuk memastikan metode otentikasi yang aman (seperti `scram-sha-256`) digunakan.
  • Rotasi Kata Sandi Secara Berkala: Rotasi kata sandi secara berkala, terutama untuk akun superuser.

Poin Penting

  • PostgreSQL tidak menetapkan kata sandi default untuk akun superuser-nya, menekankan keamanan.
  • Memahami dan mengonfigurasi sistem otentikasi PostgreSQL sangat penting untuk keamanan database.
  • Ikuti praktik terbaik dalam manajemen kata sandi dan penugasan peran untuk meminimalkan risiko keamanan.

FAQ

1. Bagaimana cara menetapkan kata sandi untuk pengguna `postgres` setelah instalasi?

Akses shell PostgreSQL menggunakan pengguna sistem `postgres` dan jalankan perintah SQL: `ALTER USER postgres PASSWORD 'yourpassword';`.

2. Apa tujuan dari file `pg_hba.conf`?

File `pg_hba.conf` mengelola metode otentikasi untuk pengguna PostgreSQL, mendefinisikan bagaimana mereka melakukan otentikasi dan apakah kata sandi diperlukan.

3. Bagaimana cara mengatur ulang kata sandi `postgres` jika lupa?

Ubah sementara file `pg_hba.conf` untuk mengizinkan otentikasi `trust`, restart PostgreSQL, ubah kata sandi, dan kembalikan perubahan `pg_hba.conf`.

4. Mengapa saya harus menghindari menggunakan superuser `postgres` untuk tugas sehari-hari?

Menggunakan superuser `postgres` untuk operasi sehari-hari meningkatkan risiko keamanan. Sebagai gantinya, buat peran dengan hak istimewa terbatas untuk tugas rutin.

5. Bagaimana saya dapat meningkatkan keamanan database PostgreSQL saya?

Terapkan kata sandi yang kuat, gunakan metode otentikasi yang aman, perbarui file `pg_hba.conf` secara teratur, dan rotasi kata sandi secara berkala.

15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai