全部产品
Search
文档中心

ApsaraDB RDS:Konfigurasikan fitur enkripsi SSL

更新时间:Jul 06, 2025

Fitur enkripsi Secure Sockets Layer (SSL) dari ApsaraDB RDS for SQL Server digunakan untuk mengenkripsi data dalam transit. Fitur ini cocok untuk skenario yang memerlukan kepatuhan dan keamanan koneksi melalui jaringan internal atau Internet. Anda dapat menggunakan sertifikat yang disediakan oleh Alibaba Cloud atau sertifikat kustom untuk mengenkripsi data dalam transit. Fitur ini juga mendukung enkripsi SSL paksa pada koneksi ke titik akhir internal instans RDS Anda, memastikan kerahasiaan data dalam transit.

Deskripsi fitur

Fitur enkripsi SSL mengamankan data yang ditransmisikan antara instans RDS dan klien dengan mencegah penyadapan, intersepsi, atau perusakan oleh pihak ketiga.

Setelah mengaktifkan fitur enkripsi SSL, Anda dapat menentukan apakah akan menerapkan enkripsi SSL paksa pada koneksi antara instans RDS dan klien.

Saat fitur enkripsi SSL diaktifkan, sistem menghasilkan sertifikat server, kunci publik, dan kunci privat.

Selama pembuatan koneksi terenkripsi, sistem mengirimkan sertifikat server, termasuk kunci publik, ke klien. Klien kemudian mengenkripsi kunci simetris menggunakan kunci publik yang diterima. Sistem menggunakan kunci privat untuk mendekripsi kunci simetris tersebut. Dengan cara ini, instans RDS dan klien menggunakan kunci simetris untuk mengenkripsi dan mendekripsi data, memastikan kerahasiaan komunikasi. Klien juga dapat memverifikasi sertifikat server menggunakan otoritas sertifikat (CA) untuk mengonfirmasi identitas instans RDS dan mencegah serangan man-in-the-middle.

Catatan
  • Transport Layer Security (TLS) adalah penerus langsung dari SSL. Dalam topik ini, SSL merujuk pada TLS dan SSL.

  • ApsaraDB RDS for SQL Server mendukung TLS 1.0, TLS 1.1, dan TLS 1.2.

Prasyarat

Sebelum menggunakan kunci kustom untuk enkripsi, pastikan persyaratan berikut terpenuhi:

  • Object Storage Service (OSS) telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan OSS.

  • Akun layanan ApsaraDB RDS diberi otorisasi menggunakan akun Alibaba Cloud Anda untuk mengakses Bucket OSS.

  • Sertifikat kustom harus dalam format PFX dan diunggah ke Bucket OSS. Untuk informasi lebih lanjut, lihat Mulai menggunakan konsol OSS, Unggah multipart, dan Operasi umum.

Catatan penggunaan

  • Sertifikat SSL tetap valid selama satu tahun. Sebelum sertifikat SSL yang digunakan kedaluwarsa, Anda harus memperbarui masa berlaku sertifikat SSL. Jika tidak, aplikasi atau klien Anda yang menggunakan koneksi jaringan terenkripsi tidak dapat terhubung ke instans RDS Anda. Untuk informasi lebih lanjut tentang cara memperbarui masa berlaku sertifikat SSL, lihat Perbarui masa berlaku sertifikat SSL.

  • Saat mengaktifkan atau menonaktifkan fitur enkripsi SSL atau memperbarui sertifikat SSL untuk instans RDS Anda, instans RDS akan dimulai ulang. Instans RDS tidak tersedia selama beberapa menit selama restart. Oleh karena itu, kami sarankan Anda melakukan operasi ini selama jam-jam sepi.

  • Enkripsi SSL dapat menyebabkan peningkatan signifikan dalam utilisasi CPU. Kami sarankan Anda mengaktifkan fitur enkripsi SSL hanya jika Anda perlu mengenkripsi koneksi ke titik akhir publik instans RDS Anda.

Batasan

