• Home
  • Tips
  • Cara Implementasi Zero Trust dengan Cloudflare Access

Cara Implementasi Zero Trust dengan Cloudflare Access

Oleh Adisty C. Putri
Cara Implementasi Zero Trust dengan Cloudflare Access 1

Aplikasi internal tidak harus dibuka untuk seluruh jaringan hanya agar dapat diakses oleh tim dari luar kantor. Dengan Cloudflare Access, organisasi dapat menempatkan pemeriksaan identitas dan kebijakan akses di depan aplikasi sebelum request diteruskan ke origin.

Panduan ini membahas implementasi Zero Trust Security dengan Cloudflare Access untuk aplikasi web yang dikelola sendiri. Fokusnya adalah langkah operasional: menyiapkan origin, membuat Cloudflare Tunnel, menghubungkan identity provider, menambahkan aplikasi, menyusun policy, menguji akses, dan memeriksa log.

Untuk pemahaman konseptual, baca terlebih dahulu artikel Zero Trust Security. Jika kamu ingin membahas arsitektur identity, workload, dan data pada skala cloud, gunakan panduan Zero Trust di cloud.

Hasil Akhir yang Akan Dibangun

Alur akses yang akan dibuat adalah sebagai berikut:

  1. Pengguna membuka hostname aplikasi, misalnya admin.example.com.
  2. Cloudflare Access memeriksa apakah pengguna memiliki session yang valid.
  3. Jika belum, pengguna diarahkan ke identity provider.
  4. Access mengevaluasi policy berdasarkan email, grup, perangkat, atau kondisi lain.
  5. Request yang diizinkan diteruskan melalui Cloudflare Tunnel ke origin.
  6. Aktivitas autentikasi dan keputusan akses dapat diperiksa melalui log.

Dengan pola ini, aplikasi tidak perlu memberikan akses jaringan luas. Kebijakan dibuat untuk aplikasi dan kelompok pengguna tertentu.

Ilustrasi akses aplikasi melalui Cloudflare
Ilustrasi perlindungan akses aplikasi dengan Cloudflare.

Cloudflare Access, Tunnel, Gateway, dan WAF: Apa Bedanya?

Beberapa produk Cloudflare memiliki fungsi yang berbeda. Memahami batasnya mencegah konfigurasi yang tumpang tindih.

  • Cloudflare Access: memeriksa identitas dan policy sebelum pengguna atau service mengakses aplikasi.
  • Cloudflare Tunnel: membuat koneksi keluar dari origin menuju jaringan Cloudflare tanpa membuka koneksi masuk langsung ke server.
  • Cloudflare Gateway: menerapkan kebijakan pada trafik DNS, HTTP, atau network milik pengguna.
  • Cloudflare WAF: memfilter request web berbahaya berdasarkan rule aplikasi. Baca juga penjelasan Cloudflare WAF.
Baca Juga:  Install Anaconda di Cloud VPS Ubuntu

Untuk gambaran layanan Cloudflare secara umum, baca artikel apa itu Cloudflare.

Prasyarat Implementasi

Sebelum memulai, siapkan:

  • Akun Cloudflare dengan akses ke Zero Trust.
  • Domain aktif pada akun Cloudflare.
  • Aplikasi web yang dapat diakses dari origin.
  • Akses administrator ke server atau container origin.
  • Identity provider, misalnya Google Workspace, Microsoft Entra ID, Okta, atau penyedia lain yang didukung.
  • Daftar pengguna atau grup yang boleh mengakses aplikasi.
  • Jalur emergency access jika identity provider bermasalah.

Gunakan aplikasi staging untuk pengujian awal. Jangan langsung memasang policy pada aplikasi production jika belum ada akun cadangan dan prosedur rollback.

Langkah 1: Tentukan Aplikasi dan Kebijakan Minimum

Dokumentasikan aplikasi sebelum membuka dashboard:

Komponen Contoh
Hostname publik admin.example.com
Origin service http://localhost:8080
Pengguna Grup administrator
Persyaratan Email perusahaan dan MFA
Session duration Disesuaikan dengan sensitivitas aplikasi
Fallback Akun break-glass dengan audit ketat

