Mengonfigurasi konektivitas TLS di Azure Database for PostgreSQL - Server Tunggal

BERLAKU UNTUK: Azure Database for PostgreSQL - Server Tunggal

Penting

Azure Database for PostgreSQL - Server Tunggal berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke Azure Database for PostgreSQL - Server Fleksibel. Untuk informasi selengkapnya tentang migrasi ke Azure Database for PostgreSQL - Server Fleksibel, lihat Apa yang terjadi pada Server Tunggal Azure Database for PostgreSQL?.

Azure Database for PostgreSQL lebih mendukung penyambungan aplikasi klien Anda ke layanan PostgreSQL menggunakan Keamanan Lapisan Transportasi (TLS), yang sebelumnya dikenal sebagai Secure Sockets Layer (SSL). Menerapkan koneksi TLS antara server database dan aplikasi klien Anda membantu melindungi dari serangan "man-in-the-middle" dengan mengenkripsi aliran data antara server dan aplikasi Anda.

Secara default, layanan database PostgreSQL dikonfigurasikan untuk memerlukan koneksi TLS. Anda dapat memilih untuk menonaktifkan TLS jika aplikasi klien Anda tidak mendukung konektivitas TLS.

Penting

Sertifikat perantara SSL diatur untuk diperbarui mulai 31 Januari 2024 (31/01/2024). Sertifikat perantara adalah sertifikat subordinat yang dikeluarkan oleh akar tepercaya khususnya untuk menerbitkan sertifikat entitas akhir. Hasilnya adalah rantai sertifikat yang dimulai pada CA akar tepercaya, melalui CA perantara (atau CA) dan diakhir dengan sertifikat SSL yang dikeluarkan untuk Anda. Penyematan Sertifikat adalah teknik keamanan di mana hanya diotorisasi, atau disematkan, sertifikat diterima saat membuat sesi yang aman. Setiap upaya untuk membuat sesi aman menggunakan sertifikat yang berbeda ditolak. Tidak seperti CA akar tepercaya, yang sudah kami perbarui sepenuhnya selama tahun ini, dan di mana sertifikat dapat disematkan menggunakan verify-ca atau direktif klien string koneksi penuh verifikasi, tidak ada cara standar dan mapan untuk menyematkan OS perantara. Namun, ada kemampuan teoritis untuk membuat tumpukan konektivitas kustom yang menyematkan sertifikat perantara ke klien dalam berbagai bahasa pemrograman. Seperti yang dijelaskan di atas, dalam skenario yang tidak mungkin bahwa Anda menyematkan sertifikat perantara dengan kode kustom, Anda mungkin terpengaruh oleh perubahan ini. Untuk menentukan apakah Anda menyematkan CA, lihat Penyematan sertifikat dan layanan Azure

Memberlakukan koneksi TLS

Untuk semua server Azure Database for PostgreSQL yang diprovisikan melalui portal Microsoft Azure dan CLI, penerapan koneksi TLS diaktifkan secara default.

String koneksi yang telah ditentukan sebelumnya di halaman "String Koneksi" pada server Anda di portal Microsoft Azure mencakup parameter yang diperlukan untuk bahasa umum agar terhubung ke server database Anda menggunakan TLS. Parameter TLS bervariasi berdasarkan konektor, misalnya "ssl=true" atau "sslmode=require" atau "sslmode=required" dan variasi lainnya.

Mengonfigurasi Penerapan TLS

Anda dapat secara opsional menonaktifkan penerapan konektivitas TLS. Microsoft Azure merekomendasikan untuk selalu mengaktifkan pengaturan Terapkan koneksi SSL untuk keamanan yang ditingkatkan.

Menggunakan portal Azure

Kunjungi server Azure Database for PostgreSQL Anda dan pilih Keamanan koneksi. Gunakan tombol alih untuk mengaktifkan atau menonaktifkan pengaturan Terapkan koneksi SSL. Lalu, pilih Simpan.

Keamanan Koneksi - Nonaktifkan Terapkan TLS /SSL

Anda dapat mengonfirmasi pengaturan dengan melihat halaman Gambaran Umum untuk melihat indikator status terapkan SSL.

Menggunakan Azure CLI

Anda dapat mengaktifkan atau menonaktifkan parameter ssl-enforcement menggunakan berturut-turut, nilai Enabled atau Disabled di Azure CLI.

az postgres server update --resource-group myresourcegroup --name mydemoserver --ssl-enforcement Enabled

Menentukan status koneksi SSL

Anda juga dapat mengumpulkan semua informasi tentang Azure Database for PostgreSQL - Penggunaan SSL instans Server Tunggal berdasarkan proses, klien, dan aplikasi dengan menggunakan kueri berikut:

