Enkripsi jaringan asli Oracle - 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.

Enkripsi jaringan asli Oracle

Amazon RDS mendukung enkripsi jaringan asli (NNE) Oracle. Dengan NATIVE_NETWORK_ENCRYPTION opsi ini, Anda dapat mengenkripsi data saat bergerak ke dan dari instance DB. Amazon RDS mendukung NNE untuk semua edisi Oracle Database.

Diskusi mendetail tentang enkripsi jaringan asli Oracle berada di luar cakupan panduan ini, tetapi sebaiknya pahami kekuatan dan kelemahan setiap algoritma dan kunci sebelum Anda memutuskan solusi untuk deployment Anda. Untuk informasi tentang algoritma dan kunci yang tersedia melalui enkripsi jaringan asli Oracle, lihat Configuring network data encryption di dokumentasi Oracle. Untuk informasi lebih lanjut tentang keamanan AWS , lihat pusat keamanan AWS.

catatan

Anda dapat menggunakan Enkripsi Jaringan Asli atau Lapisan Soket Aman, tetapi tidak keduanya sekaligus. Untuk informasi selengkapnya, lihat Lapisan Soket Aman Oracle.

Pengaturan opsi NATIVE_NETWORK_ENCRYPTION

Anda dapat menentukan persyaratan enkripsi pada server dan klien. Instans DB dapat bertindak sebagai klien ketika, misalnya, menggunakan tautan basis data untuk terhubung ke basis data lain. Sebaiknya hindari enkripsi paksa di sisi server. Misalnya, sebaiknya jangan memaksa semua komunikasi klien untuk menggunakan enkripsi karena server memerlukannya. Dalam hal ini, Anda dapat memaksa enkripsi di sisi klien untuk menggunakan opsi SQLNET.*CLIENT.

Amazon RDS mendukung pengaturan berikut untuk NATIVE_NETWORK_ENCRYPTION opsi tersebut.

catatan

Saat Anda menggunakan koma untuk memisahkan nilai untuk pengaturan opsi, jangan beri spasi setelah koma.

Pengaturan opsi Nilai valid Nilai default Deskripsi

SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS

TRUE, FALSE

TRUE

Perilaku server ketika klien yang menggunakan cipher yang tidak aman mencoba untuk terhubung ke basis data. Jika TRUE, klien dapat terhubung meskipun klien tidak di-patch dengan PSU Juli 2021.

Jika pengaturannya FALSE, klien dapat terhubung ke basis data hanya ketika klien di-patch dengan PSU Juli 2021. Sebelum Anda menetapkan SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS ke FALSE, pastikan bahwa kondisi berikut terpenuhi:

  • SQLNET.ENCRYPTION_TYPES_SERVER dan SQLNET.ENCRYPTION_TYPES_CLIENT memiliki satu metode enkripsi yang cocok yang bukan DES, 3DES, atau RC4 (semua panjang kunci).

  • SQLNET.CHECKSUM_TYPES_SERVER dan SQLNET.CHECKSUM_TYPES_CLIENT memiliki satu metode checksumming aman yang cocok yang bukan MD5.

  • Klien di-patch dengan PSU Juli 2021. Jika klien tidak di-patch, klien kehilangan koneksi dan menerima kesalahan ORA-12269.

SQLNET.ALLOW_WEAK_CRYPTO

TRUE, FALSE

TRUE

Perilaku server ketika klien yang menggunakan cipher yang tidak aman mencoba untuk terhubung ke basis data. Cipher berikut dianggap tidak aman:

  • Metode enkripsi DES (semua panjang kunci)

  • Metode enkripsi 3DES (semua panjang kunci)

  • Metode enkripsi RC4 (semua panjang kunci)

  • Metode checksumming MD5

Jika pengaturannya TRUE, klien dapat terhubung ketika klien menggunakan cipher yang tidak aman sebelumnya.

