CPFS General-purpose melindungi data Anda secara end-to-end dengan server-side encryption dan encryption in transit.
-
Server-side encryption: Melindungi data Anda saat disimpan (data at rest) dan mencegah kebocoran data akibat kehilangan atau pencurian disk fisik.
-
Encryption in transit: Melindungi data yang dikirim melalui jaringan dari penyadapan dan perubahan tidak sah.
Cara kerja
-
Server-side encryption
Fitur ini diimplementasikan menggunakan mekanisme enkripsi amplop (envelope encryption) berstandar industri dengan Alibaba Cloud Key Management Service (KMS). Sistem menghasilkan kunci enkripsi data (DEK) unik untuk setiap sistem file dan menggunakan algoritma AES-256 untuk mengenkripsi data Anda. DEK tersebut kemudian dienkripsi dan dilindungi oleh customer master key (CMK) yang Anda tentukan di KMS. Proses transparan ini menjamin keamanan data sekaligus mempertahankan performa baca/tulis tinggi melalui mekanisme caching DEK.
-
Encryption in transit
Fitur ini menyediakan transmisi data aman end-to-end berdasarkan perangkat lunak open-source Stunnel. Saat Anda memasang (mount) sistem file, tool client CPFS (
aliyun-alinas-utils) menjalankan proses proxy Stunnel pada instans ECS Anda. Proses ini membungkus seluruh lalu lintas NFS dalam saluran data terenkripsi Transport Layer Security (TLS), sehingga secara efektif mencegah penyadapan dan perubahan data selama pengiriman melalui jaringan.
Opsi enkripsi
Untuk skenario yang memerlukan tingkat keamanan tertinggi, kami merekomendasikan mengaktifkan kedua fitur—server-side encryption dan encryption in transit—untuk perlindungan data end-to-end.
|
Dimensi |
Server-side encryption |
Encryption in transit |
|
Manfaat utama |
Melindungi data at rest dan mencegah kebocoran data akibat kehilangan atau pencurian disk fisik. |
Melindungi data in transit dan mencegah penyadapan jaringan. |
|
Kasus penggunaan |
|
|
|
Dampak performa |
Penurunan kecil pada IOPS dan throughput, dengan sedikit peningkatan beban CPU. |
Sekitar 10% dampak performa (latensi akses meningkat 10% dan IOPS turun 10%). Untuk aplikasi intensif throughput, proses Stunnel untuk setiap titik mount dapat mengonsumsi satu core CPU penuh dalam kasus ekstrem. Oleh karena itu, siapkan sumber daya CPU yang cukup sesuai beban kerja Anda. |
|
Biaya |
|
Gratis |
|
Kompleksitas manajemen |
Konfigurasi sekali saat pembuatan. Jika customer-managed key dihapus secara tidak sengaja, data yang dienkripsi dengannya akan hilang permanen. |
Anda harus menginstal dan memelihara client serta memantau masa berlaku sertifikat. Jika sertifikat client kedaluwarsa, sistem file berhenti merespons. |
Server-side encryption
Server-side encryption hanya dapat dikonfigurasi saat membuat sistem file. Setelah dibuat, Anda tidak dapat menonaktifkan enkripsi atau mengganti kunci. Mengaktifkan enkripsi memiliki dampak kecil pada performa, yang mungkin sedikit menurunkan IOPS dan throughput.
Langkah 1: Pilih metode manajemen kunci
Pilih metode manajemen kunci berdasarkan kebutuhan keamanan dan kepatuhan Anda:
-
Managed key: CPFS membuat dan mengelola kunci untuk Anda, sehingga Anda tidak perlu mengelola siklus hidupnya. Anda tetap memiliki izin audit. Metode ini gratis, mudah dikelola, dan cocok untuk skenario keamanan umum.
-
Customer-managed key (via KMS): Gunakan kunci yang Anda kelola di KMS untuk mengenkripsi sistem file. Anda memiliki kontrol penuh atas siklus hidup kunci, termasuk pembuatan, pengaktifan, penonaktifan, rotasi, dan penghapusan. Metode ini cocok untuk skenario dengan persyaratan kepatuhan ketat atau ketika Anda harus mengontrol kunci sendiri. Dua sumber kunci didukung:
-
Kunci yang dibuat di KMS: Buat customer master key (CMK) di konsol KMS.
-
Bring Your Own Key (BYOK): Impor kunci yang dihasilkan eksternal ke KMS untuk digunakan.
Jika Anda memilih customer-managed key, Anda harus terlebih dahulu membuat atau mengimpor customer master key (CMK) di konsol Key Management Service.
-
Langkah 2: Buat sistem file terenkripsi
-
Masuk ke CPFS console dan buka halaman pembuatan sistem file.
-
Atur Encryption Type menjadi Managed key atau Customer-managed key (via KMS).
-
Jika Anda memilih Customer-managed key (via KMS), pilih kunci dari daftar drop-down Key ID.
Pertama kali menggunakan fitur ini, sistem akan memandu Anda membuat service-linked role untuk memberi otorisasi CPFS mengakses sumber daya KMS Anda.
-
Lengkapi parameter konfigurasi lainnya, lalu buat sistem file.
Langkah 3: Verifikasi konfigurasi enkripsi
Setelah sistem file dibuat, periksa statusnya di kolom Encryption pada daftar sistem file untuk memastikan enkripsi telah diaktifkan.
Pada tahap ini, semua data yang ditulis ke sistem file secara otomatis dienkripsi.
Encryption in transit
Encryption in transit diaktifkan dengan menambahkan parameter khusus saat Anda memasang sistem file. Fitur ini melindungi lalu lintas NFS selama perjalanan melalui jaringan.
Prasyarat
-
Anda telah membuat sistem file CPFS tujuan umum.
-
Instans ECS target memiliki Alamat IP publik atau Elastic IP Address (EIP) yang terkait.
Langkah 1: Instal client CPFS-NFS
-
Masuk ke instans ECS tempat Anda akan memasang sistem file CPFS. Untuk informasi lebih lanjut tentang cara menghubungkan ke instans ECS, lihat Metode koneksi.
-
Unduh dan instal client CPFS-NFS.
Alibaba Cloud Linux
-
Unduh client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.al.noarch.rpm -
Instal client CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
CentOS
-
Unduh client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.el.noarch.rpm -
Instal client CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
Ubuntu
-
Unduh client CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Instal client CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
Debian
-
Unduh client CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Instal client CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
SUSE
-
Unduh client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.lp15.x86_64.rpm -
Instal client CPFS-NFS.
sudo zypper --no-gpg-checks install -y aliyun-alinas-utils-*.rpm
-
-
Verifikasi instalasi.
which mount.cpfs-nfsInstalasi yang berhasil menghasilkan output berikut:
/usr/sbin/mount.cpfs-nfs
Langkah 2: Pasang dengan encryption in transit
Saat Anda mengaktifkan encryption in transit, jika sistem file NFS sudah dipasang ke direktori target (misalnya, /mnt) pada instans ECS Anda, Anda harus terlebih dahulu melepas (unmount) sistem file NFS sebelum memasang ulang sesuai petunjuk dalam topik ini.
Untuk mengaktifkan encryption in transit, tambahkan parameter -o tls ke perintah mount standar. Saat Anda memasang sistem file, tool client CPFS secara otomatis menulis pemetaan titik mount ke file /etc/hosts dan menghapus pemetaan tersebut saat Anda melepas sistem file.
# Contoh: Pasang dengan encryption in transit diaktifkan.
sudo mount -t cpfs-nfs -o tls,vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
-
-o tls: Wajib. Mengaktifkan encryption in transit. -
vers=3: Menentukan protokol NFSv3 untuk kompatibilitas lebih baik. -
rsize=1048576,wsize=1048576: Mengatur ukuran blok baca dan tulis menjadi 1 MB untuk mengoptimalkan performa transfer. -
hard: Menentukan mount tipe hard untuk menjamin konsistensi data.
Untuk informasi selengkapnya mengenai parameter mount, lihat Pasang sistem file menggunakan client CPFS-NFS (Direkomendasikan).
Langkah 3: Verifikasi enkripsi
Setelah sistem file dipasang, Anda dapat memverifikasi bahwa enkripsi telah diaktifkan dengan memeriksa proses Stunnel dan koneksi jaringan.
-
Periksa proses
Stunnel: Pastikan proses proxy Stunnel sedang berjalan.ps aux | grep stunnel -
Periksa koneksi jaringan: Pastikan Stunnel telah membuat koneksi terenkripsi ke server CPFS.
netstat -anp | grep stunnelAnda akan melihat bahwa proses
stunneltelah membuat koneksi ke port12049pada server CPFS.
Setelah verifikasi, semua operasi baca dan tulis pada direktori yang dipasang dikirim melalui saluran data terenkripsi.
Batasan
-
Batasan server-side encryption
-
Dikonfigurasi saat pembuatan: Server-side encryption harus dikonfigurasi saat Anda membuat sistem file dan tidak dapat diubah setelah pembuatan.
-
Batasan algoritma: Hanya algoritma AES-256 yang didukung. Algoritma lain seperti SM4 tidak didukung.
-
-
Batasan encryption in transit
-
Sistem file yang didukung: Hanya sistem file CPFS tujuan umum yang menggunakan protokol NFS yang didukung.
-
Penggunaan port: Secara default, proses Stunnel memerlukan port lokal
12049. Pastikan port ini tidak digunakan oleh layanan lain.Anda dapat menjalankan perintah
ss -ant | grep -w 12049untuk memeriksa apakah port tersebut sedang digunakan. Jika perintah menghasilkan output kosong, berarti port tidak digunakan. Jika port sedang digunakan, Anda dapat mengganti port tersebut dengan mengubah file konfigurasi. -
Penggunaan alamat IP lokal: Setiap titik mount dengan encryption in transit yang diaktifkan secara berurutan menggunakan alamat IP dari rentang
127.0.1.1hingga127.0.255.254. Alamat IP dilepaskan saat sistem file dilepas. Anda dapat menjalankan perintahcat /etc/hostsuntuk melihat penggunaan saat ini. -
Mode mount saling eksklusif: Anda tidak dapat menggunakan mode terenkripsi (TLS) dan tidak terenkripsi secara bersamaan untuk memasang sistem file yang sama ke titik mount yang sama. Untuk mengganti mode, Anda harus terlebih dahulu melepas titik mount yang ada.
-
Sistem operasi yang didukung: Hanya versi sistem operasi 64-bit berikut yang didukung.
Jenis sistem operasi
Versi sistem operasi
Alibaba Cloud Linux
-
Alibaba Cloud Linux 3.2104 64-bit
-
Alibaba Cloud Linux 2.1903 64-bit
CentOS
-
CentOS 8.x 64-bit
-
CentOS 7.x 64-bit
Ubuntu
-
Ubuntu 20.04 64-bit
-
Ubuntu 18.04 64-bit
-
Ubuntu 16.04 64-bit
Debian
-
Debian 10.x 64-bit
-
Debian 9.x 64-bit
-
Debian 8.x 64-bit
SUSE
-
SUSE Linux Enterprise Server 15 64-bit
-
-
Pemecahan masalah dan logging
Log client terkait encryption in transit berada di direktori /var/log/aliyun/alinas/. Anda dapat menyesuaikan konfigurasi logging dengan mengubah file /etc/aliyun/alinas/alinas-utils.conf:
|
Parameter |
Deskripsi |
Default |
|
|
Tingkat logging untuk tool client. |
INFO |
|
|
Ukuran maksimum satu file log. |
1048576 (1 MB) |
|
|
Jumlah maksimum file log yang disimpan. |
10 |
|
|
Mengaktifkan atau menonaktifkan logging debug Stunnel. Saat diaktifkan, informasi lebih rinci tentang proses jabat tangan TLS (TLS handshake) akan ditampilkan. |
false |
|
|
Menentukan apakah akan memeriksa nama domain pada sertifikat server. Kami merekomendasikan mengatur nilai ini ke |
false |
|
|
Menentukan apakah akan memeriksa periode validitas dan penerbit sertifikat server. Kami merekomendasikan mengatur parameter ini ke |
false |
Setelah mengubah konfigurasi, jalankan perintah berikut untuk me-restart layanan:
sudo service aliyun-alinas-mount-watchdog restart
Pertimbangan untuk lingkungan produksi
-
Risiko manajemen kunci (server-side encryption)
Jika Anda menggunakan customer-managed key, Anda harus menerapkan proses manajemen kunci yang ketat. Jika kunci dinonaktifkan atau dihapus, sistem file terenkripsi menjadi tidak dapat diakses dan data tidak dapat dipulihkan. Kami merekomendasikan mengaktifkan fitur perlindungan penghapusan (deletion protection) untuk kunci Anda di KMS. -
Manajemen sertifikat (encryption in transit)
Fitur encryption in transit dari client CPFS bergantung pada sertifikat pihak ketiga yang harus dirotasi secara berkala. CPFS akan memberi tahu Anda melalui email dan pesan internal satu bulan sebelumnya. Segera perbarui tool client
aliyun-alinas-utils. Kegagalan memperbarui client akan menyebabkan sistem file yang dipasang dengan encryption in transit berhenti merespons setelah sertifikat kedaluwarsa.
FAQ
T: Apakah data masih dapat diakses jika kunci enkripsi dinonaktifkan atau dihapus?
J: Tidak. Jika Anda menggunakan customer-managed key, sistem file terenkripsi menjadi sepenuhnya tidak dapat diakses untuk operasi baca maupun tulis jika kunci dinonaktifkan atau dihapus. Berhati-hatilah dalam mengelola kunci.
T: Apakah server-side encryption mengurangi kapasitas penyimpanan?
J: Tidak. AES adalah cipher blok dengan mekanisme padding otomatis. Data padding ini tidak dihitung dalam kapasitas penyimpanan sistem file Anda.
T: Apakah server-side encryption mendukung algoritma SM4?
J: Tidak. Enkripsi sisi server CPFS menggunakan algoritma AES-256 berstandar industri untuk melindungi data at rest dan menerapkan enkripsi amplop untuk mencegah akses data tidak sah. Kunci enkripsi sisi server dihasilkan dan dikelola menggunakan KMS. KMS menjamin kerahasiaan, integritas, dan ketersediaan kunci Anda. Untuk informasi lebih lanjut tentang enkripsi, lihat Gunakan enkripsi amplop dengan KMS untuk mengenkripsi dan mendekripsi data secara lokal.
T: Apa arti error mount berikut: The mountpoint <mountpoint> is already mounted with tls/non-tls, mixing tls and non-tls is not supported in this version?
J: Penyebab: Satu titik mount tidak dapat mendukung mode terenkripsi (TLS) dan tidak terenkripsi (non-TLS) secara bersamaan. Client mendeteksi upaya mount campuran ini, melaporkan error, dan menghentikan operasi.
Solusi: Gunakan perintah umount untuk melepas titik mount saat ini, pilih salah satu mode—TLS atau non-TLS—lalu jalankan perintah mount lagi.
T: Apa arti error mount berikut: Cannot mount with tls/non-tls now, please wait <sec> seconds for the unmount to complete?
J: Penyebab: Saat beralih antara mode terenkripsi dan tidak terenkripsi, sistem memerlukan periode tenggang singkat setelah pelepasan sebelum Anda dapat memasang ulang. Error ini terjadi jika Anda mencoba memasang ulang terlalu cepat selama periode tersebut.
Solusi:
-
Tunggu jumlah detik yang disebutkan dalam pesan error, lalu jalankan perintah mount lagi.
-
Anda juga dapat menyesuaikan durasi periode tenggang pelepasan dengan mengonfigurasi parameter
unmount_grace_period_sec. Untuk informasi lebih lanjut tentang konfigurasi, lihat Detail konfigurasi parameter client CPFS.