1. Aktifkan fitur enkripsi SSL untuk instans RDS Anda

  1. Masuk ke konsol ApsaraDB RDS dan buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS dan klik ID instans.

  2. Di panel navigasi di sebelah kiri, klik Data Security.

  3. Di tab SSL, nyalakan Disabled.

  4. Di kotak dialog Configure SSL, pilih metode enkripsi dan konfigurasikan pengaturannya.

    Gunakan kunci yang dihasilkan secara otomatis oleh Alibaba Cloud

    image

    Parameter

    Diperlukan

    Deskripsi

    Select Protected Endpoint:

    Ya

    Pilih titik akhir untuk mana Anda ingin mengaktifkan fitur enkripsi SSL. Anda dapat mengenkripsi koneksi yang dibuat ke titik akhir internal atau publik instans RDS berdasarkan kebutuhan bisnis Anda. Anda tidak dapat mengenkripsi kedua jenis koneksi tersebut.

    Catatan

    Jika Anda ingin mengenkripsi koneksi yang dibuat ke titik akhir publik instans RDS, pastikan bahwa Anda telah mengajukan titik akhir publik. Untuk informasi lebih lanjut, lihat Ajukan atau lepaskan titik akhir publik.

    Forceful Encryption

    Tidak

    Tentukan apakah akan mendukung enkripsi SSL paksa. Enkripsi SSL paksa hanya didukung pada koneksi yang dibuat ke titik akhir internal instans RDS. Setelah Anda menyalakan Enkripsi Paksa, Anda tidak perlu mengunggah sertifikat CA, dan koneksi non-terenkripsi tidak didukung.

    Catatan
    • Anda hanya dapat mengaktifkan fitur ini untuk instans RDS yang berada di virtual private clouds (VPC). Untuk informasi lebih lanjut, lihat Ubah tipe jaringan.

    • Enkripsi SSL paksa tidak didukung pada koneksi yang dibuat ke titik akhir publik instans RDS. Saat koneksi yang dibuat ke titik akhir internal dan publik instans RDS ada, jika Anda ingin menyalakan Enkripsi Paksa untuk koneksi yang dibuat ke titik akhir internal instans RDS, Anda harus melepaskan titik akhir publik terlebih dahulu. Untuk informasi lebih lanjut, lihat Ajukan atau lepaskan titik akhir publik.

    Earliest TLS Version Supported

    Tidak

    Pilih versi TLS minimum yang didukung. Nilai valid: 1.0, 1.1, dan 1.2.

    Sebagai contoh, jika Anda mengatur parameter ini ke 1.1, server hanya menerima koneksi melalui protokol TLS 1.1 dan TLS 1.2.

    Gunakan kunci kustom untuk enkripsi

    Catatan

    Sebelum menggunakan kunci kustom untuk enkripsi, pastikan bahwa persyaratan yang dijelaskan di Prasyarat terpenuhi.

    1. Di langkah Upload PFX format certificate to OSS, klik Next step.

    2. Di langkah Use custom key encryption, konfigurasikan parameter yang diperlukan dan klik Next step. Tabel berikut menjelaskan parameter.

      image

      Parameter

      Deskripsi

      OSS Bucket

      Pilih Bucket OSS tempat sertifikat berada.

      Certificate

      Pilih sertifikat PFX yang diperlukan.

      Password

      Masukkan kata sandi sertifikat.

    3. Di langkah Set General Options, konfigurasikan parameter berikut.

      image

      Parameter

      Diperlukan

      Deskripsi

      Select Protected Endpoint:

      Ya

      Pilih titik akhir untuk mana Anda ingin mengaktifkan fitur enkripsi SSL. Anda dapat mengenkripsi koneksi yang dibuat ke titik akhir internal atau publik instans RDS berdasarkan kebutuhan bisnis Anda. Anda tidak dapat mengenkripsi kedua jenis koneksi tersebut.

      Catatan

      Jika Anda ingin mengenkripsi koneksi yang dibuat ke titik akhir publik instans RDS, pastikan bahwa Anda telah mengajukan titik akhir publik. Untuk informasi lebih lanjut, lihat Ajukan atau lepaskan titik akhir publik.

      Forceful Encryption

      Tidak

      Tentukan apakah akan mendukung enkripsi SSL paksa. Enkripsi SSL paksa hanya didukung pada koneksi yang dibuat ke titik akhir internal instans RDS. Setelah Anda menyalakan Enkripsi Paksa, Anda tidak perlu mengunggah sertifikat CA, dan koneksi non-terenkripsi tidak didukung.

      Catatan
      • Anda hanya dapat mengaktifkan fitur ini untuk instans RDS yang berada di virtual private clouds (VPC). Untuk informasi lebih lanjut, lihat Ubah tipe jaringan.

      • Enkripsi SSL paksa tidak didukung pada koneksi yang dibuat ke titik akhir publik instans RDS. Saat koneksi yang dibuat ke titik akhir internal dan publik instans RDS ada, jika Anda ingin menyalakan Enkripsi Paksa untuk koneksi yang dibuat ke titik akhir internal instans RDS, Anda harus melepaskan titik akhir publik terlebih dahulu. Untuk informasi lebih lanjut, lihat Ajukan atau lepaskan titik akhir publik.

      Earliest TLS Version Supported

      Tidak

      Pilih versi TLS minimum yang didukung. Nilai valid: 1.0, 1.1, dan 1.2.

      Sebagai contoh, jika Anda mengatur parameter ini ke 1.1, server hanya menerima koneksi melalui protokol TLS 1.1 dan TLS 1.2.

  5. Klik OK.

    Membutuhkan waktu sekitar 1 menit untuk mengaktifkan fitur enkripsi SSL. Anda dapat menyegarkan halaman untuk melihat status instans RDS.

