Mengamankan komunikasi di FreeBSD: pembuatan sertifikat dengan openssl, manajemen trust store dengan ca_root_nss, dan perbandingan base openssl vs LibreSSL. Kalian juga akan meng-hardening SSH dengan ed25519, membuat kunci dengan ssh-keygen, dan memanfaatkan tunneling untuk akses yang aman.

Di episode 13 sebelumnya kalian sudah menguasai IPFW dan analisis paket. Sekarang kita beralih ke lapisan keamanan transport: enkripsi, sertifikat, dan akses jarak jauh yang aman. Tanpa ini, semua firewall di dunia tidak akan melindungi data yang berjalan polos di jaringan. Episode ini membahas pembuatan sertifikat, pengelolaan trust store, hardening SSH dengan kunci ed25519, dan tunneling SSH.
FreeBSD menyertakan OpenSSL sebagai bagian dari base system. Versi ini dirawat khusus oleh tim FreeBSD dengan perhatian pada keamanan dan kompatibilitas. Cek versinya:
openssl versionBagi kalian yang ingin versi alternatif, LibreSSL (fork dari OpenSSL oleh OpenBSD) tersedia sebagai port. Perbandingannya:
| Aspek | Base OpenSSL | LibreSSL |
|---|---|---|
| Sumber | FreeBSD base system | Paket terpisah |
| Kematangan | Tinggi, dirawat tim FreeBSD | Tinggi, gaya OpenBSD |
| Kompatibilitas | Menyeluruh | Sangat baik |
| Cocok untuk | Default semua sistem | Kebutuhan spesifik |
Info
Untuk kebanyakan sistem, pakai OpenSSL bawaan base system. LibreSSL berguna saat kalian ingin menghindari API yang sudah deprecated atau membutuhkan perilaku yang lebih konservatif seperti ala OpenBSD.
Alur standar: buat kunci privat, lalu Certificate Signing Request (CSR):
openssl req -newkey rsa:2048 -nodes -keyout server.key -out server.csrUntuk pengujian internal, buat sertifikat self-signed:
openssl req -x509 -newkey rsa:2048 -days 365 -nodes -keyout server.key -out server.crtSertifikat self-signed tidak dipercaya browser atau klien lain secara otomatis — kalian harus menambahkannya ke trust store manual.
openssl verify -CAfile ca.crt server.crt
openssl x509 -in server.crt -noout -textpkg install ca_root_nsscertctl list
certctl rehashcertctl adalah tool modern untuk mengelola trust store FreeBSD. certctl rehash membangun ulang hash sertifikat di /etc/ssl.
Success
Setelah menginstal ca_root_nss dan menjalankan certctl rehash, aplikasi CLI seperti curl dan fetch akan mempercayai situs dengan sertifikat CA publik — penting untuk pkg dan freebsd-update yang berjalan otomatis.
cp corp-ca.crt /etc/ssl/certs/corp-ca.crt
certctl rehashKunci ed25519 adalah pilihan modern yang cepat dan aman:
ssh-keygen -t ed25519 -C "user@host"
ssh-copy-id user@serverEdit /etc/ssh/sshd_config untuk mengunci akses:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
KbdInteractiveAuthentication noDanger
Nonaktifkan PasswordAuthentication hanya setelah kalian yakin kunci publik sudah terpasang dan bisa login. Jika tidak, kalian akan mengunci diri sendiri. Uji dari sesi SSH yang sudah terbuka sebelum memuat ulang sshd.
HostKey /etc/ssh/ssh_host_ed25519_keysshd -t
service sshd restartSSH tunneling membawa lalu lintas melalui koneksi terenkripsi. Contoh: akses service internal dari mesin kalian:
ssh -L 8080:internal-host:80 user@gatewaySOCKS proxy menjadikan mesin kalian "berada" di jaringan remote:
ssh -D 1080 user@gatewayWarning
SSH tunneling melewati firewall dengan cara yang sah, tetapi pastikan kebijakan jaringan kalian mengizinkannya. Di lingkungan kerja, tunnel yang tidak diotorisasi sering menjadi temuan audit keamanan.
ca_root_nss dan jalankan certctl rehash secara berkala.pkg upgrade dan freebsd-update.openssl version
ssh -V
service sshd status
certctl list | wc -lDi episode 14 ini kalian sudah membahas OpenSSL dan TLS di FreeBSD: pembuatan sertifikat dengan openssl req, verifikasi, manajemen trust store dengan ca_root_nss dan certctl, hardening SSH dengan ed25519 dan sshd_config yang aman, serta tunneling untuk akses jarak jauh yang aman.
Inti yang harus dibawa pulang:
ca_root_nss dan rehash trust store agar klien mempercayai CA publik.sshd -t sebelum restart; tunneling SSH mengamankan akses internal.