Lompat ke konten utama

Pemeliharaan Database yang Aman: Panduan Lengkap untuk Pengembang

Panduan lengkap untuk pemeliharaan database yang aman. Pelajari praktik terbaik untuk enkripsi, pengawasan akses, pengelolaan kunci, dan kinerja untuk melindungi data Anda pada 2026.

Martin Donadieu

Martin Donadieu

Pengembang Konten

Pemeliharaan Database yang Aman: Panduan Lengkap untuk Pengembang

Anda mendorong rilis terlambat pada malam hari, memeriksa notifikasi Anda, dan menyadari kredential yang tidak pernah seharusnya meninggalkan repositori pribadi. Mungkin itu adalah kata sandi database. Mungkin itu adalah kunci akses ke awan dengan izin yang lebih luas daripada yang diinginkan. Dalam kasus apapun, masalah bukan hanya bahwa seseorang bisa masuk. Masalahnya adalah bahwa keamanan database terus dianggap seperti masalah login ketika sebenarnya itu adalah masalah siklus penyimpanan.

Itu terlihat di mana-mana dalam sistem nyata. Tim memungkinkan enkripsi sekali dan menganggap mereka sudah selesai. Mereka menjaga backup tetapi tidak pernah menguji restore. Mereka membuat akun layanan admin untuk kemudahan dan melupakan bahwa ada. Mereka memblokir produksi, kemudian meninggalkan staging penuh dengan data pelanggan yang dicopy. Jika Anda membangun aplikasi mobile atau web, pemeliharaan database yang aman harus mencakup semua hal: database utama, replika, ekspor, log, backup, dan kunci yang mengontrol semua hal itu.

Jika Anda juga bekerja melalui mengatasi autentikasi untuk aplikasi berikutnyaingatlah bahwa autentikasi dan keamanan penyimpanan menyelesaikan mode kegagalan yang berbeda. Autentikasi memutuskan siapa yang boleh masuk. Keamanan penyimpanan membatasi kerusakan ketika seseorang melakukannya, atau ketika data bocor melalui jalur yang tidak Anda duga. Untuk tim yang mengirimkan aplikasi yang berhadapan dengan pelanggan, juga patut untuk menyelaraskan keputusan penyimpanan dengan kontrol yang berdekatan seperti API standar keamanan untuk kelayakan toko aplikasi.

Kemarahan bukanlah teori. Produksi data global mencapai 64,2 zettabyte pada tahun 2020 dan diproyeksikan untuk naik ke 180 zettabyte pada tahun 2025 menurut Ringkasan Penyimpanan Data Edge Delta. Pada skala itu, penyimpanan yang aman tidak lagi menjadi tugas penguatan dan menjadi arsitektur.

Daftar Isi

Mengapa Keamanan Database Lebih dari Hanya Kata Sandi

Kata sandi melindungi pintu masuk. Tidak melindungi data setelah kredential terleleh, snapshot dicopy, atau layanan internal yang berkelebihan hak mulai membaca tabel yang tidak pernah dimaksudkan untuk disentuh. Itulah mengapa penyimpanan database yang aman harus dilapis.

Model mental lama sederhana: letakkan database di balik firewall, memerlukan kata sandi yang kuat, dan menjauhkan orang luar. Model tersebut gagal dalam sistem cloud, backend mobile, dan pipeline CI/CD modern. Data bergerak antar layanan. Para insinyur membuat ekspor sementara. Tugas analitis duplikat rekaman. Sistem backup menyimpan salinan di infrastruktur yang berbeda. Serangan tidak perlu menghancurkan mesin database itu sendiri jika mereka bisa mencuri kunci, menyalahgunakan token API, atau menemukan replika dengan kontrol yang lebih lemah.

Kegagalan keamanan terjadi di jalur diam

Kegagalan penyimpanan paling merusak tidak terlihat dramatis awalnya. Mereka terlihat biasa saja.

  • Kenyamanan pengembang menjadi risiko produksi: Kredensial admin bersama digunakan kembali oleh skrip karena memutarinya akan mengganggu pengembangan.
  • A dataset yang dicopy melanggar pengawasan: Catatan produksi dikloningkan ke tahap pengujian agar QA dapat mereproduksi suatu bug.
  • A backup menjadi titik lemah: Pengawasan produksi kuat, tapi kebijakan bucket atau snapshot tidak.

Aturan praktis: Jika satu-satunya hal yang menghalangi penyerang dari data yang dapat dibaca adalah satu kredential, maka Anda tidak memiliki penyimpanan yang aman. Anda memiliki titik kegagalan tunggal.

