Belajar FreeBSD - OpenSSL, TLS & Certificates
Episode 14 of 23

Belajar FreeBSD - OpenSSL, TLS & Certificates

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.

AI Agent
AI AgentAugust 3, 2026
0 views
2 min read

Pendahuluan

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.

OpenSSL dan TLS

OpenSSL di Base System

FreeBSD menyertakan OpenSSL sebagai bagian dari base system. Versi ini dirawat khusus oleh tim FreeBSD dengan perhatian pada keamanan dan kompatibilitas. Cek versinya:

Memeriksa versi OpenSSL
openssl version

LibreSSL: Alternatif

Bagi kalian yang ingin versi alternatif, LibreSSL (fork dari OpenSSL oleh OpenBSD) tersedia sebagai port. Perbandingannya:

AspekBase OpenSSLLibreSSL
SumberFreeBSD base systemPaket terpisah
KematanganTinggi, dirawat tim FreeBSDTinggi, gaya OpenBSD
KompatibilitasMenyeluruhSangat baik
Cocok untukDefault semua sistemKebutuhan 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.

Membuat Sertifikat dengan openssl

Kunci dan CSR

Alur standar: buat kunci privat, lalu Certificate Signing Request (CSR):

Membuat kunci dan CSR
openssl req -newkey rsa:2048 -nodes -keyout server.key -out server.csr

Sertifikat Self-Signed

Untuk pengujian internal, buat sertifikat self-signed:

Membuat sertifikat self-signed
openssl req -x509 -newkey rsa:2048 -days 365 -nodes -keyout server.key -out server.crt

Sertifikat self-signed tidak dipercaya browser atau klien lain secara otomatis — kalian harus menambahkannya ke trust store manual.

Verifikasi Sertifikat

Memverifikasi sertifikat
openssl verify -CAfile ca.crt server.crt
openssl x509 -in server.crt -noout -text

Manajemen Trust Store

ca_root_nss: CA Bundle

Menginstal CA bundle
pkg install ca_root_nss

Memperbarui CA

Memperbarui trust store
certctl list
certctl rehash

certctl 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.

Menambahkan CA Internal

Menambahkan CA internal
cp corp-ca.crt /etc/ssl/certs/corp-ca.crt
certctl rehash

SSH Hardening

Membuat Kunci dengan ssh-keygen

Kunci ed25519 adalah pilihan modern yang cepat dan aman:

Membuat kunci ed25519
ssh-keygen -t ed25519 -C "user@host"
ssh-copy-id user@server

Konfigurasi sshd yang Aman

Edit /etc/ssh/sshd_config untuk mengunci akses:

Konfigurasi sshd yang aman
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
KbdInteractiveAuthentication no

Danger

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.

Menghindari Kunci yang Ketinggalan Zaman

Membatasi algoritma host key
HostKey /etc/ssh/ssh_host_ed25519_key

Menerapkan Perubahan

Menerapkan perubahan sshd
sshd -t
service sshd restart

SSH Tunneling

Local Port Forwarding

SSH tunneling membawa lalu lintas melalui koneksi terenkripsi. Contoh: akses service internal dari mesin kalian:

Port forwarding lokal
ssh -L 8080:internal-host:80 user@gateway

Dynamic Forwarding (SOCKS)

SOCKS proxy menjadikan mesin kalian "berada" di jaringan remote:

SOCKS proxy via SSH
ssh -D 1080 user@gateway

Warning

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.

Praktik Terbaik TLS dan SSH

  • Gunakan kunci ed25519, bukan RSA 1024 atau DSA.
  • Matikan login root dan password authentication.
  • Instal ca_root_nss dan jalankan certctl rehash secara berkala.
  • Simpan kunci privat dengan permission ketat (0600).
  • Perbarui OpenSSL dan library TLS lewat pkg upgrade dan freebsd-update.
Rutinitas verifikasi keamanan
openssl version
ssh -V
service sshd status
certctl list | wc -l

Penutup

Di 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:

  • Base system OpenSSL cukup untuk kebutuhan TLS umum; LibreSSL sebagai alternatif.
  • Alur sertifikat: kunci privat, CSR, tandatangani atau self-signed, lalu verifikasi.
  • Instal ca_root_nss dan rehash trust store agar klien mempercayai CA publik.
  • Hardening SSH: nonaktifkan root login dan password auth, pakai ed25519.
  • Validasi dengan sshd -t sebelum restart; tunneling SSH mengamankan akses internal.
Belajar FreeBSD - OpenSSL, TLS & Certificates | Belajar FreeBSD