Jika pengaturannya FALSE, basis data mencegah klien terhubung ketika klien menggunakan cipher yang tidak aman sebelumnya. Sebelum Anda menetapkan SQLNET.ALLOW_WEAK_CRYPTO ke FALSE, pastikan bahwa kondisi berikut terpenuhi:

  • SQLNET.ENCRYPTION_TYPES_SERVER dan SQLNET.ENCRYPTION_TYPES_CLIENT memiliki satu metode enkripsi yang cocok yang bukan DES, 3DES, atau RC4 (semua panjang kunci).

  • SQLNET.CHECKSUM_TYPES_SERVER dan SQLNET.CHECKSUM_TYPES_CLIENT memiliki satu metode checksumming aman yang cocok yang bukan MD5.

  • Klien di-patch dengan PSU Juli 2021. Jika klien tidak di-patch, klien kehilangan koneksi dan menerima kesalahan ORA-12269.

SQLNET.CRYPTO_CHECKSUM_CLIENT

Accepted, Rejected, Requested, Required

Requested

Perilaku integritas data ketika instans DB terhubung ke klien atau server yang bertindak sebagai klien. Ketika instans DB menggunakan tautan basis data, instans akan bertindak sebagai klien.

Requested menunjukkan bahwa klien tidak memerlukan instans DB untuk melakukan checksum.

SQLNET.CRYPTO_CHECKSUM_SERVER

Accepted, Rejected, Requested, Required

Requested

Perilaku integritas data ketika klien atau server yang bertindak sebagai klien terhubung ke instans DB. Ketika instans DB menggunakan tautan basis data, instans akan bertindak sebagai klien.

Requested menunjukkan bahwa instans DB tidak memerlukan klien untuk melakukan checksum.

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512

Daftar algoritma checksum.

Anda dapat menentukan salah satu nilai atau daftar nilai yang dipisahkan koma. Jika Anda menggunakan koma, jangan masukkan spasi setelah koma; jika dilakukan, Anda akan menerima kesalahan InvalidParameterValue.

Parameter ini dan SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER harus memiliki cipher umum.

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512, SHA1, MD5

Daftar algoritma checksum.

Anda dapat menentukan salah satu nilai atau daftar nilai yang dipisahkan koma. Jika Anda menggunakan koma, jangan masukkan spasi setelah koma; jika dilakukan, Anda akan menerima kesalahan InvalidParameterValue.

Parameter ini dan SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT harus memiliki cipher umum.

SQLNET.ENCRYPTION_CLIENT

Accepted, Rejected, Requested, Required

Requested

Perilaku enkripsi klien saat klien atau server yang bertindak sebagai klien terhubung ke instans DB. Ketika instans DB menggunakan tautan basis data, instans akan bertindak sebagai klien.

Requested menunjukkan bahwa klien tidak memerlukan lalu lintas dari server untuk dienkripsi.

SQLNET.ENCRYPTION_SERVER

Accepted, Rejected, Requested, Required

Requested

Perilaku enkripsi server ketika klien atau server yang bertindak sebagai klien terhubung ke instans DB. Ketika instans DB menggunakan tautan basis data, instans akan bertindak sebagai klien.

Requested menunjukkan bahwa instans DB tidak memerlukan lalu lintas dari klien untuk dienkripsi.

SQLNET.ENCRYPTION_TYPES_CLIENT

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

Daftar algoritma enkripsi yang digunakan oleh klien. Klien mencoba mendekripsi input server dengan mencoba setiap algoritma secara berurutan, yang terus berlanjut hingga algoritma berhasil atau akhir daftar tercapai.