Mulailah dengan policy sederhana. Tambahkan kondisi perangkat atau lokasi setelah alur identitas dasar terbukti bekerja.

Langkah 2: Buat Cloudflare Tunnel

Pada dashboard Cloudflare, buka Networking > Tunnels, lalu pilih Create a tunnel. Berikan nama yang menjelaskan fungsi dan lingkungannya, misalnya staging-admin-app.

Dashboard akan menampilkan perintah instalasi cloudflared sesuai sistem operasi. Jalankan perintah tersebut pada server origin. Setelah connector aktif, status tunnel seharusnya berubah menjadi sehat atau terhubung.

Cloudflare Tunnel menggunakan koneksi keluar dari origin. Meski demikian, kamu tetap perlu membatasi service lokal, memperbarui server, dan memastikan token tunnel tidak disimpan di tempat publik.

Untuk penjelasan instalasi yang lebih khusus, gunakan panduan Cloudflare Tunnel di VPS Ubuntu.

Verifikasi Tunnel

  • Service origin berjalan pada port yang benar.
  • cloudflared aktif sebagai service.
  • Tidak ada firewall lokal yang memblokir koneksi keluar.
  • Hostname tunnel mengarah ke service yang tepat.
  • Log connector tidak menunjukkan kegagalan berulang.

Langkah 3: Tambahkan Public Hostname

Pada detail tunnel, tambahkan public hostname yang akan digunakan pengguna. Pilih domain dan subdomain, lalu isi tipe serta URL service origin. Contoh:

Setelah disimpan, uji apakah hostname dapat mencapai aplikasi. Pada tahap ini, jangan menganggap aplikasi sudah aman hanya karena berada di balik tunnel. Access policy tetap perlu dibuat untuk menolak pengguna yang tidak memenuhi syarat.

Langkah 4: Hubungkan Identity Provider

Buka area pengaturan autentikasi Cloudflare Zero Trust, lalu tambahkan identity provider yang digunakan organisasi. Ikuti nilai callback URL, client ID, dan client secret yang disediakan masing-masing penyedia.

Setelah integrasi disimpan:

  1. Lakukan test connection.
  2. Gunakan akun nonadministrator untuk login uji.
  3. Pastikan atribut email dan grup diterima dengan benar.
  4. Catat akun darurat yang tidak bergantung pada satu admin saja.

Jangan menonaktifkan metode akses lama sebelum login melalui identity provider berhasil diuji dari browser incognito.

Langkah 5: Tambahkan Aplikasi ke Cloudflare Access

Buka Zero Trust > Access controls > Applications, lalu pilih Create new application. Untuk aplikasi web yang dikelola sendiri, pilih kategori Self-hosted and private dan tambahkan public hostname.

Baca Juga:  Cara Cloudflare Mengatasi Serangan DDoS

Isi nama aplikasi, hostname, identity provider, dan session duration. Gunakan nama yang mudah dikenali di log, misalnya Admin Dashboard - Staging.

Cloudflare Access menggunakan pola deny by default untuk aplikasi. Pengguna harus cocok dengan allow policy sebelum memperoleh akses. Karena itu, pastikan policy pengujian tersedia sebelum aplikasi diaktifkan untuk tim.

Langkah 6: Buat Access Policy

Policy Cloudflare Access dapat menggunakan tiga jenis aturan utama:

  • Include: kandidat pengguna yang dapat dipertimbangkan untuk memperoleh akses.
  • Exclude: mengecualikan pengguna yang memenuhi kondisi tertentu.
  • Require: semua kondisi tambahan yang wajib dipenuhi.

Contoh Policy Dasar

Field Nilai Contoh
Action Allow
Include Email domain example.com
Require Grup IT-Admin
Exclude Akun kontraktor tertentu

Jangan memakai email domain sebagai satu-satunya syarat untuk aplikasi sangat sensitif. Tambahkan grup, MFA, device posture, atau approval sesuai risiko.

Langkah 7: Tambahkan Device Posture Secara Bertahap