2. Unduh sertifikat SSL

Anda dapat menggunakan fitur enkripsi SSL untuk terhubung ke instans RDS tanpa sertifikat CA. Kami sarankan Anda mengunduh dan menggunakan sertifikat CA. Anda dapat menggunakan sertifikat CA untuk memverifikasi sertifikat server yang diterima selama jabat tangan SSL. Ini membantu mengonfirmasi identitas instans RDS dan mencegah serangan man-in-the-middle.

  1. Masuk ke konsol ApsaraDB RDS dan buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS dan klik ID instans.

  2. Di panel navigasi di sebelah kiri, klik Data Security.

  3. Di tab SSL, klik Download CA Certificate.

    File yang Anda unduh adalah paket yang berisi file berikut:

    • File P7B: file sertifikat SSL yang digunakan untuk sistem operasi Windows.

    • File PEM: file sertifikat SSL yang digunakan untuk sistem operasi selain Windows atau aplikasi yang tidak dijalankan di Windows.

    • File JKS: file sertifikat SSL yang disimpan di truststore yang didukung Java. Anda dapat menggunakan file ini untuk mengimpor file sertifikat SSL dari rantai sertifikat SSL ke aplikasi berbasis Java. Kata sandi default adalah apsaradb.

    Penting

    Saat menggunakan file JKS di JDK 7 atau JDK 8, Anda harus memodifikasi item konfigurasi keamanan default JDK berikut di file jre/lib/security/Java.security di host tempat aplikasi Anda berada:

    jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224
    jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

    Jika Anda tidak memodifikasi konfigurasi ini, kesalahan berikut dilaporkan. Dalam banyak kasus, kesalahan serupa lainnya juga disebabkan oleh konfigurasi keamanan Java yang tidak valid:

    javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints

3. Konfigurasikan sertifikat SSL

Setelah mengaktifkan fitur enkripsi SSL, Anda harus mengonfigurasikan sertifikat SSL di aplikasi atau klien Anda. Topik ini memberikan contoh tentang cara menggunakan SQL Server Management Studio (SSMS) untuk menginstal sertifikat SSL. Jika Anda ingin menggunakan aplikasi atau klien lain, lihat instruksi terkait.

3.1 Impor sertifikat SSL

  1. Di kotak pencarian di pojok kiri bawah desktop, masukkan certmgr.msc dan buka certmgr.msc.

  2. Di kotak dialog certmgr, klik kanan Trusted Root Certification Authorities.

  3. Pilih All Tasks > Import.

  4. Klik Next.

  5. Di kotak dialog Certificate Import Wizard, klik Browse untuk mengimpor sertifikat SSL yang Anda unduh, dan klik Next. Untuk informasi lebih lanjut tentang cara mengunduh sertifikat SSL, lihat 2. Unduh sertifikat SSL.

  6. Pilih direktori untuk menyimpan sertifikat SSL dan klik Next.

  7. Klik Finish, lalu tunggu hingga Sertifikat selesai diimpor.

3.2 Konfigurasikan SSMS

  1. Buka SSMS dan klik Options di pojok kanan bawah kotak dialog.

    image.png

  2. Di tab Connection Properties, pilih Encrypt connection dan Trust server certificate, lalu klik Connect.

    image.png

  3. Jalankan pernyataan berikut. Jika TRUE dikembalikan, koneksi dienkripsi.

    SELECT ENCRYPT_OPTION FROM SYS.DM_EXEC_CONNECTIONS WHERE SESSION_ID = @@SPID

Lampiran: Contoh kode untuk koneksi melalui SSL

# -*- coding:utf-8 -*-

import ssl
import pyodbc

# Buat konteks SSL untuk menetapkan koneksi SSL dalam Python.
context = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile="D:\ca\ApsaraDB-CA-Chain.pem")

# Tetapkan koneksi.
# SERVER menentukan alamat IP server tempat database yang diperlukan berada. DATABASE menentukan nama database yang ingin Anda sambungkan. UID menentukan nama pengguna yang diperlukan untuk masuk ke database. PWD menentukan kata sandi yang diperlukan untuk masuk ke database. Encrypt menentukan apakah enkripsi SSL diaktifkan. Nilai yes menunjukkan bahwa enkripsi SSL diaktifkan. 
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=rm-2zec********.sqlserver.rds.aliyuncs.com;DATABASE=master;UID=zhttest;PWD=zht****;Encrypt=yes', ssl=context)
cursor = conn.cursor()
cursor.execute('SELECT @@version')