Amazon RDS menggunakan daftar default berikut dari Oracle. RDS dimulai dengan RC4_256 dan berlanjut hingga akhir daftar secara berurutan. Anda dapat mengubah urutan atau membatasi algoritma yang akan diterima oleh instans DB.

  1. RC4_256: RSA RC4 (ukuran kunci 256-bit)

  2. AES256: AES (ukuran kunci 256-bit)

  3. AES192: AES (ukuran kunci 192-bit)

  4. 3DES168: 3 kunci Triple-DES (ukuran kunci efektif 112-bit)

  5. RC4_128: RSA RC4 (ukuran kunci 128-bit)

  6. AES128: AES (ukuran kunci 128-bit)

  7. 3DES112: 2 kunci Triple-DES (ukuran kunci efektif 80-bit)

  8. RC4_56: RSA RC4 (ukuran kunci 56-bit)

  9. DES: DES Standar (ukuran kunci 56-bit)

  10. RC4_40: RSA RC4 (ukuran kunci 40-bit)

  11. DES40: DES40 (ukuran kunci 40-bit)

Anda dapat menentukan salah satu nilai atau daftar nilai yang dipisahkan koma. Jika Anda menggunakan koma, jangan masukkan spasi setelah koma; jika dilakukan, Anda akan menerima kesalahan InvalidParameterValue.

Parameter ini dan SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER harus memiliki cipher umum.

SQLNET.ENCRYPTION_TYPES_SERVER

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

Daftar algoritma enkripsi yang digunakan oleh instans DB. Instans DB menggunakan setiap algoritma untuk mencoba mendekripsi input klien hingga algoritma berhasil atau hingga akhir daftar tercapai.

Amazon RDS menggunakan daftar default berikut dari Oracle. Anda dapat mengubah urutan atau membatasi algoritma yang akan diterima klien.

  1. RC4_256: RSA RC4 (ukuran kunci 256-bit)

  2. AES256: AES (ukuran kunci 256-bit)

  3. AES192: AES (ukuran kunci 192-bit)

  4. 3DES168: 3 kunci Triple-DES (ukuran kunci efektif 112-bit)

  5. RC4_128: RSA RC4 (ukuran kunci 128-bit)

  6. AES128: AES (ukuran kunci 128-bit)

  7. 3DES112: 2 kunci Triple-DES (ukuran kunci efektif 80-bit)

  8. RC4_56: RSA RC4 (ukuran kunci 56-bit)

  9. DES: DES Standar (ukuran kunci 56-bit)

  10. RC4_40: RSA RC4 (ukuran kunci 40-bit)

  11. DES40: DES40 (ukuran kunci 40-bit)

Anda dapat menentukan salah satu nilai atau daftar nilai yang dipisahkan koma. Jika Anda menggunakan koma, jangan masukkan spasi setelah koma; jika dilakukan, Anda akan menerima kesalahan InvalidParameterValue.

Parameter ini dan SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER harus memiliki cipher umum.

Menambahkan opsi NATIVE_NETWORK_ENCRYPTION

Proses umum untuk menambahkan NATIVE_NETWORK_ENCRYPTION opsi ke instance DB adalah sebagai berikut:

  1. Buat grup opsi baru, atau salin atau ubah grup opsi yang ada.

  2. Tambahkan opsi ke grup opsi.

  3. Kaitkan grup opsi dengan instans DB.

Saat grup opsi aktif, NNE akan aktif.

Untuk menambahkan opsi NATIVE_NETWORK_ENCRYPTION ke instance DB menggunakan AWS Management Console
  1. Untuk Mesin, pilih edisi Oracle yang ingin Anda gunakan. NNE didukung di semua edisi.

  2. Untuk Versi mesin utama, pilih versi instans DB Anda.

    Untuk informasi selengkapnya, lihat Membuat grup opsi.

  3. Tambahkan opsi NATIVE_NETWORK_ENCRYPTION ke grup opsi. Untuk informasi selengkapnya tentang cara menambahkan opsi, lihat Menambahkan opsi ke grup opsi.

    catatan

    Setelah Anda menambahkan opsi NATIVE_NETWORK_ENCRYPTION, Anda tidak perlu me-restart instance DB Anda. Begitu grup opsi aktif, NNE akan aktif.

  4. Terapkan grup opsi ke instans DB baru atau yang sudah ada:

    • Untuk instans DB baru, Anda menerapkan grup opsi saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat Membuat instans DB Amazon RDS.

    • Untuk instans DB yang ada, Anda menerapkan grup opsi dengan memodifikasi instans dan melampirkan grup opsi baru. Setelah Anda menambahkan opsi NATIVE_NETWORK_ENCRYPTION, Anda tidak perlu me-restart instans DB Anda. Begitu grup opsi aktif, NNE akan aktif. Untuk informasi selengkapnya, lihat Memodifikasi instans DB Amazon RDS.

