Enkripsi Data Transparan

8

Apakah ada praktik terbaik saat mengkonfigurasi TDE di SQL Server 2008? Pada SQLMag, artikel "Transparan Data Enkripsi Enkripsi" mengatakan CPU mungkin telah meningkatkan penggunaan hingga 30%?

Selain menambahkan horsepower server, apakah ada hal lain yang biasanya dilakukan DBA saat menyalakan TDE?

Zack White
sumber

Jawaban:

7
  1. Beberapa poin tambahan yang saya perhatikan adalah jika Anda menggunakan fitur kompresi cadangan, fitur ini bersama dengan TDE tidak berjalan dengan baik. Kami telah memperhatikan tingkat kompresi yang sangat minimal, hampir dapat diabaikan. Oleh karena itu pertimbangkan titik kompresi cadangan ini jika Anda menggunakannya.

  2. Saya yakin Anda akan sadar, tetapi hanya untuk menambahkan, TDE tersedia untuk edisi Enterprise, jadi oleh karena itu pertimbangkan ini juga selama menyiapkan SQL server untuk TDE.

  3. TDE tidak menyediakan kontrol granular yang sama, khusus untuk peran pengguna atau basis data, seperti yang ditawarkan oleh enkripsi tingkat sel.

  4. Pastikan kunci enkripsi disimpan dengan aman di lokasi yang aman yang dapat diakses jika terjadi skenario pemulihan. Biasakan diri Anda dengan memulihkan database yang telah dienkripsi ke server baru. (awalnya komentar oleh Jonathan Fite ).

KASQLDBA
sumber
3
Beberapa tambahan: 5) subsistem penyimpanan Anda akan sedikit lebih sibuk sementara TDE sibuk membalik bit ketika Anda pertama kali mengaktifkan TDE 6) tidak ada inisialisasi file instan dengan TDE diaktifkan sehingga rencanakan ruang Anda lebih rajin karena autogrow file data dapat memakan waktu lebih lama sekarang tergantung pada pengaturan Anda 7) pos pemeriksaan TDE sehingga entri log di masa depan akan dienkripsi
SQLmojoe
2

Pertama, sebelum mengenkripsi basis data, buat cadangan kunci utama dan sertifikat, lalu simpan offline. Jangan tunggu sampai setelah Anda menerapkan TDE untuk melakukan ini. Juga simpan kata sandi dalam brankas kata sandi dan jelaskan kata sandi mana yang berkorelasi dengan objek mana; Anda benar-benar tidak ingin kehilangan jejak ini.

Dampak yang dimiliki TDE pada database sepenuhnya tergantung pada beban kerja yang terlibat: Saya baru-baru ini menerapkan TDE ke data warehouse dan dampak kinerja pada beban semalam tidak ada artinya, yang menunjukkan bahwa proses itu tidak terikat CPU. Namun itu mungkin tidak benar untuk database Anda. Jadi jika Anda dapat menguji beban kerja pada lingkungan dev terlebih dahulu, maka lakukanlah.

Bukan hanya data dalam file yang dienkripsi: TDE juga akan mengenkripsi tempDB, jadi jika Anda memiliki database lain yang banyak menggunakan TempDB maka Anda mungkin akan melihat kinerja yang hebat. Kedua backup dan snapshot juga dienkripsi.

Juga pertimbangkan apakah basis data ini perlu dikembalikan ke lingkungan lain (mis. Tes atau UAT). Anda harus mengembalikan sertifikat yang digunakan untuk mengenkripsi database ke server lain ini. Ini mungkin kedengarannya tidak terlalu banyak masalah, tetapi jika Anda tidak memiliki perusahaan atau pengembang di salah satu lingkungan ini maka ini mungkin menjadi mahal. Alternatif untuk menerapkan TDE di seluruh lingkungan adalah dengan mengembalikan database ke instance antara perusahaan / pengembang dan mengacak data sensitif, atau menjatuhkan enkripsi dan membuat cadangan baru untuk dipulihkan ke lingkungan lain. Pilihan kedua ini mungkin bukan yang paling masuk akal, tetapi selalu merupakan pilihan ...

Saat mengaktifkan TDE, ada dua kunci yang diterapkan ke database: kunci bersama dan kunci pembaruan. TechNet menyatakan ini sepenuhnya:

Ketika TDE diaktifkan (atau dinonaktifkan), basis data ditandai sebagai terenkripsi dalam tampilan katalog sys.databases dan status DEK diatur ke Enkripsi Dalam Kemajuan. Server memulai utas latar belakang (disebut pemindaian enkripsi atau pemindaian) yang memindai semua file database dan mengenkripsi mereka (atau mendekripsi mereka jika Anda menonaktifkan TDE). Ketika DDL dieksekusi, kunci pembaruan diambil pada database. Pemindaian enkripsi, yang berjalan secara asinkron ke DDL, mengambil kunci bersama. Semua operasi normal yang tidak bertentangan dengan kunci ini dapat dilanjutkan. Operasi yang dikecualikan termasuk memodifikasi struktur file dan melepaskan basis data. Sementara database normal menulis ke disk dari buffer pool dienkripsi, penulisan file log mungkin tidak. Pemindaian juga memaksa rollover untuk file log virtual (VLF) untuk memastikan bahwa masa depan menulis ke log dienkripsi.

Pengalaman saya adalah di gudang data yang jarang digunakan di siang hari dan banyak digunakan dalam semalam, jadi saya bisa menerapkan TDE dengan gangguan minimal di siang hari. Jika Anda mengenkripsi OLTP dalam produksi, maka sebaiknya jadwalkan ini selama jendela pemeliharaan untuk meminimalkan masalah.

Sunting: Juga pada titik kompresi; sementara benar bahwa TDE mempengaruhi kompresi cadangan, itu tidak mempengaruhi kompresi baris / halaman / kolom. Jadi, jika Anda ingin menyeimbangkan hilangnya kompresi dari cadangan, Anda bisa mengompres objek dalam database. Sekali lagi, tergantung pada beban kerja Anda, Anda mungkin / mungkin tidak ingin menerapkan kompresi pada database Anda karena itu akan semakin menekankan CPU. Ada artikel TechNet yang sangat bagus tentang implementasi kompresi: https://technet.microsoft.com/en-us/library/dd894051%28v=sql.100%29.aspx

Richie Lee
sumber
Terima kasih, Richie. Kami sedang berusaha mengenkripsi basis data aplikasi, produksi siang hari. Vendor mengklaim "tidak mendukungnya", tapi saya tidak yakin bagaimana mereka bisa atau tidak bisa karena itu tidak secara langsung mempengaruhi kode mereka kecuali permintaan tidak dioptimalkan.
Zack White
Saya yakin databasenya akan bekerja dengan TDE, tetapi seberapa baik masalah yang berbeda, karenanya komentar vendor. Secara alami, jika Anda dapat menguji kinerja sebelum / sesudah TDE sebelum melakukannya secara langsung (bahkan berapa lama waktu yang diperlukan untuk menerapkan TDE), maka ini akan memberi Anda ide yang lebih baik tentang bagaimana kinerja database.
Richie Lee