15%

Hemat 15% untuk Semua Layanan Hosting

Uji kemampuan Anda dan dapatkan Diskon untuk paket hosting apa pun

Gunakan kode:

Skills
Memulai
04.10.2024

Tentang Kata Sandi Default untuk PostgreSQL

Saat menginstal PostgreSQL, salah satu hal pertama yang sering dipertanyakan oleh pengguna baru adalah: “Apa kata sandi default untuk PostgreSQL?” Jawabannya sedikit lebih kompleks dari yang diharapkan, karena secara default, PostgreSQL **tidak** menetapkan kata sandi yang telah ditentukan sebelumnya untuk pengguna default. Sebagai gantinya, ia bergantung pada metode otentikasi lokal seperti otentikasi “peer” atau “ident”, tergantung pada sistem dan konfigurasi Anda.

Pengguna administratif default yang dibuat selama instalasi biasanya disebut `postgres`. Namun, pengguna ini tidak memiliki kata sandi yang ditetapkan secara default, dan akses login biasanya dibatasi hanya untuk mesin lokal. Untuk berinteraksi dengan basis data sebagai pengguna `postgres`, Anda umumnya perlu beralih ke akun pengguna sistem `postgres` menggunakan perintah seperti `sudo -i -u postgres`, dan kemudian mengakses shell PostgreSQL melalui `psql`.

Untuk memungkinkan 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 memodifikasi file `pg_hba.conf` untuk mengizinkan otentikasi kata sandi. Ini adalah langkah-langkah penting saat mengonfigurasi PostgreSQL untuk lingkungan produksi.

Memahami cara kerja otentikasi di PostgreSQL sangat penting untuk fungsi dan keamanan. Selalu ikuti praktik terbaik dengan menetapkan kata sandi yang kuat, membatasi akses dengan aturan firewall, dan secara teratur meninjau pengaturan otentikasi untuk melindungi basis data 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 basis data (postgres) selama instalasi. Sebagai gantinya, ia mengikuti pendekatan yang aman, mengharuskan pengguna untuk membuat dan mengelola kata sandi secara eksplisit. Berikut cara kerja pengaturan awal dan bagaimana Anda dapat mengakses basis data:

  1. Superuser Awal: Setelah menginstal PostgreSQL, sistem membuat akun superuser default yang disebut postgres. Akun ini memiliki kontrol penuh atas basis data.
  2. Tidak Ada Kata Sandi yang Ditentukan Sebelumnya: Secara default, PostgreSQL tidak memiliki kata sandi yang ditetapkan untuk pengguna postgres. Tergantung pada sistem operasi Anda, Anda mungkin dapat masuk ke PostgreSQL tanpa kata sandi jika Anda menggunakan akun OS yang sama yang digunakan untuk menginstal PostgreSQL (biasanya postgres atau root).

Akses PostgreSQL untuk Pertama Kali

Untuk mengakses basis data PostgreSQL setelah instalasi, ikuti langkah-langkah ini:

  • Linux: Di banyak sistem Linux, Anda dapat beralih ke pengguna postgres melalui baris perintah dan mengakses PostgreSQL tanpa perlu kata sandi:
    sudo -i -u postgres
    psql

    Setelah berada di prompt PostgreSQL, Anda dapat membuat kata sandi untuk pengguna postgres:

    SQL
    ALTER USER postgres PASSWORD 'yourpassword';
  • Windows: Untuk Windows, proses instalasi biasanya meminta kata sandi untuk pengguna postgres selama proses pengaturan. Jika Anda lupa atau melewatkan pengaturan kata sandi, Anda dapat meresetnya dengan 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.

Misalnya, jika Anda menggunakan otentikasi kata sandi dan perlu mengatur kata sandi untuk pengguna postgres, pastikan file pg_hba.conf memiliki baris berikut untuk menegakkan login kata sandi untuk koneksi lokal:

local all postgres md5

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

Mereset Kata Sandi postgres

Jika Anda lupa kata sandi postgres, Anda dapat meresetnya dengan mengikuti langkah-langkah ini:

  1. Modifikasi pg_hba.conf untuk mengizinkan otentikasi trust: Di file pg_hba.conf Anda, sementara waktu ubah metode untuk pengguna postgres menjadi trust untuk koneksi lokal. Ini memungkinkan Anda untuk masuk tanpa kata sandi:
    local all postgres trust
  2. Restart PostgreSQL: Setelah mengedit file, restart layanan PostgreSQL:
    sudo service postgresql restart
  3. Ubah Kata Sandi: Sekarang, Anda dapat mengakses PostgreSQL tanpa kata sandi dan mengubah kata sandi postgres:
    psql -U postgres
    ALTER USER postgres PASSWORD 'newpassword';
  4. Kembalikan Perubahan pg_hba.conf: Setelah kata sandi diatur, kembalikan perubahan di file pg_hba.conf untuk menegakkan kembali otentikasi kata sandi.

Praktik Terbaik untuk Mengelola Kata Sandi PostgreSQL

  • Kata Sandi Kuat: Selalu buat kata sandi yang kuat untuk pengguna postgres untuk mengamankan basis data 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 Anda menggunakan metode otentikasi yang aman (seperti scram-sha-256).
  • Rotasi Kata Sandi Secara Berkala: Rotasi kata sandi secara berkala, terutama untuk akun superuser.

Kesimpulan

PostgreSQL tidak memiliki kata sandi default yang telah ditentukan sebelumnya demi alasan keamanan. Setelah instalasi, Anda perlu menetapkan kata sandi untuk pengguna postgres secara manual. Memahami sistem otentikasi PostgreSQL dan praktik terbaik untuk manajemen kata sandi akan membantu Anda mengamankan basis data Anda dari akses yang tidak sah.

15%

Hemat 15% untuk Semua Layanan Hosting

Uji kemampuan Anda dan dapatkan Diskon untuk paket hosting apa pun

Gunakan kode:

Skills
Memulai