Mengatur nilai NNE di sqlnet.ora

Dengan enkripsi jaringan asli Oracle, Anda dapat mengatur enkripsi jaringan di sisi server dan sisi klien. Klien adalah komputer yang digunakan untuk terhubung ke instans DB. Anda dapat menentukan pengaturan klien berikut di sqlnet.ora:

  • SQLNET.ALLOW_WEAK_CRYPTO

  • SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS

  • SQLNET.CRYPTO_CHECKSUM_CLIENT

  • SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

  • SQLNET.ENCRYPTION_CLIENT

  • SQLNET.ENCRYPTION_TYPES_CLIENT

Untuk mengetahui informasinya, lihat Configuring network data encryption and integrity for Oracle servers and clients di dokumentasi Oracle.

Terkadang, instans DB menolak permintaan koneksi dari aplikasi. Misalnya, penolakan dapat terjadi ketika algoritma enkripsi pada klien dan di server tidak cocok. Untuk menguji enkripsi jaringan asli Oracle, tambahkan baris berikut ke file sqlnet.ora di klien:

DIAG_ADR_ENABLED=off TRACE_DIRECTORY_CLIENT=/tmp TRACE_FILE_CLIENT=nettrace TRACE_LEVEL_CLIENT=16

Ketika koneksi dicoba, baris sebelumnya menghasilkan file jejak pada klien yang disebut /tmp/nettrace*. File jejak berisi informasi tentang koneksi. Untuk informasi selengkapnya tentang masalah terkait koneksi saat Anda menggunakan Oracle Native Network Encryption, lihat About negotiating encryption and integrity dalam dokumentasi Oracle Database.

Memodifikasi pengaturan opsi NATIVE_NETWORK_ENCRYPTION

Setelah mengaktifkan opsi NATIVE_NETWORK_ENCRYPTION, Anda dapat mengubah pengaturannya. Saat ini, Anda dapat memodifikasi pengaturan NATIVE_NETWORK_ENCRYPTION opsi hanya dengan AWS CLI atau RDS API. Anda tidak dapat menggunakan konsol. Contoh berikut memodifikasi dua pengaturan dalam opsi.

aws rds add-option-to-option-group \ --option-group-name my-option-group \ --options "OptionName=NATIVE_NETWORK_ENCRYPTION,OptionSettings=[{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256},{Name=SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER,Value=SHA256}]" \ --apply-immediately

Untuk mempelajari cara mengubah pengaturan opsi menggunakan CLI, lihat AWS CLI. Untuk informasi selengkapnya tentang setiap pengaturan, lihat Pengaturan opsi NATIVE_NETWORK_ENCRYPTION.

Mengubah nilai CRYPTO_CHECKSUM_*

Jika Anda mengubah pengaturan opsi NATIVE_NETWORK_ENCRYPTION, pastikan bahwa pengaturan opsi berikut memiliki setidaknya satu cipher umum:

  • SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

  • SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

Contoh berikut menunjukkan skenario di mana Anda mengubah SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER. Konfigurasi ini valid karena CRYPTO_CHECKSUM_TYPES_CLIENT dan CRYPTO_CHECKSUM_TYPES_SERVER sama-sama menggunakan SHA256.