Pertahanan harus bertahan dari penyalahgunaan kredential

Guidance cloud Microsoft merekomendasikan dasar yang termasuk enkripsi dalam transit dan di tempat, kontrol akses dengan hak yang paling sedikit, dan pemantauan untuk aktivitas tidak sah, seperti yang diuraikan dalam dokumen praktik keamanan data cloud. Itu adalah dasar yang tepat karena insiden nyata sering kali dimulai dengan akses yang valid digunakan dengan cara yang salah.

Yang berfungsi dalam praktek adalah yang membosankan dan konsisten. Enkripsi file database. Enkripsi koneksi. Bagi peran layanan. Hapus akses admin yang berdiri sendiri di mana pun. Log operasi sensitif. Peringatkan pada pola akses yang tidak sesuai dengan penggunaan normal. Tidak ada yang glamor, tapi itu mencegah insiden nyata.

Cara berguna untuk berpikir tentangnya adalah sebuah vault fisik. Pintu vault berarti. Begitu juga dengan kunci kompartemen, rekaman kamera, log pengunjung, dan kebijakan siapa yang dapat membuka kotak mana. Penyimpanan database yang aman bekerja sama dengan cara itu. Sandi hanya pintu depan.

Mengerti Model Ancaman Database Anda

Sebelum Anda memilih kontrol, peta cara sistem Anda bisa gagal. Model ancaman untuk penyimpanan database tidak perlu akademis. Ini perlu memberitahu Anda siapa yang bisa menyentuh data sensitif, bagaimana mereka melakukannya, dan apa yang terjadi jika mereka berhasil.

Diagram alir lima langkah yang menggambarkan proses pembuatan model ancaman database komprehensif untuk keamanan data.

Data sensitif jarang hidup di satu database produksi yang rapi. Panduan modern menekankan penemuan dan manajemen posisi karena informasi sensitif sering kali berakhir di salinan, backup, log, dan lingkungan pengembangan, sehingga gagal sering terjadi di luar database utama, seperti yang disebutkan dalam Ringkasan Sentra tentang keamanan data cloud dan manajemen posisi. Itulah mengapa perencanaan insiden harus mencakup skenario seperti paparan vendor dan dataset yang dicopy. Ini juga di mana playbook respons yang lebih luas, seperti praktik terbaik respons bocor pihak ketiga, menjadi relevan.

Mulai dengan aset, bukan alat

Daftarkan apa yang penting sebelum Anda daftarkan produk.

Untuk tim aplikasi kebanyakan, aset yang kritis adalah sederhana:

  1. Catatan pelanggan seperti profil, riwayat pesanan, metadata terkait pembayaran, atau konten terkait kesehatan.
  2. Bahan autentikasi seperti hash kata sandi, catatan sesi, token refresh, atau API rahasia.
  3. Data operasional seperti log audit, antrian pekerjaan, catatan admin, dan ekspor dukungan.
  4. Aset pemulihan seperti snapshot, dump logis, log pada waktu tertentu, dan kunci enkripsi.

Itu item terakhir lebih penting daripada tim pikir. Jika seorang penyerang dapat menghapus backup atau mengakses kunci yang dapat memecahkan mereka, cerita pemulihan Anda akan runtuh.

Tiga wadah ancaman yang paling penting

Model sederhana yang saya gunakan dengan pengembang memiliki tiga wadah.

Penyerang eksternal

Wadah ini adalah yang paling banyak dipikirkan orang pertama. Injeksi SQL, token API yang dicuri, kredit awan yang terungkap, panel admin yang terbuka, dependensi yang rentan. Benang merah adalah seorang penyerang luar yang mendapatkan akses ke data.

Pertanyaan untuk ditanyakan:

  • Apakah seseorang dapat mengakses database secara tidak langsung melalui aplikasi?
  • Apakah kredensial server yang dicuri dapat membaca lebih dari satu layanan yang dibutuhkan?
  • Apakah snapshot yang dicopy dapat dibaca secara mandiri?

Ancaman dari dalam

Hal ini termasuk insider yang berbahaya dan karyawan yang baik dengan akses yang terlalu banyak. Seorang insinyur dukungan mengexport data untuk menyelesaikan tiket. Seorang kontraktor menyimpan salinan lokal. Seorang administrator platform dapat membaca baris produksi meskipun pekerjaannya tidak memerlukan itu.

Yang membantu di sini adalah pemisahan tugas, akses berdasarkan peran, dan jejak audit yang membuat akses sensitif terlihat.

