Episode ini mengunci akses ke NAS: membatasi management UI ke subnet tertentu, menerapkan firewall dengan whitelist IP, dan mencegah exposure publik. Kalian juga belajar ACL SMB/NFS, IP allowlist pada shares, serta prinsip least privilege.

NAS menyimpan data yang paling berharga di jaringan kalian, dan dia harus dibuka lewat protokol jaringan. Episode 13 ini membahas access control dan firewall: bagaimana membatasi siapa yang bisa mengakses management UI, bagaimana memfilter lalu lintas dengan whitelist subnet, dan bagaimana mencegah NAS terekspos ke internet publik.
Banyak insiden keamanan NAS terjadi bukan karena serangan canggih, melainkan karena management UI atau SMB yang terbuka ke publik. Prinsip dasarnya sederhana: hanya layanan yang memang harus terlihat yang boleh terbuka, dan hanya ke jaringan yang memang seharusnya.
Di akhir episode ini kalian akan bisa membatasi management UI, mengonfigurasi firewall berbasis whitelist, memeriksa exposure publik, menerapkan ACL SMB dan NFS yang tepat, serta menerapkan least privilege di seluruh lapisan.
Management UI memberikan kontrol penuh atas NAS — membuat user, menghapus dataset, mengubah firewall. Jika UI ini bisa diakses semua orang di jaringan, satu credential bocor bisa menghancurkan semuanya. UI seharusnya hanya bisa diakses dari subnet administrasi.
ss -tlnpPerintah ss -tlnp menampilkan semua port yang mendengarkan. TrueNAS SCALE memakai port 443 untuk HTTPS dan port 6000 untuk WebSocket; OpenMediaVault memakai 443 setelah TLS diaktifkan. Pastikan port-port ini hanya terbuka ke subnet tertentu.
Pendekatan terbaik adalah memblokir port management UI di firewall untuk semua IP kecuali subnet admin. Ini mengurangi permukaan serangan drastis, karena penyerang tidak bisa menjangkau UI sama sekali.
TrueNAS SCALE memiliki firewall bawaan yang bisa dikonfigurasi lewat menu Network > Firewall atau pfctl. OpenMediaVault memakai nftables/iptables standar Debian. Mulailah dengan kebijakan default-deny untuk layanan yang tidak wajib.
pfctl -s rulesPerintah pfctl -s rules menampilkan aturan PF di TrueNAS SCALE. Pastikan ada aturan allow yang membatasi sumber akses ke subnet yang dibutuhkan, dan deny untuk sisanya.
Ubah pendekatan dari membuka port untuk semua menjadi whitelist: hanya subnet tertentu yang boleh mencapai port tertentu. Contoh pola:
Semakin sedikit jaringan yang boleh menjangkau sebuah layanan, semakin kecil risiko.
Penyebab umum exposure adalah port forwarding di router, baik disengaja maupun terlewat. NAS tidak boleh memiliki port yang diteruskan ke internet kecuali melalui lapisan keamanan yang ketat seperti VPN.
nmap -Pn -p 445,443,22 <IP-PUBLIK>Perintah nmap dari jaringan luar (misalnya via VPS atau cloud) menunjukkan port yang terbuka ke publik. Jika port SMB atau management UI tampil terbuka, segera tutup port forwarding di router.
Exposure publik berubah seiring konfigurasi. Jadwalkan uji berkala menggunakan service seperti internet monitoring atau nmap dari koneksi eksternal. Hasil yang ideal: tidak ada port yang terbuka ke internet, atau hanya VPN gateway yang terbuka.
Warning
Jangan pernah meneruskan port SMB (445) atau management UI NAS langsung ke internet. SMB tidak dirancang untuk jaringan yang tidak dipercaya, dan UI yang terekspos adalah pintu masuk paling umum untuk ransomware.
ACL yang dibuat di episode 7 perlu ditegakkan saat share diakses. Pada SMB, permission diatur per share dan per user; pada NFS, opsi seperti ro, rw, dan root_squash mengontrol akses di tingkat protokol.
/tank/data 192.168.1.0/24(rw,root_squash)
/tank/arsip 192.168.1.0/24(ro)Ekspor kedua di atas membatasi /tank/arsip read-only, sehingga client tidak bisa memodifikasi arsip meskipun user lokalnya punya hak tulis. Ini contoh kontrol akses berlapis di level protokol.
Verifikasi ACL berjalan benar dengan mencatat siapa yang mengakses apa, dan menguji sebagai user yang berbeda.
zfs get acltype tank/data
ls -l /tank/data/dokumenOutput ls -l menampilkan owner dan group, sedangkan zfs get acltype menunjukkan jenis ACL. Kombinasi ini memastikan permission yang kalian rancang benar-benar aktif.
Selain ACL per user, share bisa dibatasi berdasarkan IP asal. Pada NFS ini dilakukan di /etc/exports; pada SMB lewat host allow. Fitur ini sangat berguna untuk share yang hanya boleh diakses mesin tertentu.
/tank/vm 192.168.1.50(rw,no_root_squash)
/tank/vm 192.168.1.51(rw,no_root_squash)Konfigurasi di atas membatasi /tank/vm hanya untuk dua host hypervisor. Sumber IP lain ditolak meskipun tahu path dan kredensial.
Least privilege berarti setiap user, layanan, dan share mendapat hak minimum yang diperlukan. Contoh penerapan:
ps aux | grep -E "^root" | wc -lPerintah di atas menghitung proses yang berjalan sebagai root. Semakin sedikit, semakin baik. Pola ini akan diperdalam di episode 15 saat membahas non-root service.
Di episode 13 ini kalian sudah mengunci akses NAS: membatasi management UI, menerapkan firewall whitelist subnet, mencegah exposure publik, menegakkan ACL SMB dan NFS, membatasi share dengan IP allowlist, dan menerapkan least privilege.
Inti yang harus dibawa pulang:
Di episode 14 selanjutnya kita akan membahas encryption dan secure transport — dari enkripsi disk ZFS native dengan aes-256-gcm, GELI dan LUKS, manajemen key, hingga TLS untuk management UI, SFTP/FTPS, dan VPN untuk akses remote dengan Tailscale dan WireGuard. Akses sudah terkunci, sekarang saatnya melindungi data dari penyusup.