Episode ini melindungi data saat diam dan saat transit: enkripsi disk ZFS native dengan aes-256-gcm, GELI dan LUKS, serta manajemen key. Kalian juga belajar TLS untuk management UI, SFTP dan FTPS, serta VPN untuk akses remote memakai Tailscale dan WireGuard.

Firewall dan access control melindungi NAS dari siapa yang boleh masuk. Episode 14 ini melindungi data itu sendiri: enkripsi saat diam (at-rest) dan enkripsi saat transit (in-transit). Jika data diamankan, pencurian disk atau penyitaan media tidak akan membocorkan isinya.
Enkripsi saat transit memastikan data yang mengalir antara NAS dan client tidak bisa dibaca pihak ketiga. Kombinasi keduanya membuat NAS kalian aman di dua titik paling rawan: media penyimpanan dan jaringan.
Di akhir episode ini kalian akan bisa mengaktifkan enkripsi ZFS native, memahami GELI dan LUKS, mengelola key dengan benar, mengamankan management UI dengan TLS, menggunakan SFTP dan FTPS, serta membangun VPN untuk akses remote.
ZFS memiliki enkripsi native yang dikelola per dataset dengan algoritma modern aes-256-gcm. Enkripsi bisa diaktifkan saat dataset dibuat; mengaktifkan setelahnya memerlukan proses ulang data.
zfs create -o encryption=aes-256-gcm -o keyformat=passphrase \
tank/rahasiaPerintah zfs create -o encryption=aes-256-gcm membuat dataset dengan enkripsi AES-256-GCM. Opsi keyformat=passphrase menentukan key dibuka dengan passphrase.
Enkripsi native ZFS berjalan di level filesystem, sehingga fitur ZFS lain seperti compression, snapshot, dan replication tetap bekerja. Snapshot dari dataset terenkripsi juga terenkripsi, dan kunci tidak pernah ikut tersalin ke replika.
zfs get encryption tank/rahasiaOutput zfs get encryption menampilkan algoritma yang dipakai. Sebelum menulis data penting, selalu pastikan dataset benar-benar terenkripsi dengan cara ini.
Jika filesystem tidak mendukung enkripsi (misalnya ext4), enkripsi dilakukan di lapisan block dengan LUKS di Linux (cryptsetup) atau GELI di FreeBSD. Pendekatan ini menyandikan seluruh block device, termasuk filesystem di atasnya.
cryptsetup luksFormat /dev/sdb
cryptsetup open /dev/sdb data-encPerintah cryptsetup luksFormat membuat container terenkripsi di /dev/sdb, lalu cryptsetup open membukanya sebagai device data-enc yang bisa diformat dan di-mount.
Pilih ZFS native jika memakai ZFS, karena integrasi fitur lebih rapi. Pilih LUKS/GELI jika filesystem lain yang dipakai, atau jika ingin enkripsi di level block yang lebih rendah. Keduanya sama-sama kuat; yang penting adalah konsistensi dan manajemen key yang baik.
Kunci enkripsi adalah satu-satunya jalan membuka data. Kehilangan kunci sama dengan kehilangan data. Jangan simpan key di lokasi yang sama dengan data terenkripsi, dan selalu miliki salinan cadangan key di tempat aman terpisah.
zfs load-key tank/rahasiaPerintah zfs load-key memuat key agar dataset terenkripsi bisa diakses. Untuk dataset passphrase, prompt akan meminta input; untuk key berbasis file, atur keylocation terlebih dahulu sesuai dokumentasi ZFS lalu muat key dengan cara yang sama.
Warning
Enkripsi melindungi dari pencurian media, bukan dari akses runtime. Setelah dataset dibuka dan di-mount, siapa pun yang punya akses ke sistem bisa membaca data. Enkripsi bukan pengganti access control.
Management UI harus selalu diakses melalui HTTPS. TrueNAS SCALE memakai sertifikat bawaan dan bisa dihubungkan dengan Let's Encrypt atau CA internal. OpenMediaVault menyediakan sertifikat via UI dan mendukung EC SSL certificates pada versi terbaru.
openssl s_client -connect 192.168.1.100:443 -showcertsPerintah openssl s_client menampilkan rantai sertifikat yang disajikan UI. Pastikan sertifikat valid dan tidak kadaluarsa, dan abaikan saja peringatan hanya jika memakai CA internal yang memang dipercaya.
Sertifikat self-signed bawaan menimbulkan peringatan browser. Untuk pengalaman bersih, daftarkan domain dan gunakan Let's Encrypt, atau deploy sertifikat CA internal ke semua client. Di homelab, CA internal dengan cfssl atau easy-rsa adalah solusi yang umum.
SFTP adalah transfer file di atas SSH, tanpa koneksi FTP terpisah. TrueNAS SCALE mengaktifkan SFTP saat layanan SSH berjalan. Keunggulannya: satu protokol, satu port (22), dan keamanan SSH yang matang.
sftp user@192.168.1.100
put berkas-iso.iso /tank/data/Perintah sftp membuka sesi transfer interaktif. Perintah put mengunggah file lokal ke direktori di NAS. SFTP lebih aman daripada FTP polos karena seluruh sesi terenkripsi.
FTPS menambahkan TLS ke protokol FTP. Jika aplikasi lama hanya mendukung FTP, FTPS menjadi kompromi yang lebih aman. Namun untuk integrasi baru, SFTP dan WebDAV over HTTPS umumnya lebih sederhana dan lebih mudah difirewall.
Akses remote ke NAS sebaiknya tidak membuka port publik. VPN menempatkan perangkat remote seolah berada di jaringan lokal yang sama, sehingga seluruh layanan NAS bisa diakses tanpa port forwarding. Dua teknologi populer: Tailscale dan WireGuard.
Tailscale adalah mesh VPN berbasis WireGuard yang menyederhanakan pembuatan jaringan pribadi antar perangkat. Di TrueNAS SCALE, Tailscale tersedia sebagai app; di client, tinggal login dan perangkat langsung saling terhubung.
wg-quick up wg0
ping 100.64.0.2Perintah wg-quick up wg0 mengaktifkan tunnel WireGuard. Jika ping ke peer berhasil, kalian sudah berada di jaringan pribadi dan bisa mengakses NAS tanpa port publik.
WireGuard adalah VPN modern yang ringan dan berkinerja tinggi. Konfigurasi manualnya sederhana namun tetap harus hati-hati dengan key privasi:
[Interface]
PrivateKey = kunci-privasi-peer
Address = 10.0.0.2/24
[Peer]
PublicKey = kunci-publik-server
Endpoint = nas.example.com:51820
AllowedIPs = 192.168.1.0/24Konfigurasi di atas menghubungkan client ke server WireGuard di NAS. Semua lalu lintas ke subnet LAN dialihkan lewat tunnel, sehingga akses ke NAS tetap terenkripsi end-to-end.
Di episode 14 ini kalian sudah melindungi data di dua titik kritis: enkripsi saat diam dengan ZFS native aes-256-gcm, GELI dan LUKS, manajemen key, serta enkripsi saat transit dengan TLS, SFTP, FTPS, dan VPN Tailscale atau WireGuard.
Inti yang harus dibawa pulang:
Di episode 15 selanjutnya kita akan membahas vulnerability dan patch management — dari CVE pada Samba dan OpenSSH, kebiasaan update rutin, hingga isolasi apps, non-root service, minimasi permukaan, dan security audit berkala. Data kalian sudah terenkripsi, sekarang saatnya menjaga sistem tetap sehat dari waktu ke waktu.