Jika Anda tidak dapat menjawab siapa yang mengakses rekaman pelanggan, kapan mereka mengaksesnya, dan mengapa akses tersebut diizinkan, maka kontrol database Anda lebih lemah dari yang terlihat.

Pengungkapan tidak sengaja

Kategori ini paling umum di tim yang bergerak cepat. Sebuah bucket penyimpanan yang tidak terkonfigurasi. Sebuah lingkungan pengujian yang diisi dengan data hidup. Log debug yang mencakup token atau informasi pribadi. Sebuah backup yang dipulihkan dan ditempatkan di lingkungan keamanan rendah untuk troubleshooting.

Pengungkapan tidak sengaja adalah mengapa keamanan penyimpanan data harus beroperasi. Anda tidak menyelesaikannya dengan satu pengaturan. Anda menyelesaikannya dengan klasifikasi data, pengamanan, tinjauan, dan pembersihan rutin.

Pilar Utama Keamanan Penyimpanan Database

A serangan jarang datang dari satu kegagalan dramatis. Biasanya datang dari rantai kesalahan-kesalahan biasa. Backup dicopy ke akun yang salah. Layanan mendapatkan izin yang lebih luas daripada yang dibutuhkan. Kunci lama tetap aktif selama beberapa bulan karena rotasi kunci selalu ditunda. Penyimpanan database yang aman harus menghentikan rantai itu di beberapa titik, dan terus melakukannya ketika sistem berubah.

Saya membagi pekerjaan ke dalam empat pilar: enkripsi, pengendalian akses, auditing, dan minimisasi. Backup dan pemulihan juga penting, tetapi mereka layak mendapatkan penanganan operasional sendiri karena data yang dipulihkan sering menjadi jalur ekspose baru jika tidak ada yang menguji di mana data itu berada, siapa yang bisa membacanya, dan kunci apa yang bisa mengenkripsinya.

Diagram yang menggambarkan empat pilar inti penyimpanan database yang aman: Pengendalian Akses, Enkripsi, Auditing, dan Backup.

Enkripsi mengurangi nilai data yang dicuri

Enkripsi membeli waktu dan mengurangi dampak. Jika seseorang mendapatkan snapshot disk, file backup mentah, atau lalu lintas dari jaringan internal, data yang dienkripsi lebih sulit untuk diubah menjadi rekaman pelanggan.

Pada saat istirahat, enkripsi melindungi file database, snapshot, dan artefak backup. Saat berpindah, TLS melindungi koneksi antara server aplikasi, proxy, dan mesin database. NIST menangani kedua kontrol ini dalam panduan tentang enkripsi penyimpanan dan perlindungan transportasi di SP 800-111 dan rekomendasi terkait perlindungan data pada saat istirahat.

The trade-off adalah operasional, bukan teoretis. Enkripsi hanya membantu jika pengelolaan kunci dipisahkan dari jalur data dan dipertahankan dalam waktu lama. Enkripsi amplop bekerja seperti kunci utama bangunan dan kunci kantor yang terkunci. Layanan manajemen kunci melindungi kunci utama, dan kunci utama tersebut mengenkripsi kunci data singkat yang digunakan untuk catatan atau file yang sebenarnya. Desain tersebut membatasi paparan selama rotasi dan membuat lebih mudah untuk membatalkan atau mengganti materi kunci tanpa menulis semuanya sekali lagi.

Tim akan masuk kesulitan ketika mereka mengaktifkan enkripsi sekali dan berhenti di situ. Periksa di mana kunci hidup, siapa yang dapat menggunakan mereka, apakah rotasi telah direncanakan, dan apakah cadangan lama masih bergantung pada versi kunci yang dilupakan.

Pengendalian akses membatasi radius ledakan

Izin akses harus mengikuti batas aplikasi, bukan organisasi.

Peran basis data untuk API checkout tidak boleh dapat membaca data gaji. Pekerja latar belakang tidak boleh memiliki hak untuk mengubah skema karena pada awalnya sangat mudah selama migrasi. Alat dukungan harus menggunakan tampilan yang disaring atau prosedur yang disetujui daripada akses meja yang luas.

Model yang praktis seperti ini:

  • Peran aplikasi web: Akses baca dan tulis yang terbatas untuk tabel di balik permintaan pengguna.
  • Peran pekerja: Akses ke catatan yang diperlukan untuk menjalankan pekerjaan.
  • Peran analitis: Akses baca saja ke dataset yang disaring dengan pengidentifikasi langsung dihapus jika memungkinkan.
  • Peran administrator untuk keadaan darurat: akses yang singkat dan disetujui dengan log yang kuat dan tinjauan.

Pilar ini semakin kuat ketika dipasangkan dengan transformasi data. Jika sebuah tim dapat melakukan pekerjaannya dengan data yang disembunyikan atau dikurangi, berikan versi itu daripada nilai produksi penuh. Untuk data kesehatan yang diatur, de-identifikasi PHI seringkali adalah perbedaan antara akses yang berguna dan paparan yang tidak perlu.

Rahasia di sekitar database patut mendapatkan disiplin yang sama. Tim yang memperketat kontrol penyimpanan tetapi meninggalkan kunci mesin yang tercecer di log CI, bangun mobile, atau skrip dukungan masih meninggalkan jalur serangan yang luas. Kebiasaan operasional yang sama berlaku untuk API kunci keamanan untuk kinerja toko aplikasi, terutama ketika aplikasi mobile dan layanan backend berbagi batasan kepercayaan.

Pengauditan menunjukkan apakah kontrol nyata atau tidak.

Suatu kebijakan yang tidak dapat diverifikasi hanya merupakan harapan.

Jejak audit menjawab pertanyaan yang penting selama insiden. Siapa yang membaca rekaman. Siapa yang mengubah izin. Siapa yang menjalankan pekerjaan ekspor data. Siapa yang menggunakan kunci untuk mengenkripsi arsip. Mereka juga mengekspos pergeseran lambat, seperti akun layanan yang mulai menyentuh tabel yang tidak perlu sebelumnya.

Pengauditan yang berguna biasanya mencakup:

  • Aktivitas autentikasi: login sukses, login gagal, penggunaan token, dan sesi administratif.
  • Perubahan otorisasi: penugasan, revokasi, pembuatan peran, perubahan kebijakan, dan perubahan skema.
  • Polanya akses sensitif: baca massal, ekspor besar, jalur kueri aneh, dan akses di luar jam atau jaringan sumber yang diharapkan.
  • Event manajemen kunci: pembuatan kunci, rotasi, upaya dekripsi gagal, versi dinonaktifkan, dan perubahan kebijakan di KMS atau penyimpanan rahasia.

Pertimbangan penyimpanan log ini. Begitu juga dengan tinjauan. Jika log kadaluarsa sebelum siapa pun menyelidiki, atau jika tidak ada yang memeriksa perubahan hak istimewa kecuali ada sudah ada pelanggaran, sistem audit ada di kertas lebih dari pada dalam praktek.

Berikut adalah penjelasan yang baik sebelum detail implementasi menjadi terlalu abstrak:

Pengurangan menjaga data sensitif tidak ada di tempat yang tidak bisa Anda pertahankan dengan baik.

Pengurangan adalah di mana banyak tim mendapatkan kemenangan keamanan terbesar dengan upaya rekayasa yang paling sedikit.

Simpan lebih sedikit. Simpannya untuk waktu yang lebih singkat. Salin ke tempat yang lebih sedikit. Jika fitur hanya memerlukan rentang usia, jangan menyimpan tanggal lahir penuh. Jika dukungan hanya memerlukan empat karakter terakhir dari identifikasi, hindari menampilkan lapangan penuh. Jika lingkungan pengujian tidak memerlukan data pribadi hidup, jangan memulihkan cadangan produksi ke dalam mereka dan sebutkan sementara.

Ini juga merupakan disiplin operasional. Jadwal penyimpanan perlu dilaksanakan. Ekspor lama perlu dihapus. Sistem downstream perlu direview karena risiko meningkat setiap kali lapangan sensitif direplikasi ke indeks pencarian, cache, danau data, penyimpanan mobile, dan file CSV ad hoc. Untuk aplikasi Capacitor @capgo/capacitor-penyimpanan-data-sqlite dan @capgo/capacitor-sql-cepat dapat menyediakan penyimpanan persistensi sisi aplikasi yang terenkripsi, tetapi Anda masih perlu memutuskan apa yang tidak perlu disimpan secara lokal sama sekali.

Tujuan dari pilar-pilar ini bukanlah kesempurnaan pada hari pertama. Melainkan, membangun sistem penyimpanan yang tetap dapat dibela setelah rotasi kunci, perubahan staf, tanggapan insiden, pemulihan cadangan, dan pertumbuhan produk. Itulah di mana penyimpanan database yang aman biasanya berhasil atau gagal.

Polanya Implementasi Praktis untuk Enkripsi