rows = cursor.fetchall()

for row in rows:
    print(row)

# Tutup koneksi.
conn.close()
using System;
using System.Data.SqlClient;

namespace SqlConnectionSSLExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Tetapkan koneksi.
            // Data Source menentukan alamat IP server tempat database SQL Server yang diperlukan berada. Initial Catalog menentukan nama database yang diperlukan yang ingin Anda sambungkan. User ID menentukan nama pengguna yang diperlukan untuk terhubung ke database. Password menentukan kata sandi yang diperlukan untuk terhubung ke database. Encrypt menentukan apakah transmisi terenkripsi SSL diaktifkan. Nilai true menunjukkan bahwa enkripsi SSL diaktifkan. 
            string connectionString = "Data Source=rm-2ze********.sqlserver.rds.aliyuncs.com;Initial Catalog=master;User ID=zhttest;Password=zht****;Encrypt=true;";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                // Buka koneksi.
                connection.Open();
                try
                {
                    // Jalankan pernyataan SQL.
                    SqlCommand cmd = new SqlCommand("SELECT @@version", connection);

                    string result = cmd.ExecuteScalar().ToString();

                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Error: {ex.Message}");
                }
            }
        }
    }
}

Operasi terkait

Apa yang harus dilakukan selanjutnya

Perbarui masa berlaku sertifikat

Sertifikat SSL tetap valid selama satu tahun. Sebelum sertifikat SSL yang digunakan kedaluwarsa, Anda harus memperbarui masa berlaku sertifikat SSL. Jika tidak, aplikasi atau klien Anda yang menggunakan koneksi jaringan terenkripsi tidak dapat terhubung ke instans RDS Anda. Jika sertifikat SSL akan segera kedaluwarsa, Alibaba Cloud memberi tahu pengguna yang mengaktifkan enkripsi SSL dengan menggunakan sertifikat kustom melalui email, dan pesan internal. Anda dapat melihat pesan internal di halaman Pusat Insiden. Sebelum sertifikat SSL kedaluwarsa, Anda harus memperbarui masa berlaku sertifikat SSL untuk memastikan bahwa aplikasi atau klien Anda dapat terhubung ke instans RDS Anda.

Penting

Memperbarui masa berlaku sertifikat SSL menyebabkan instans RDS Anda dimulai ulang. Lakukan dengan hati-hati saat Anda memperbarui masa berlaku sertifikat SSL.

  1. Masuk ke konsol ApsaraDB RDS dan buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS dan klik ID instans.

  2. Di panel navigasi di sebelah kiri, klik Data Security.

  3. Di tab SSL, klik Update Validity. 更新证书有效期

Nonaktifkan fitur enkripsi SSL

Penting
  • Saat menonaktifkan fitur enkripsi SSL, instans RDS Anda dimulai ulang. Dalam hal ini, sistem memicu switchover primer/sekunder untuk mengurangi dampak pada beban kerja Anda. Kami tetap menyarankan Anda menonaktifkan fitur enkripsi SSL selama jam-jam sepi.

  • Setelah menonaktifkan fitur enkripsi SSL, kinerja akses meningkat, tetapi keamanan menurun. Kami sarankan Anda menonaktifkan fitur enkripsi SSL hanya di lingkungan aman.

  • Jika Anda menonaktifkan fitur enkripsi SSL, aplikasi Anda hanya dapat terhubung ke instans RDS Anda melalui koneksi non-SSL.

  1. Buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS dan klik ID instans.

  2. Di panel navigasi di sebelah kiri, klik Data Security.

  3. Di halaman yang muncul, klik tab SSL.

  4. Matikan SSL Encryption. Di pesan yang muncul, klik OK.

Lihat detail tentang enkripsi koneksi

Di SQL Server, Anda dapat menjalankan pernyataan berikut untuk memeriksa apakah fitur enkripsi SSL diaktifkan untuk koneksi saat ini:

SELECT session_id,encrypt_option
FROM sys.dm_exec_connections;
GO

Jika ID sesi koneksi saat ini dikembalikan saat tampilan manajemen dinamis sys.dm_exec_connections diquery dan nilai parameter encrypt_option adalah true, fitur enkripsi SSL diaktifkan untuk koneksi tersebut.

Tanya Jawab Umum

Apa dampak pada bisnis saya jika saya tidak memperpanjang sertifikat SSL yang kedaluwarsa? Apakah kesalahan terjadi pada instans RDS saya atau apakah keamanan data berkurang?

Jika Anda tidak memperbarui sertifikat SSL yang kedaluwarsa, instans RDS tetap berjalan seperti yang diharapkan dan tidak ada risiko keamanan yang terjadi. Namun, aplikasi Anda tidak dapat membuat koneksi terenkripsi ke instans RDS.