SELECT datname as "Database name", usename as "User name", ssl, client_addr, application_name, backend_type
   FROM pg_stat_ssl
   JOIN pg_stat_activity
   ON pg_stat_ssl.pid = pg_stat_activity.pid
   ORDER BY ssl;

Pastikan aplikasi atau kerangka kerja Anda mendukung koneksi TLS

Beberapa kerangka kerja aplikasi yang menggunakan PostgreSQL untuk layanan database mereka tidak mengaktifkan TLS secara default selama penginstalan. Jika server PostgreSQL Anda memberlakukan koneksi TLS tetapi aplikasi tidak dikonfigurasi untuk TLS, aplikasi mungkin gagal terhubung ke server database Anda. Lihat dokumentasi aplikasi Anda untuk mempelajari cara mengaktifkan koneksi TLS.

Aplikasi yang memerlukan verifikasi sertifikat untuk konektivitas TLS

Dalam beberapa kasus, aplikasi memerlukan file sertifikat lokal yang dihasilkan dari file sertifikat Otoritas Sertifikat (CA) tepercaya agar tersambung dengan aman. Sertifikat untuk menyambungkan ke server Azure Database for PostgreSQL terletak di https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem. Unduh file sertifikat dan simpan ke lokasi pilihan Anda.

Lihat tautan berikut untuk sertifikat untuk server di sovereign cloud: Azure Government, Microsoft Azure yang dioperasikan oleh 21Vianet, dan Azure Jerman.

Sambungkan menggunakan psql

Contoh berikut menunjukkan cara menyambungkan ke server PostgreSQL Anda menggunakan antarmuka baris perintah psql. Gunakan pengaturan string koneksi sslmode=verify-full untuk menerapkan verifikasi sertifikat TLS/SSL. Teruskan jalur file sertifikat lokal ke parameter sslrootcert.

Perintah berikut adalah contoh string koneksi psql:

psql "sslmode=verify-full sslrootcert=BaltimoreCyberTrustRoot.crt host=mydemoserver.postgres.database.azure.com dbname=postgres user=myusern@mydemoserver"

Tip

Konfirmasikan bahwa nilai yang diteruskan ke sslrootcert cocok dengan jalur file untuk sertifikat yang Anda simpan.

Penerapan TLS Azure Database for PostgreSQL Server Tunggal

Azure Database for PostgreSQL - Server tunggal mendukung enkripsi untuk klien yang terhubung ke server database Anda menggunakan Keamanan Lapisan Transportasi (TLS). TLS adalah protokol standar industri yang memastikan koneksi jaringan terenkripsi antara server database dan aplikasi klien, sehingga Anda dapat memenuhi persyaratan kepatuhan.

pengaturan TLS

Azure Database for PostgreSQL server tunggal menyediakan kemampuan untuk menerapkan versi TLS untuk koneksi klien. Untuk menerapkan versi TLS, gunakan pengaturan opsi versi TLS minimum. Nilai-nilai berikut ini diperbolehkan untuk pengaturan opsi ini:

Pengaturan TLS minimum Versi TLS klien yang didukung
TLSEnforcementDisabled (default) Tidak memerlukan TLS
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 dan yang lebih tinggi
TLS1_1 TLS 1.1, TLS 1.2 dan yang lebih tinggi
TLS1_2 TLS versi 1.2 dan yang lebih tinggi

Contohnya, mengatur Versi pengaturan TLS minimum ke TLS 1.0 berarti server Anda akan mengizinkan koneksi dari klien menggunakan TLS 1.0, 1.1, dan 1.2+. Atau, dengan mengaturnya ke 1.2, Anda hanya mengizinkan koneksi dari klien yang menggunakan TLS 1.2+ dan semua koneksi dengan TLS 1.0 dan TLS 1.1 akan ditolak.

Catatan

Secara default, Azure Database for PostgreSQL tidak memberlakukan versi TLS minimum (pengaturan TLSEnforcementDisabled).

Setelah menerapkan versi TLS minimum, Anda tidak dapat menonaktifkan penerapan versi minimum nanti.

Untuk mempelajari cara mengatur pengaturan TLS untuk Azure Database for PostgreSQL Anda, lihat Cara mengonfigurasi pengaturan TLS.

Dukungan Cipher oleh Azure Database for PostgreSQL Server tunggal

Sebagai bagian dari komunikasi SSL/TLS, suite cipher divalidasi dan hanya suite cipher pendukung yang diizinkan untuk berkomunikasi ke server database. Validasi rangkaian cipher dikontrol di lapisan gateway dan tidak secara eksplisit pada simpul itu sendiri. Jika rangkaian cipher tidak cocok dengan salah satu suite yang tercantum di bawah, koneksi klien yang masuk akan ditolak.

Rangkaian cipher didukung

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Langkah berikutnya

Tinjau berbagai opsi konektivitas aplikasi di Pustaka Koneksi untuk Azure Database for PostgreSQL.