Memperbarui aplikasi untuk terhubung ke instans DB Microsoft SQL Server menggunakan sertifikat SSL/TLS baru - Layanan Basis Data Relasional Amazon

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 DB Microsoft SQL Server menggunakan sertifikat SSL/TLS baru

Sejak 13 Januari 2023, Amazon RDS telah menerbitkan serifikat 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 aplikasi klien menggunakan 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 penahapan sebelum menerapkannya di lingkungan produksi Anda.

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

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 parameter rds.force_ssl diatur ke 1 (aktif), klien harus 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 Modul koneksi untuk basis data Micro SQL di dokumentasi Micro 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 Menghubungkan dengan 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 instruksi, lihat Mengonfigurasi klien untuk enkripsi di dokumentasi Micro 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 Micro SQL Server. Untuk petunjuknya, lihat Mengenkripsi koneksi spesifik. Lihat juga Mengonfigurasi klien untuk enkripsi di dokumentasi Microsoft SQL Server.

Jika Anda menggunakan sistem operasi selain Micro Windows, lihat dokumentasi distribusi perangkat lunak untuk implementasi SSL/TLS untuk informasi tentang penambahan sertifikat root CA baru. Misalnya, OpenSSL dan GnuTLS merupakan pilihan populer. Gunakan metode implementasi untuk menambahkan kepercayaan pada sertifikat root CA RDS. Micro menyediakan instruksi 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.