View a markdown version of this page

Memperbarui aplikasi untuk terhubung ke instans Microsoft SQL Server DB menggunakan sertifikat baru SSL/TLS - Amazon Relational Database Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memperbarui aplikasi untuk terhubung ke instans Microsoft SQL Server DB menggunakan sertifikat baru SSL/TLS

Sejak 13 Januari 2023, Amazon RDS telah menerbitkan sertifikat Otoritas Sertifikat (CA) baru untuk terhubung ke instans DB RDS menggunakan Lapisan Soket Aman atau Keamanan Lapisan Pengangkutan (SSL/TLS). Setelah itu, Anda dapat menemukan informasi tentang pembaruan aplikasi untuk menggunakan sertifikat baru.

Topik ini dapat membantu Anda menentukan apakah ada aplikasi klien yang digunakan SSL/TLS untuk terhubung ke instans DB Anda. Jika demikian, Anda dapat memeriksa lebih lanjut apakah aplikasi tersebut memerlukan verifikasi sertifikat untuk terhubung.

catatan

Beberapa aplikasi dikonfigurasi untuk terhubung ke instans DB SQL Server hanya jika aplikasi tersebut berhasil memverifikasi sertifikat di server.

Untuk aplikasi tersebut, Anda harus memperbarui penyimpanan kepercayaan aplikasi klien untuk menyertakan sertifikat CA baru.

Setelah Anda memperbarui sertifikat CA di penyimpanan kepercayaan aplikasi klien, Anda dapat merotasi sertifikat di instans DB Anda. Sebaiknya Anda menguji prosedur ini di lingkungan pengembangan dan pementasan sebelum menerapkannya di lingkungan produksi Anda.

Untuk informasi selengkapnya tentang rotasi sertifikat, lihat Memutar sertifikat Anda SSL/TLS. Untuk informasi selengkapnya tentang mengunduh sertifikat, lihat . Untuk informasi tentang menggunakan SSL/TLS instans Microsoft SQL Server DB, lihat. Menggunakan SSL dengan instans DB Microsoft SQL Server

Menentukan apakah ada aplikasi yang terhubung ke instans DB Microsoft SQL Server Anda menggunakan SSL

Periksa konfigurasi instans DB untuk nilai parameter rds.force_ssl. Secara default, parameter rds.force_ssl diatur ke 0 (nonaktif). Jika rds.force_ssl parameter diatur ke 1 (on), klien diharuskan untuk menggunakan SSL/TLS untuk koneksi. Lihat informasi lebih lanjut tentang grup parameter di Grup parameter untuk RDS.

Jalankan kueri berikut untuk mendapatkan opsi enkripsi saat ini untuk semua koneksi terbuka ke instans DB. Kolom ENCRYPT_OPTION pengembalian TRUE jika koneksi dienkripsi.

select SESSION_ID, ENCRYPT_OPTION, NET_TRANSPORT, AUTH_SCHEME from SYS.DM_EXEC_CONNECTIONS

Kueri ini hanya menunjukkan koneksi saat ini. Itu tidak menunjukkan apakah aplikasi yang telah terhubung dan terputus di masa lalu telah menggunakan SSL.

Menentukan apakah klien memerlukan verifikasi sertifikat agar dapat terhubung

Anda dapat memeriksa apakah jenis klien yang berbeda memerlukan verifikasi sertifikat untuk terhubung.

catatan

Jika Anda menggunakan konektor selain yang tercantum di atas, lihat dokumentasi konektor spesifik untuk informasi tentang cara menerapkan koneksi terenkripsi. Untuk informasi selengkapnya, lihat Connection modules for Microsoft SQL databases di dokumentasi Microsoft SQL Server.

SQL Server Management Studio

Periksa apakah enkripsi diberlakukan untuk koneksi SQL Server Management Studio:

  1. Luncurkan SQL Server Management Studio.

  2. Untuk Terhubung ke server, masukkan informasi server, nama pengguna login, dan kata sandi.

  3. Pilih Opsi.

  4. Centang jika Enkripsikan koneksi dipilih di halaman koneksi.