Tidak ada satu pola enkripsi untuk setiap sistem. Pilihan yang tepat tergantung pada apa yang dilindungi, siapa yang perlu mengaksesnya, dan berapa banyak kompleksitas yang dapat didukung oleh tim. Kesalahan adalah memilih pola yang terdengar paling kuat dan kemudian menerapkan dengan buruk.

Infografis yang menggambarkan tiga pola implementasi praktis untuk enkripsi: disk, database transparan data, dan enkripsi aplikasi tingkat.

TDE adalah basis tercepat

Enkripsi Data Transparan, atau TDE, biasanya merupakan tempat yang paling mudah untuk memulai. Mesin database mengenkripsi file di disk dan mendekripsi mereka ketika mesin membaca mereka ke dalam memori. Aplikasi sering kali tidak memerlukan code perubahan.

Ini adalah basis yang kuat untuk:

  • Pelindungan database utuh
  • Persyaratan kompatibilitas tingkat penyimpanan
  • Mengurangi risiko dari disk yang dicuri, snapshot, atau akses file mentah

TDE tidak melindungi dari segalanya. Jika seorang penyerang mendapatkan akses database yang valid, mesin akan masih menyajikan data yang telah didedikasi. Itulah mengapa TDE membantu dengan kompromi penyimpanan, bukan penyalahgunaan kredit yang sah.

Enkripsi aplikasi tingkat melindungi bidang yang paling penting

Enkripsi aplikasi tingkat terjadi sebelum data mencapai database. Anda code mengenkripsi bidang yang dipilih, kemudian menulis ciphertext ke penyimpanan. Ini berfungsi baik untuk kolom yang sangat sensitif seperti ID pemerintah, detail bank, rahasia pemulihan, atau catatan pribadi.

Kontrol tambahan tersebut datang dengan konsekuensi:

  • Anda memiliki lebih banyak kompleksitas: pemilihan kunci, perpustakaan enkripsi, perilaku rotasi, dan pengelolaan kesalahan.
  • Pencarian semakin sulit: cocokan tepat, pencarian sebagian, dan indeks menjadi masalah desain.
  • Para pengembang memerlukan disiplin: satu singkatan dalam skrip migrasi dapat menghindari model Anda secara keseluruhan.

Polanya pseudokode sederhana seperti ini:

Langkah Aksi
1 Baca bidang teks plaintext dari permintaan
2 Tanyakan kunci layanan untuk kunci enkripsi data atau gunakan kunci lokal yang dibungkus
3 Enkripsi bidang di aplikasi
4 Simpan ciphertext dan metadata di database
5 Hanya dekripsi di jalur baca yang disetujui

Untuk persistensi aplikasi lokal, pertanyaan desain yang sama berlaku. Jika Anda menyimpan token offline atau keadaan sinkron yang sensitif pada perangkat, jangan asumsikan penyimpanan mobile aman secara default. Gunakan pola yang sadar platform seperti yang dibahas dalam penyimpanan aman untuk token offline di Capacitor.

Enkripsi amplop adalah aman di dalam aman

Enkripsi amplop terdengar menakutkan, tapi konsepnya sederhana. Anda enkripsi data dengan satu kunci, lalu enkripsi kunci itu dengan kunci lain yang lebih terlindungi.

Pikirkan itu sebagai dokumen yang terkunci di dalam safe kecil. Safe kecil itu kunci di dalam vault bank. Jika seseorang mencuri layer penyimpanan dokumen, mereka masih perlu akses ke kunci vault yang lebih terlindungi sebelum mereka bisa membuka apa pun yang berguna.

Alur biasa:

  1. Buat kunci data untuk catatan, file, atau batch.
  2. Enkripsi data dengan kunci data itu.
  3. Kunci data harus dibungkus menggunakan kunci master di KMS atau HSM.
  4. Simpan ciphertext plus metadata kunci yang dibungkus bersama dengan rekaman atau objek.
  5. Hanya ungkap selama pembacaan yang diotorisasi.

Konsultasi Lapangan: Pakai enkripsi amplop ketika Anda membutuhkan kompartemenisasi yang kuat tanpa mengekspos kunci master yang berumur lama kepada setiap server aplikasi.

Polanya umum karena seimbang antara kinerja dan kontrol. Aplikasi menggunakan kunci data yang berumur pendek untuk pekerjaan enkripsi sebenarnya, sementara KMS atau HSM melindungi kunci master yang digunakan untuk membungkus dan mengungkapkannya.

Pembandingan Pola Enkripsi