Pengaturan opsi Nilai sebelum modifikasi Nilai setelah modifikasi

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512

Tidak ada perubahan

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA1,MD5,SHA256

Untuk contoh lain, asumsikan bahwa Anda ingin mengubah SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER dari pengaturan default-nya ke SHA1,MD5. Dalam hal ini, pastikan Anda menetapkan SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT ke SHA1 atau MD5. Algoritma ini tidak termasuk dalam nilai default untuk SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT.

Mengubah pengaturan ALLOW_WEAK_CRYPTO*

Untuk mengatur opsi SQLNET.ALLOW_WEAK_CRYPTO* dari nilai default ke FALSE, pastikan bahwa kondisi berikut terpenuhi:

  • SQLNET.ENCRYPTION_TYPES_SERVER dan SQLNET.ENCRYPTION_TYPES_CLIENT memiliki satu metode enkripsi aman yang cocok. Sebuah metode dianggap aman jika bukan DES, 3DES, atau RC4 (semua panjang kunci).

  • SQLNET.CHECKSUM_TYPES_SERVER dan SQLNET.CHECKSUM_TYPES_CLIENT memiliki satu metode checksumming aman yang cocok. Sebuah metode dianggap aman jika bukan MD5.

  • Klien di-patch dengan PSU Juli 2021. Jika klien tidak di-patch, klien kehilangan koneksi dan menerima kesalahan ORA-12269.

Contoh berikut menunjukkan pengaturan NNE. Asumsikan bahwa Anda ingin menetapkan SQLNET.ENCRYPTION_TYPES_SERVER dan SQLNET.ENCRYPTION_TYPES_CLIENT ke FALSE, sehingga memblokir koneksi yang tidak aman. Pengaturan opsi checksum memenuhi prasyarat karena keduanya memiliki SHA256. Namun, SQLNET.ENCRYPTION_TYPES_CLIENT dan SQLNET.ENCRYPTION_TYPES_SERVER mengggunakan DES, 3DES, dan metode enkripsi RC4, yang bersifat tidak aman. Oleh karena itu, untuk menetapkan opsi SQLNET.ALLOW_WEAK_CRYPTO* ke FALSE, pertama tetapkan SQLNET.ENCRYPTION_TYPES_SERVER dan SQLNET.ENCRYPTION_TYPES_CLIENT ke metode enkripsi yang aman seperti AES256.

Pengaturan opsi Nilai

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA1,MD5,SHA256

SQLNET.ENCRYPTION_TYPES_CLIENT

RC4_256, 3DES168, DES40

SQLNET.ENCRYPTION_TYPES_SERVER

RC4_256, 3DES168, DES40

Menghapus opsi NATIVE_NETWORK_ENCRYPTION

Anda dapat menghapus NNE dari instans DB.

Untuk menghapus opsi NATIVE_NETWORK_ENCRYPTION dari instans DB, lakukan salah satu hal berikut:

  • Untuk menghapus opsi dari beberapa instance DB, hapus NATIVE_NETWORK_ENCRYPTION opsi dari grup opsi yang menjadi miliknya. Perubahan ini memengaruhi semua instans DB yang menggunakan grup opsi tersebut. Setelah Anda menghapus NATIVE_NETWORK_ENCRYPTION opsi, Anda tidak perlu memulai ulang instans DB Anda. Untuk informasi selengkapnya, lihat Menghapus opsi dari grup opsi.

  • Untuk menghapus opsi dari satu instans DB, ubah instans DB dan tentukan grup opsi berbeda yang tidak menyertakan NATIVE_NETWORK_ENCRYPTION opsi. Anda dapat menentukan grup opsi default (kosong) atau grup opsi kustom yang berbeda. Setelah opsi NATIVE_NETWORK_ENCRYPTION dihapus, instans DB tidak perlu dimulai ulang. Untuk informasi selengkapnya, lihat Memodifikasi instans DB Amazon RDS.