🌐 Expose Server Aman dengan Cloudflare Zero Trust dan Domain Sendiri

🌐 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

AlternatifKelebihanKekurangan
TailscaleSetup cepat, VPN mesh stabilTidak cocok expose domain publik langsung
ngrokTunnel instan untuk testingFree plan terbatas, URL sering berubah
ZeroTierPrivate overlay network mudahHarus install client di semua device
Traefik + LetsEncryptSSL otomatis dan kontrol penuhWajib 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.