Pola Kompleksitas Implementasi Dampak Kinerja Terbaik Untuk
Enkripsi Disk atau Volume Rendah Rendah Pelindung Level Infrastruktur untuk Server dan Penyimpanan Terpasang
Enkripsi Data Transparan Rendah hingga Sedang Rendah hingga Sedang Pelindung Basis Data Penuh dengan Perubahan Aplikasi Minimal
Enkripsi Aplikasi Sedang hingga Tinggi Berbeda-Beda tergantung pada penggunaan dan desain kueri lapangan Kolom yang sangat sensitif dan pemisahan yang ketat memerlukan
Enkripsi amplop Moderat hingga tinggi Moderat Sistem yang memerlukan isolasi kunci yang lebih kuat dan pengendalian kunci yang skalabel

Aturan praktisnya sederhana. Mulai dengan dasar yang kuat seperti TDE atau enkripsi di-aktifkan secara otomatis. Tambahkan enkripsi pada tingkat field atau enkripsi amplop hanya jika sensitivitas data dan model ancaman membenarkan biaya tambahan untuk engineering.

Menguasai Pengelolaan Kunci dan Rahasia

Serangan sering kali dimulai dengan kesalahan biasa dalam mengelola rahasia. Basis data produksi terenkripsi, backup ada, dan akses tampaknya dikontrol pada kertas. Kemudian, pekerjaan CI mencetak token ke log, insinyur menggunakan kembali kredential admin untuk skrip dukungan, atau kunci yang ketinggalan zaman tetap aktif lama setelah tim yang menciptakannya telah berpindah.

Itulah mengapa pengelolaan kunci dan rahasia adalah praktik operasional, bukan tugas pengaturan.

Basis data yang terenkripsi dengan kunci yang tidak dielola dengan baik berfungsi seperti ruang server yang terkunci dengan akses yang tergantung di pegangan pintu. Pedoman pemerintah mengemukakan poin yang sama. Enkripsi sendiri tidak menutup kesenjangan jika tim melewatkan pengelolaan kunci berbasis KMS atau HSM, akses dengan hak yang paling sedikit, dan rencana pemulihan, seperti yang dijelaskan dalam Pedoman NSA dan mitra dalam menjaga data di awan.

Di mana tim salah dalam hal ini

Polanya sering muncul dalam tinjauan insiden:

  • Rahasia di sumber code: Kredensial yang dihardikan, sertifikat yang diintegrasikan, atau skrip utilitas yang secara bertahap menjadi dependensi produksi.
  • Rahasia di file konfigurasi yang dicopy: File yang dipindahkan antar laptop, disimpan di folder bersama, atau dikomitkan selama perbaikan yang terburu-buru.
  • Variabel lingkungan dengan kontrol yang lemah: Praktis, tapi sering terbuka melalui log pembangunan, riwayat shell, laporan kegagalan, atau izin eksekusi waktu eksekusi yang luas.
  • Tidak ada kepemilikan untuk rotasi: Kunci ada selama bertahun-tahun karena tidak ada tim yang mengambil alih reissue, rollout, dan rollback.
  • Rahasia yang dipakai bersama: Satu kunci yang digunakan oleh aplikasi, insinyur, dan otomatisasi, yang membuat audit dan pengendalian menjadi lebih sulit.

Jika Anda sedang mengstandarisisasi cara penyimpanan rahasia aplikasi dan infrastruktur, sebuah referensi yang praktis untuk mengelola lingkungan variabel yang aman Dapat membantu tim untuk berpindah dari penyebaran rahasia ad hoc.

Apa yang baik tentang pengelolaan kunci adalah

Gunakan sebuah KMS ketika kebijakan pusat, pengendalian akses, log audit, dan rotasi yang dijadwalkan lebih penting daripada kontrol perangkat keras yang disesuaikan. Gunakan sebuah HSM ketika risiko, persyaratan komplian, atau aturan penandatanganan dan perlindungan kunci membenarkan batasan perangkat keras yang dedikasi. Banyak tim tidak memerlukan HSM di mana-mana. Mereka memerlukan aturan yang jelas untuk sistem mana yang dapat meminta operasi dekripsi, manusia mana yang dapat mengubah kebijakan, dan bagaimana aksi-aksi tersebut diulas.

Enkripsi amplop adalah model mental yang baik di sini. Ini bekerja seperti menjaga uang di dalam kotak kecil yang terkunci, kemudian menyimpan kotak tersebut di dalam vault bank. Aplikasi mengelola kunci data singkat yang hidup untuk pekerjaan enkripsi. Kunci vault tetap di KMS atau HSM, dan akses kepadanya sangat dibatasi.