Setelah akses berbasis identitas stabil, tambahkan kondisi perangkat. Contohnya:

  • Perangkat terdaftar pada organisasi.
  • Sistem operasi berada pada versi yang didukung.
  • Disk encryption aktif.
  • Endpoint protection berjalan.
  • Cloudflare One Client terhubung jika kebijakan membutuhkannya.

Terapkan posture check pada satu grup pengujian terlebih dahulu. Jika langsung diwajibkan untuk semua pengguna, kesalahan deteksi dapat mengunci akses ke aplikasi.

Konfigurasi kebijakan Zero Trust dengan Cloudflare Access
Sumber: Freepik

Langkah 8: Uji Skenario Allow dan Deny

Jangan hanya menguji satu akun administrator. Gunakan matriks pengujian berikut:

Skenario Hasil yang Diharapkan
Pengguna grup yang benar Diizinkan setelah autentikasi
Email perusahaan tetapi grup salah Ditolak
Akun pribadi Ditolak
Perangkat tidak memenuhi posture Ditolak atau diminta remediasi
Session kedaluwarsa Diminta autentikasi ulang
Origin berhenti Gagal mencapai service, bukan bypass ke origin

Lakukan pengujian melalui browser incognito agar session lama tidak menyamarkan kesalahan konfigurasi.

Langkah 9: Periksa Access Authentication Logs

Cloudflare menyediakan Access authentication logs untuk melihat siapa yang mencoba mengakses aplikasi, kapan akses terjadi, serta apakah request diizinkan atau ditolak. Gunakan log untuk:

  • Memastikan policy cocok dengan grup yang benar.
  • Menginvestigasi login gagal.
  • Mendeteksi upaya akses dari akun tidak sah.
  • Membuktikan pencabutan akses bekerja.
  • Mengevaluasi session duration.

Jangan hanya menyimpan log. Tetapkan siapa yang meninjau, berapa lama data disimpan, dan kondisi apa yang memicu alert.

Langkah 10: Lindungi Origin

Access policy tidak boleh mudah dilewati dengan mengakses IP origin secara langsung. Lakukan hardening berikut:

  • Hindari publikasi port aplikasi yang tidak diperlukan.
  • Batasi service agar hanya mendengarkan interface yang sesuai.
  • Gunakan firewall host.
  • Perbarui sistem operasi dan aplikasi.
  • Rotasi token tunnel jika diduga bocor.
  • Validasi token Access pada origin untuk aplikasi dengan kebutuhan lebih tinggi.
  • Gunakan HTTPS pada jalur yang memerlukannya.

Untuk aplikasi yang dijalankan pada server sendiri, kamu dapat melihat pilihan Cloud VPS DomaiNesia. Cloud VPS merupakan infrastrukturnya; konfigurasi Zero Trust, hardening, dan kebijakan akses tetap perlu diterapkan oleh pengelola sistem.

Siapkan Infrastruktur Cloud yang Bisa Kamu Kendalikan
Gunakan Cloud VPS DomaiNesia sebagai lingkungan untuk menjalankan aplikasi dan workload dengan konfigurasi server yang dapat disesuaikan dengan kebutuhan proyek.

Lihat Paket Cloud VPS DomaiNesia

Troubleshooting Cloudflare Access

Tunnel Berstatus Inactive

Pastikan cloudflared sudah dipasang dan dijalankan menggunakan token tunnel yang benar. Periksa service manager dan log connector.

Error 502 atau Origin Tidak Terjangkau

Periksa URL service pada public hostname. Pastikan protokol, host, dan port sesuai. Uji service dari server yang menjalankan cloudflared.

Pengguna Sah Tetap Ditolak

Periksa urutan policy, atribut grup dari identity provider, serta kombinasi Include, Exclude, dan Require. Gunakan authentication logs untuk melihat rule yang gagal.

Baca Juga:  Bikin Portofolio Situs Profesional dengan Joomla, Gampang!

Semua Pengguna Bisa Masuk

Periksa apakah ada policy terlalu luas seperti Include Everyone. Pastikan aplikasi yang benar sedang diedit dan tidak ada hostname lain yang melewati Access.

