Saya baru sekarang memahami tunnel Cloudflare Zero Trust
(david.coffee)- Menjelaskan arsitektur yang menghubungkan jaringan privat dan mengontrol akses layanan dengan memanfaatkan Cloudflare Zero Trust dan Warp tanpa masalah NAT atau firewall
- Melalui Argo Tunnel, jaringan privat atau layanan lokal dapat diekspos ke domain publik, atau dibangun sebagai jaringan privat yang hanya bisa diakses saat terhubung lewat Warp
- Tailscale cepat karena berbasis P2P, tetapi memiliki keterbatasan di lingkungan NAT; Cloudflare merutekan semua trafik melalui jaringan edge untuk menyediakan koneksi yang stabil
- Cloudflared bertugas membuat tunnel, sementara Warp Client menangani koneksi jaringan dan penerapan kebijakan; alur trafik dan kontrol akses dibangun dengan Tunnels, Routes, Targets
- Dengan menetapkan Access Policy yang rinci melalui login email, GitHub, dan lain-lain, dapat dibangun lingkungan jaringan yang aman yang melewati atau membatasi proses login berdasarkan apakah Warp terhubung atau tidak
Gambaran umum Cloudflare Zero Trust dan Warp
- Mulai mempelajari Cloudflare Zero Trust + Warp karena penetrasi NAT Tailscale gagal
- Melalui tunnel Zero Trust, berbagai fungsi dapat dimanfaatkan seperti menghubungkan jaringan privat, mempublikasikan layanan, membangun jaringan IP privat, hingga mempublikasikan layanan lokal secara sementara
- Semua trafik diteruskan melalui jaringan Cloudflare tanpa masalah NAT, dan kebijakan akses yang terperinci memungkinkan kontrol akses antara pengguna, bot, dan server
- Saat koneksi SSH, didukung login berbasis autentikasi Zero Trust tanpa port publik
Cloudflare Zero Trust vs Tailscale
- Tailscale mencoba koneksi P2P dengan melewati NAT dan firewall, dan memakai server relay jika tidak memungkinkan
- Cloudflare mengirim semua trafik selain Warp-to-Warp melalui server edge Cloudflare, sehingga tidak ada masalah NAT tetapi ada sedikit latensi
Perbedaan Cloudflared dan Warp
- Warp Client: alat untuk menghubungkan klien ke jaringan Cloudflare dan menerapkan kebijakan
- Umumnya dijalankan di klien, tetapi juga bisa digunakan di server
- Mendukung koneksi P2P melalui routing Warp-to-Warp
- Cloudflared: alat untuk membuat tunnel dan menambahkannya ke jaringan Zero Trust
- Dijalankan di server untuk menyediakan titik masuk jaringan
- Dapat terhubung ke resource Zero Trust lain dengan perintah
cloudflared access - Bisa membuat tunnel sekali pakai untuk pengujian
Struktur Tunnels, Routes, Targets
- Tunnels: titik keluaran trafik yang dideploy dengan
cloudflared- Contoh: dipasang pada perangkat yang selalu menyala di jaringan rumah (192.168.1.1/24)
- Di file konfigurasi (
/etc/cloudflared/config.yml), ditentukan tujuan routing saat permintaan masuk - Contoh:
gitlab.widgetcorp.tech→localhost:80,gitlab-ssh→localhost:22
- Contoh eksposur publik:
homeassistant.mydomain.com→ dirutekan ke192.168.1.3- Jika
CNAMEdi Cloudflare DNS diarahkan ke alamat tunnel, akses dimungkinkan tanpa Warp
- Routes: mendefinisikan rentang IP tertentu akan dikirim ke tunnel mana
- Contoh: seluruh
192.168.1.1/24atau satu IP192.168.1.3/32 - Saat Warp terhubung, permintaan ke IP tersebut diteruskan melalui jaringan Cloudflare ke tunnel
- IP virtual yang tidak benar-benar ada (misalnya 10.128.1.1) juga dapat dirutekan
- Contoh: seluruh
- Targets: mendefinisikan unit infrastruktur yang akan dilindungi
- Contoh:
homeassistant.mydomain.com→192.168.1.3/32 - Kebijakan akses dapat diberikan pada target agar hanya pengguna tertentu yang bisa mengakses
- Contoh:
Access Policies: kontrol akses
- Setelah tunnel, route, dan target dikonfigurasi, hak akses diatur dengan Access Policy
- Komponen kebijakan
- Include: kondisi yang mengizinkan akses (OR)
- Require: kondisi yang wajib dipenuhi (AND)
- Action: Allow / Deny / Bypass / Service Auth
- Contoh 1 – kontrol akses berbasis email
- Hanya alamat email tertentu yang diizinkan mengakses
- Autentikasi juga bisa dibatasi ke metode login GitHub
- Contoh 2 – melewati login saat Warp terhubung
- Dengan selector Gateway, layar login bisa dilewati saat terhubung ke Zero Trust Warp
- Jika Warp tidak terhubung, login GitHub diwajibkan
Deployment dan pendaftaran klien Warp
- Atur kebijakan pendaftaran di Settings → Warp Client
- Mengizinkan autentikasi GitHub dan hanya email tertentu untuk pendaftaran
- Jika WARP auth ID diatur, selector Gateway dapat digunakan
- Definisikan perilaku klien di Profile Settings
- Dapat mengatur protokol (MASQUE/WireGuard), mode layanan, IP yang dikecualikan dari routing, dan lain-lain
- Mendukung instalasi otomatis Cloudflare CA, pemberian IP CGNAT unik, dan pengaturan pemeriksaan status perangkat (Device Posture)
- Setelah login di klien Warp, koneksi ke jaringan Zero Trust selesai
- Setelah itu, permintaan ke
192.168.1.3dirutekan melalui tunnel
- Setelah itu, permintaan ke
Ringkasan hasil implementasi
- Pendaftaran klien Warp dilakukan dengan kebijakan login berbasis GitHub dan email
- Tunnel dalam jaringan privat meneruskan permintaan
homeassistant.mydomain.comke192.168.1.3 - Trafik ke
192.168.1.3hanya dapat diakses melalui tunnel saat Warp terhubung - Menyediakan dua metode: akses publik berbasis DNS dan akses privat berbasis Warp
- Saat Warp terhubung, login dilewati; saat tidak terhubung, autentikasi GitHub diwajibkan
Hal tambahan yang tidak dibahas
- Routing Warp-to-Warp
- Pembuatan IP privat khusus internal Zero Trust
- Konfigurasi kebijakan autentikasi SSH
- Jenis aplikasi selain Self-Hosted
Tidak ada informasi tambahan dalam teks asli
Belum ada komentar.