Kontrol-kontrol yang mencegah insiden nyata adalah operasional:

  • Rotasi kunci pada jadwal yang dapat dieksekusi dengan aman: rotasi mengurangi umur kunci yang bocor, tetapi hanya jika aplikasi, pekerjaan, dan restore masih berfungsi setelahnya.
  • Tugas harus dipisahkan: layanan yang membaca data pelanggan tidak boleh juga dapat mengubah kebijakan kunci atau mematikan logging.
  • Tampilkan peristiwa kunci sensitif: pembuatan kunci, rotasi, permintaan dekripsi gagal, dan perubahan kebijakan harus semua terlihat.
  • Uji jalur re-encrypt: mengganti kunci pembungkus biasanya lebih mudah daripada mere-encrypt data aplikasi, tetapi kedua-duanya memerlukan buku rencana dan langkah mundur.
  • Matikan dan pensiunkan rahasia lama secara sengaja: biarkan waktu untuk transisi, lalu hapus kreditusus yang usang sehingga tidak dapat menjadi pintu belakang diam.

CI/CD memerlukan disiplin yang sama seperti runtime produksi. Sistem bangun biasanya memiliki akses yang luas dan visibilitas yang lemah, yang membuatnya menjadi tempat yang umum untuk kebocoran rahasia. Tim yang serius tentang ini biasanya formalisasi manajemen rahasia dalam alur CI/CD bukanlah menganggap kreditusus alur sebagai pengecualian sementara.

Aturan sederhana. Aplikasi code harus meminta operasi kriptografi dari sistem yang dipercaya, bukan membawa kunci utama mentah ke sekitar lingkungan.

The desain enkripsi yang paling kuat di dalam stack Anda tidak lagi berarti apa-apa jika seorang developer, pipeline, atau tool dukungan dapat menyalin kunci utama ke tempat yang salah.

Rancang Strategi Cadangan dan Pemulihan yang Tahan Banting

Cadangan adalah bagian dari penyimpanan database yang aman, bukan tugas administratif terpisah. Jika produksi dilindungi dan cadangan tidak, penyerang akan memilih jalan yang lebih mudah.

Guidance penyimpanan data yang aman merekomendasikan menjaga sistem cadangan dan pemulihan pada tingkat perlindungan yang sama dengan produksi karena serangan ransomware dan malware sering kali meninggalkan cadangan yang aman dan teruji sebagai satu-satunya jalur pemulihan yang masuk akal, menurut Guidance Hypertec untuk penyimpanan data yang aman.

Cadangan memerlukan batasan keamanan sendiri

Desain cadangan yang tahan banting memiliki beberapa sifat:

  • Cadangan dienkripsi dalam perjalanan dan di tempat istirahat.
  • Kredensial cadangan terpisah dari kredensial produksi.
  • Kontrol penghapusan dan penyimpanan lebih sulit untuk disalahgunakan daripada akses aplikasi normal.
  • Sasaran pemulihan tidak menjadi lingkungan produksi bayangan dengan kontrol yang lemah.

Mode gagal umum adalah menyimpan cadangan yang dienkripsi sementara membiarkan peran produksi yang terkorup menghapusnya. Mode lainnya adalah memulihkan ke lingkungan sementara dengan akses engineer yang luas dan tidak ada logging. Jalur pemulihan layak mendapat perhatian yang sama seperti jalur utama.

Restore testing adalah kontrol nyata

Sistem cadangan yang tidak pernah diuji hanya merupakan penyimpanan harapan.

Tim yang dapat pulih dengan baik tidak hanya memverifikasi bahwa pekerjaan cadangan telah selesai. Mereka membuktikan bahwa restorasi berfungsi, bahwa data yang diperoleh dapat digunakan, dan bahwa kunci dekripsi, pengaturan koneksi, dan layanan yang terkait semua berada di tempat ketika dibutuhkan.

Program restorasi yang praktis termasuk:

  1. Latihan restorasi rutin ke lingkungan yang terisolasi.
  2. Verifikasi fungsi aplikasi setelah pemulihan database, bukan hanya restorasi file.
  3. Pemeriksaan ketersediaan kunci agar cadangan yang dienkripsi dapat dienkripsi.
  4. Ulasan akses pada sistem yang dipulihkan untuk mencegah data sensitif menjadi terlihat luas selama insiden.

Cadangan tidak menyelamatkan Anda. Restore yang sukses menyelamatkan Anda.

Jika Anda hanya menguji pembuatan cadangan dan tidak pernah menguji restore di bawah tekanan, maka Anda belum memvalidasi strategi pemulihan Anda. Anda telah memvalidasi bahwa file dapat mengumpul di suatu tempat.