Login Berulang

Tinjau session duration, cookie, domain aplikasi, serta waktu sistem pada perangkat. Pastikan browser tidak memblokir cookie yang diperlukan.

Device Posture Tidak Terbaca

Pastikan client terdaftar, posture integration aktif, dan policy menggunakan selector yang tepat. Uji pada kelompok kecil sebelum diberlakukan luas.

Rollback dan Emergency Access

Siapkan prosedur sebelum production:

  1. Simpan salinan policy yang terakhir berfungsi.
  2. Sediakan minimal dua administrator.
  3. Buat akun break-glass dengan kredensial kuat dan monitoring.
  4. Dokumentasikan cara menonaktifkan policy bermasalah.
  5. Pastikan akses darurat memiliki batas waktu.
  6. Uji prosedur setidaknya secara berkala.

Emergency access bukan jalur permanen untuk melewati kebijakan. Setiap penggunaannya harus menghasilkan log dan review.

Checklist Sebelum Production

  • Tunnel terhubung dan service berjalan otomatis setelah reboot.
  • Origin tidak dapat dilewati melalui jalur publik lain.
  • Identity provider berhasil diuji.
  • Policy menggunakan grup dan kondisi yang tepat.
  • Akun sah diizinkan dan akun tidak sah ditolak.
  • Session duration sesuai sensitivitas aplikasi.
  • Log dapat ditemukan dan ditinjau.
  • Rollback serta emergency access terdokumentasi.
  • Pemilik aplikasi dan pemilik policy telah ditentukan.

Batasan Implementasi

Cloudflare Access membantu mengontrol siapa yang boleh mencapai aplikasi, tetapi tidak menggantikan:

  • Perbaikan kerentanan aplikasi.
  • Validasi input dan otorisasi di dalam aplikasi.
  • Backup serta disaster recovery.
  • Pengelolaan secret.
  • Endpoint protection.
  • Web application firewall untuk memfilter serangan aplikasi.

Zero Trust harus dipandang sebagai arsitektur berlapis. Access memperkuat pintu masuk, sedangkan aplikasi dan origin tetap perlu diamankan.

FAQ Implementasi Cloudflare Access

Apakah Cloudflare Access dapat menggantikan VPN?

Untuk aplikasi tertentu, Access dapat menggantikan akses jaringan yang luas dengan akses per aplikasi. Kebutuhan jaringan non-HTTP atau sistem lama tetap perlu dievaluasi secara terpisah.

Apakah aplikasi harus memiliki public hostname?

Tidak selalu. Cloudflare juga mendukung private hostname atau IP, tetapi routing dan client requirement berbeda. Panduan ini menggunakan public hostname agar alurnya lebih mudah diikuti.

Apakah Tunnel otomatis membuat aplikasi aman?

Tidak. Tunnel menghubungkan origin ke Cloudflare. Access policy, hardening origin, patching, serta kontrol di dalam aplikasi tetap diperlukan.

Apakah bisa mengizinkan service tanpa login manusia?

Bisa menggunakan mekanisme service authentication atau token sesuai kebutuhan. Token harus memiliki scope minimum, masa berlaku, dan rotasi yang jelas.

Bagaimana memilih session duration?

Sesuaikan dengan sensitivitas. Aplikasi administratif sebaiknya memiliki session lebih pendek daripada aplikasi berisiko rendah, tetapi jangan membuat durasi terlalu pendek hingga mengganggu pekerjaan.

Terapkan pada Satu Aplikasi Terlebih Dahulu

Implementasi Zero Trust dengan Cloudflare Access paling aman dimulai dari satu aplikasi staging. Pastikan Tunnel stabil, identitas terbaca, policy menghasilkan keputusan yang benar, serta log dapat digunakan untuk troubleshooting.

Setelah pilot berhasil, perluas ke aplikasi lain dengan policy yang dapat digunakan ulang. Pendekatan bertahap menjaga akses tetap terkontrol tanpa menciptakan perubahan besar yang sulit dipulihkan.


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya