Cloudflare Zero Trust tünelini ancak şimdi anladım
(david.coffee)- Cloudflare Zero Trust ve Warp kullanarak NAT·güvenlik duvarı sorunları olmadan özel ağları bağlama ve servis erişimini kontrol etme yapısının açıklaması
- Argo tüneli üzerinden özel ağları veya yerel servisleri genel bir alan adıyla dışarı açmak ya da yalnızca Warp bağlantısı varken erişilebilen bir özel ağ kurmak mümkün
- Tailscale P2P tabanlı olduğu için hızlıdır, ancak NAT ortamlarında kısıtları vardır; Cloudflare ise tüm trafiği edge ağı üzerinden yönlendirerek daha kararlı bağlantı sağlar
- Cloudflared tünel oluşturmayı, Warp Client ise ağa bağlanma ve politikaları uygulamayı üstlenir; trafik akışı ve erişim kontrolü Tunnels·Routes·Targets ile yapılandırılır
- E-posta·GitHub oturumu gibi yöntemlerle ayrıntılı Access Policy tanımlanarak, Warp bağlantısının durumuna göre oturum açma adımı atlanabilen veya kısıtlanabilen bir güvenli ağ ortamı kurulabilir
Cloudflare Zero Trust ve Warp'a genel bakış
- Tailscale'in NAT aşma girişiminin başarısız olması üzerine Cloudflare Zero Trust + Warp öğrenilmeye başlandı
- Zero Trust tüneli ile özel ağ bağlama, servis yayınlama, özel IP ağı kurma, yerel servisleri geçici olarak dışarı açma gibi çeşitli işlevler kullanılabiliyor
- NAT sorunu olmadan tüm trafik Cloudflare ağı üzerinden iletiliyor ve ince taneli erişim politikaları ile kullanıcı·bot·sunucu arasındaki erişim kontrol edilebiliyor
- SSH bağlantısında açık port olmadan Zero Trust kimlik doğrulama tabanlı oturum açma desteği sunuluyor
Cloudflare Zero Trust vs Tailscale
- Tailscale, NAT·güvenlik duvarını aşarak P2P bağlantı kurmayı dener; mümkün olmazsa bir aktarma sunucusu kullanır
- Cloudflare ise Warp-to-Warp dışındaki tüm trafiği Cloudflare edge sunucuları üzerinden iletir; bu sayede NAT sorunu yaşanmaz, ancak az miktarda gecikme oluşur
Cloudflared ve Warp arasındaki fark
- Warp Client: istemciyi Cloudflare ağına bağlayan ve politikaları uygulayan araç
- Çoğunlukla istemcide çalışır, ancak sunucuda da kullanılabilir
- Warp-to-Warp yönlendirme ile P2P bağlantı desteği sunar
- Cloudflared: tünel oluşturarak onu Zero Trust ağına ekleyen araç
- Sunucuda çalışarak ağ için giriş noktası sağlar
cloudflared accesskomutuyla diğer Zero Trust kaynaklarına bağlanabilir- Tek seferlik test amaçlı tünel oluşturabilir
Tunnels, Routes, Targets yapısı
- Tunnels:
cloudflaredile dağıtılan trafik çıkış noktaları- Örnek: ev ağında (192.168.1.1/24) sürekli açık bir cihaza kurulum
- Yapılandırma dosyasında (
/etc/cloudflared/config.yml) istek geldiğinde trafiğin nereye yönlendirileceği belirtilir - Örnek:
gitlab.widgetcorp.tech→localhost:80,gitlab-ssh→localhost:22
- Genel erişime açma örneği:
homeassistant.mydomain.com→192.168.1.3olarak yönlendirilir- Cloudflare DNS'te
CNAMEtünel adresine ayarlanırsa Warp olmadan da erişilebilir
- Routes: belirli IP aralıklarının hangi tünele gönderileceğini tanımlar
- Örnek: tüm
192.168.1.1/24aralığı veya tek bir192.168.1.3/32IP'si - Warp bağlantısı varken bu IP'lere giden istekler Cloudflare ağı üzerinden tünele iletilir
- Var olmayan sanal IP'ler de (ör. 10.128.1.1) yönlendirilebilir
- Örnek: tüm
- Targets: korunacak altyapı birimlerini tanımlar
- Örnek:
homeassistant.mydomain.com→192.168.1.3/32 - Hedefe erişim politikası atanarak yalnızca belirli kullanıcıların erişmesi sağlanabilir
- Örnek:
Access Policies: erişim kontrolü
- Tünel, route ve target yapılandırıldıktan sonra erişim yetkileri Access Policy ile belirlenir
- Politika bileşenleri
- Include: erişime izin veren koşullar (OR)
- Require: mutlaka sağlanması gereken koşullar (AND)
- Action: Allow / Deny / Bypass / Service Auth
- Örnek 1 – e-posta tabanlı erişim kontrolü
- Yalnızca belirli e-posta adreslerine erişim izni verilir
- Kimlik doğrulama GitHub oturumu ile sınırlandırılabilir
- Örnek 2 – Warp bağlıyken oturum açmayı atlama
- Gateway seçicisi kullanılarak Zero Trust Warp bağlantısı varsa oturum açma ekranı atlanabilir
- Warp bağlı değilse GitHub ile oturum açma istenir
Warp istemcisinin dağıtımı ve kaydı
- Settings → Warp Client bölümünde kayıt politikası ayarlanır
- GitHub doğrulaması ve yalnızca belirli e-postaların kaydolmasına izin verilebilir
- WARP kimlik doğrulama ID'si ayarlanırsa Gateway seçicisi kullanılabilir
- Profile Settings bölümünde istemci davranışı tanımlanır
- Protokol (MASQUE/WireGuard), servis modu, yönlendirme dışında tutulacak IP'ler vb. ayarlanabilir
- Cloudflare CA'nın otomatik kurulumu, benzersiz CGNAT IP atanması, cihaz durumu denetimi (Device Posture) yapılandırılabilir
- Warp istemcisinde oturum açtıktan sonra Zero Trust ağına bağlantı tamamlanır
- Bundan sonra
192.168.1.3istekleri tünel üzerinden yönlendirilir
- Bundan sonra
Kurulum sonucunun özeti
- Warp istemcisi, GitHub ve e-posta tabanlı oturum açma politikalarıyla kaydedildi
- Özel ağ içindeki tünel,
homeassistant.mydomain.comisteklerini192.168.1.3adresine iletir 192.168.1.3trafiğine yalnızca Warp bağlantısı varken tünel üzerinden erişilebilir- DNS tabanlı genel erişim ile Warp tabanlı özel erişim olmak üzere iki yöntem sunulur
- Warp bağlıyken oturum açma atlanır, bağlı değilken GitHub kimlik doğrulaması istenir
Ek olarak ele alınmayan başlıklar
- Warp-to-Warp yönlendirme
- Zero Trust içinde yalnızca dahili kullanıma yönelik özel IP oluşturma
- SSH kimlik doğrulama politikası yapılandırması
- Self-Hosted dışındaki uygulama türleri
Orijinal metinde ek bilgi yok
1 yorum
Hacker News görüşleri
Cloudflare, TLS sonlandırma noktası olarak çalıştığı için kişisel kullanımda dezavantajlı
Tailscale Funnel kullanıldığında sertifika doğrudan benim uç noktama kuruluyor, ancak Cloudflare trafiği arada çözüp yeniden şifreliyor
WARP’ın kişisel ağ gizliliği seviyesini tam bilmiyorum ama internet tünellemede gizlilik kaybının büyük olduğunu düşünüyorum
Ayrıca P2P bağlantı + relay fallback yapısının üçüncü taraf aracılığı olmadan çalışabilmesi çok daha tercih edilir görünüyor
Arkadaşımın makinesini WebRTC tabanlı exit node olarak kullanan bir yapı ve TURN/relay sunucuları olmadan yalnızca P2P destekliyor
NAT ortamına göre bağlantı başarı oranı düşük olabiliyor ama trafik üçüncü taraf sunuculardan geçmediği için gizlilik güvencesi net
Benzer bir kurulum Caddy ile de yapılabilir ama yine de port yönlendirme gerekiyor
Uçtan uca şifreleme ve 100’den fazla PoP üzerinden sağlanan performans ve güvenilirlik öne çıkıyor
Yalnızca katılan peer’ler uç noktaları açığa çıkardığı için güvenlik ve gizlilik açısından avantajlı
Kendin barındırabilir ya da resmî hizmeti kullanabilirsin
Evde ve kişisel kullanım için Netbird kullanıyorum
Synology NAS’ıma, ailedeki tüm dizüstü/masaüstü bilgisayarlara ve telefonlara kurdum; Tmux ortamında uzak masaüstü gibi kullanmak çok pratik
“Tüm trafik Cloudflare ağı üzerinden geçiyor” cümlesini görünce okumayı bıraktım
Hyprspace, karşılaştığım tüm NAT’ları aştı ve büyük şirket altyapısı olmadan da gayet iyi çalışıyor
Yazı gerçekten harika bir kurulum rehberi gibi hissettiriyor
Cloudflare bunu dokümante edip resmî rehber olarak kullansa yeridir
Tailscale’in NAT ortamında P2P bağlantı kuramadığında yaşanan sıkıntı yüzünden Cloudflare Zero Trust + Warp’ı öğrenmeye başladığını anlatan bir yazı okudum
Ama Cloudflare zaten baştan P2P denemiyor bile; sonuçta Cloudflare güven modeline geçilmiş oluyor
Motivasyonu anlamak zor ama yazının kendisi iyi derlenmiş
Bizim şirket de tamamen uzaktan çalışıyor ve Tailscale’den Cloudflare’a geçince performans arttı
Korunuyorsa güven modeli farkı çok büyük değil ama Cloudflare’ın gücü relay performansı olduğu için hız açısından avantajlı
Yine de Tailscale’in NAT hole punching kabiliyeti çok iyi; mümkün olduğunda doğrudan bağlantıyı tercih ediyorum
Kişisel servisleri dışarı açmak için tuns.sh kullanıyorum
SSH tüneli tabanlı olduğu için kurulum gerektirmeden hemen kullanılabilmesi hoşuma gidiyor
Hem yazı hem yorumlar faydalıydı
Ancak yazıdaki görseller bozuk, 404 hatası veriyor — örneğin: targets-config-screen.png
CF’nin altın meselesi hakkında sonunda eleştiri gelmesine sevindim
Zero Trust modelinin sorunlarını işaret eden tartışmalara ihtiyaç olduğunu düşünüyorum
Ücretsiz Cloudflare hesabıyla Plex sunucusu çalıştıramamak büyük bir sorun
İlgili şartlara buradan bakılabilir
Ben IPv6 üzerinden Emby ve Jellyfin’i arkadaşlarımla sorunsuz kullanıyorum
Basit web trafiğinin aksine tek bir film bile yüzlerce kat fazla bant genişliği maliyeti çıkarır
Kız arkadaşımın iş dizüstü bilgisayarına Tailscale kurulamıyordu, bu yüzden bu yöntem işe yaradı
Cloudflare kullanmak vendor lock-in değil mi diye merak ediyorum
En azından Tailscale’in böyle bir bağımlılık yaratmadığını düşünüyorum
Onu açık kaynak bir proje sanıyordum, öyle değilmiş