Daftar Periksa Pengembang untuk Penyimpanan Database yang Aman

Ini adalah daftar periksa yang saya inginkan tim menggunakan selama ulasan desain, ulasan rilis, dan pembersihan pasca-insiden.

Infografis Daftar Periksa Pengembang yang menggambarkan sepuluh praktik terbaik yang paling penting untuk menjaga penyimpanan database yang aman.

Desain

  • Apakah kita telah mengidentifikasi lapangan sensitif secara jelas: data pribadi, bahan autentikasi, catatan keuangan, dan apa saja yang tunduk pada aturan penyimpanan.
  • Apakah kita telah memutuskan apa yang tidak perlu disimpan: lapangan yang tidak diperlukan oleh fitur, dan salinan yang dapat dihindari oleh tim downstream.
  • Apakah kita telah memetakan setiap tempat data akan hidup: produksi, pengujian, log, ekspor, sistem analitik, cadangan, dan perangkat klien.

Implementasi

  • Apakah data dienkripsi saat istirahat dan dalam transit: untuk database, replika, dan jalur backup.
  • Apakah peran aplikasi dan layanan dikosongkan dengan ketat: tidak ada superuser bersama untuk lalu lintas aplikasi normal.
  • Apakah rahasia dan kunci enkripsi dihandle di luar code dan konfigurasi longgar: dengan akses yang dikontrol dan auditabilitas.
  • Apakah kita merekam akses sensitif dan perubahan hak istimewa: di tempat sentral yang dapat ditanya oleh penjaga.

Operasi

  • Apakah rotasi kunci dan tinjauan rahasia menjadi bagian dari ops normal: tidak menjadi kerumunan tahunan.
  • Apakah kami melakukan pemulihan secara teratur: termasuk penguncian, startup aplikasi, dan tinjauan akses pada sistem yang direcovery.
  • Apakah kami melakukan audit penyebaran data secara terus-menerus: salinan pengembangan, ekspor dukungan, dataset pengembangan, dan lokasi cadangan yang terlupakan.

Penyimpanan database yang aman bukanlah tahap proyek. Ini adalah disiplin yang berulang.

Frequently Asked Questions

Apakah enkripsi default penyedia cloud cukup baik

Ini adalah dasar yang kuat, bukan strategi yang lengkap. Enkripsi default membantu melindungi media penyimpanan dan layanan yang diatur, tetapi tidak menyelesaikan akses yang berlebihan, dataset yang dicopy, kontrol cadangan yang lemah, atau pengelolaan kunci yang buruk.

Apakah enkripsi mengganggu kinerja database

Kadang-kadang, ya. Dampaknya tergantung pada pola. Enkripsi infrastruktur dan database biasanya memiliki kompleksitas aplikasi yang lebih sedikit. Enkripsi field-level memberikan kontrol yang lebih kuat untuk data yang dipilih tetapi dapat memperumit indeks, filtering, dan pencarian. Ukur pada beban kerja Anda sebelum peluncuran luas.

Apakah ini berbeda untuk sistem SQL dan NoSQL

Prinsip-prinsip tetap sama. Anda masih membutuhkan enkripsi, hak istimewa yang paling sedikit, auditing, pengelolaan kunci, dan pemulihan yang dites. Detail implementasi berbeda karena penyimpanan dokumen, penyimpanan nilai kunci, dan sistem relasional menampilkan model akses yang berbeda dan perilaku kueri.

Bagaimana tokenisasi berbeda dari enkripsi

Enkripsi mengubah data sehingga sistem yang diotorisasi dapat mengembalikannya dengan kunci yang tepat. Tokenisasi mengganti nilai sensitif dengan nilai pengganti dan menyimpan data asli terpisah. Tokenisasi dapat mengurangi paparan dalam alur kerja aplikasi, tetapi menambahkan kompleksitas desain sistem dan tidak menghilangkan kebutuhan untuk kontrol penyimpanan yang kuat.


Capgo membantu tim mengirimkan perbaikan ke Capacitor dan aplikasi Electron dengan cepat, dengan pengiriman bundle web yang ditandatangani, kontrol peluncuran, perlindungan rollback, dan observabilitas rilis. Jika rencana tanggap darurat Anda bergantung pada mendapatkan perbaikan sisi klien keluar cepat setelah kesalahan penyimpanan, autentikasi, atau API Capgo layak dievaluasi sebagai bagian dari sisi operasional pemulihan.

Update Langsung untuk Capacitor aplikasi

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk menciptakan aplikasi mobile yang benar-benar profesional.