Untuk informasi selengkapnya tentang SQL Server Management Studio, lihat Menggunakan SQL Server Management Studio.

Sqlcmd

Contoh berikut dengan klien sqlcmd menunjukkan cara memeriksa koneksi SQL Server skrip untuk menentukan apakah koneksi yang berhasil memerlukan sertifikat yang valid. Untuk informasi selengkapnya, lihat Connecting with sqlcmd di dokumentasi Microsoft SQL Server.

Saat menggunakan sqlcmd, koneksi SSL memerlukan verifikasi terhadap sertifikat server jika Anda menggunakan perintah -N untuk mengenkripsi koneksi, seperti pada contoh berikut.

$ sqlcmd -N -S dbinstance.rds.amazon.com -d ExampleDB
catatan

Jika sqlcmd dipanggil dengan opsi -C, itu menyetujui sertifikat server, meskipun tidak sesuai dengan penyimpanan kepercayaan klien.

ADO.NET

Dalam contoh berikut, aplikasi terhubung menggunakan SSL, dan sertifikat server harus diverifikasi.

using SQLC = Microsoft.Data.SqlClient; ... static public void Main() { using (var connection = new SQLC.SqlConnection( "Server=tcp:dbinstance.rds.amazon.com;" + "Database=ExampleDB;User ID=LOGIN_NAME;" + "Password=YOUR_PASSWORD;" + "Encrypt=True;TrustServerCertificate=False;" )) { connection.Open(); ... }

Java

Dalam contoh berikut, aplikasi terhubung menggunakan SSL, dan sertifikat server harus diverifikasi.

String connectionUrl = "jdbc:sqlserver://dbinstance.rds.amazon.com;" + "databaseName=ExampleDB;integratedSecurity=true;" + "encrypt=true;trustServerCertificate=false";

Untuk mengaktifkan enkripsi SSL bagi klien yang terhubung menggunakan JDBC, Anda mungkin perlu menambahkan sertifikat Amazon RDS ke penyimpanan sertifikat Java CA. Untuk petunjuk, lihat Configuring the client for encryption di dokumentasi Microsoft SQL Server. Anda juga dapat memberikan nama file sertifikat CA tepercaya secara langsung melalui aplikasi trustStore=path-to-certificate-trust-store-file dengan string koneksi.

catatan

Jika Anda menggunakan TrustServerCertificate=true (atau yang setara) dalam string koneksi, proses koneksi melewati validasi rantai persetujuan. Dalam hal ini, aplikasi akan terkoneksi meskipun sertifikat tidak dapat diverifikasi. Menggunakan TrustServerCertificate=false memberlakukan validasi sertifikat dan merupakan praktik terbaik.

Memperbarui penyimpanan kepercayaan aplikasi Anda

Anda dapat memperbarui toko kepercayaan untuk aplikasi yang menggunakan Microsoft SQL Server. Untuk instruksi, lihat Mengenkripsi koneksi spesifik. Lihat juga Configuring the client for encryption di dokumentasi Microsoft SQL Server.

Jika Anda menggunakan sistem operasi selain Microsoft Windows, lihat dokumentasi distribusi perangkat lunak untuk SSL/TLS implementasi untuk informasi tentang menambahkan sertifikat CA root baru. Misalnya, OpenSSL dan GnuTLS merupakan pilihan populer. Gunakan metode implementasi untuk menambahkan kepercayaan pada sertifikat root CA RDS. Microsoft menyediakan petunjuk untuk mengonfigurasi sertifikat pada beberapa sistem.

Untuk informasi tentang cara mengunduh sertifikat root, lihat .

Untuk contoh skrip yang mengimpor sertifikat, lihat Contoh skrip untuk mengimpor sertifikat ke trust store Anda.

catatan

Saat memperbarui penyimpanan kepercayaan, Anda dapat mempertahankan sertifikat lama selain menambahkan sertifikat baru.