π Expose Server Aman dengan Cloudflare Zero Trust dan Domain Sendiri

β¨ Pendahuluan
Dalam pengalaman saya membangun homelab, membuka akses server ke internet adalah salah satu hal yang paling saya khawatirkan. Saya ingin bisa mengakses dashboard dan layanan pribadi dari mana saja, tetapi tetap aman. Itulah alasan saya mempelajari Cloudflare Zero Trust.
βοΈ Apa Itu Zero Trust?
Zero Trust adalah konsep keamanan yang saya pelajari pertama kali ketika banyak serangan brute force menarget server saya. Intinya: kita tidak mempercayai siapa pun secara default. Semua akses harus diverifikasi dengan identitas.
π Apa Itu Cloudflare Zero Trust?
Cloudflare Zero Trust adalah layanan yang saya gunakan untuk membuat tunnel terenkripsi. Server saya tidak lagi perlu port forwarding karena koneksi outbound ke Cloudflare, lalu Cloudflare meneruskan trafik ke server saya.
π οΈ Cara 1: Setup Cloudflare Zero Trust dengan CLI dan YAML
Langkah-langkah yang saya lakukan:
1οΈβ£ Unduh cloudflared:
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared
2οΈβ£ Login ke akun Cloudflare:
cloudflared tunnel login
3οΈβ£ Buat tunnel baru:
cloudflared tunnel create homelab-tunnel
4οΈβ£ Rute DNS domain:
cloudflared tunnel route dns homelab-tunnel app.mydomain.com
5οΈβ£ Buat config.yml:
tunnel: homelab-tunnel
credentials-file: /root/.cloudflared/homelab-tunnel.json
ingress:
- hostname: app.mydomain.com
service: http://localhost:8080
- service: http_status:404
6οΈβ£ Jalankan sebagai service:
cloudflared service install
systemctl enable --now cloudflared
π₯οΈ Cara 2: Setup dengan Cloudflare Zero Trust Dashboard
Saya juga mencoba dashboard web karena lebih mudah:
1οΈβ£ Masuk ke Cloudflare Dashboard > Zero Trust 2οΈβ£ Pilih Access > Tunnels 3οΈβ£ Buat tunnel baru dan download connector 4οΈβ£ Pilih domain yang saya gunakan (misalnya app.mydomain.com) 5οΈβ£ Atur service yang dituju (port internal) 6οΈβ£ Konfigurasi kebijakan akses (misalnya login email saya)
Dengan dashboard, saya tidak perlu menulis YAML.
π Kelebihan yang Saya Rasakan
β Port router tetap tertutup β SSL otomatis β Bisa autentikasi email pribadi β Praktis untuk banyak layanan
β Kekurangan Menurut Pengalaman Saya
- Setup pertama agak membingungkan
- Butuh akun Cloudflare aktif
- Kadang latency sedikit lebih tinggi dibanding port forwarding
π Domain Sendiri
Sebelum mencoba, saya membeli domain. Beberapa registrar yang pernah saya pakai:
- Hostinger
- Domainesia
- Rumahweb
- Namecheap
Cloudflare Registrar juga bagus karena integrasi DNS langsung.
π·οΈ Alternatif yang Pernah Saya Uji
Alternatif | Kelebihan | Kekurangan |
---|---|---|
Tailscale | Setup cepat, VPN mesh stabil | Tidak cocok expose domain publik langsung |
ngrok | Tunnel instan untuk testing | Free plan terbatas, URL sering berubah |
ZeroTier | Private overlay network mudah | Harus install client di semua device |
Traefik + LetsEncrypt | SSL otomatis dan kontrol penuh | Wajib port forwarding, setup lebih rumit |
Saya pribadi lebih sering memakai Tailscale untuk akses internal dan Cloudflare untuk domain publik.
π― Penutup
Menggunakan Cloudflare Zero Trust membuat saya lebih tenang karena semua akses diverifikasi, IP server tetap private, dan setup SSL otomatis. Kalau kamu baru memulai, saya sarankan mencoba dashboard dulu sebelum pakai CLI YAML, supaya lebih familiar. Setelah paham, kombinasi dua cara ini membuat homelab jauh lebih aman.