Geleneksel olarak bir web uygulamasını veya yönetim panelini internete açmak için;

  • Public IP
  • Port Forwarding
  • NAT
  • Firewall Rule
  • Reverse Proxy

gibi bileşenlere ihtiyaç duyulur.

Bu yöntem çalışsa da aşağıdaki riskleri beraberinde getirir:

  • Origin IP’nin internete açık olması
  • Sürekli port taramalarına maruz kalma
  • Brute Force saldırıları
  • Exploit denemeleri
  • Yönetim panellerinin internete açık olması

Cloudflare Tunnel, bu yaklaşımı değiştirerek içeriden dışarıya (Outbound) güvenli bir TLS bağlantısı oluşturur. Böylece sunucuya gelen bağlantılar yerine sunucunun Cloudflare’a açtığı güvenli tünel üzerinden erişim sağlanır.

Sonuç olarak:

  • Public IP gerekmeyebilir.
  • Inbound firewall kuralı açılmaz.
  • NAT veya Port Forwarding ihtiyacı ortadan kalkabilir.
  • Origin IP kullanıcılarla paylaşılmaz.
  • Cloudflare’ın güvenlik servisleriyle entegre çalışır.

Cloudflare Tunnel Nedir?

Cloudflare Tunnel, sunucu ile Cloudflare Edge ağı arasında güvenli ve sürekli bir bağlantı kuran bir servistir.

Bu bağlantıyı sağlayan istemci yazılımının adı:

cloudflared

cloudflared, sunucudan Cloudflare ağına Outbound HTTPS (TLS) bağlantıları açar ve gelen kullanıcı isteklerini bu tünel üzerinden origin uygulamaya iletir.


Nasıl Çalışır?

Normal erişim:

İnternet

↓

Firewall

↓

Public IP

↓

Origin Server

Cloudflare Tunnel:

Kullanıcı
      │
      ▼
Cloudflare Edge
      │
      ▼
Cloudflare Tunnel
      │
Outbound TLS
      │
      ▼
cloudflared
      │
      ▼
Origin Application

Bu mimaride internetten origin sunucuya doğrudan bağlantı kurulmaz.


Tunnel’ın Temel Avantajları

  • Public IP gerektirmez.
  • Port Forwarding ihtiyacını azaltır.
  • Inbound firewall kuralı gerektirmez.
  • Origin IP gizli kalır.
  • DDoS korumasından yararlanılır.
  • WAF ile birlikte kullanılabilir.
  • Cloudflare Access ile entegre çalışır.
  • Zero Trust mimarisini destekler.

cloudflared Nedir?

cloudflared, Cloudflare Tunnel’ın istemci yazılımıdır.

Başlıca görevleri:

  • Cloudflare’a güvenli bağlantı kurmak
  • Tüneli sürekli açık tutmak
  • Servisleri yayınlamak
  • Bağlantıyı yeniden kurmak
  • Trafiği origin uygulamaya yönlendirmek

Windows, Linux, macOS ve Docker ortamlarında çalıştırılabilir.


Desteklenen Yayın Türleri

Cloudflare Tunnel yalnızca web siteleri için kullanılmaz.

Desteklenen servislerden bazıları:

  • HTTP
  • HTTPS
  • SSH
  • RDP
  • TCP servisleri
  • Kubernetes servisleri
  • Dahili web uygulamaları
  • API servisleri

Kurulum Akışı

Genel kurulum süreci aşağıdaki gibidir:

Cloudflare Dashboard

↓

Tunnel Oluştur

↓

cloudflared Kur

↓

Authenticate

↓

Tunnel Token

↓

Service Oluştur

↓

DNS Kaydı Oluştur

Birkaç dakika içinde uygulama internete güvenli şekilde yayınlanabilir.


Örnek Topoloji

                İnternet

                    │

                    ▼

          Cloudflare Edge

                    │

         Tunnel (TLS Outbound)

                    │

            cloudflared Agent

                    │

          192.168.1.20:443

                    │

            Web Application

Origin sunucu internete açık değildir.


Birden Fazla Servis Yayınlama

Tek bir Tunnel üzerinden birden fazla uygulama yayınlanabilir.

Örneğin:

Hostname Servis
app.example.com Web Uygulaması
git.example.com Git Sunucusu
wiki.example.com Wiki
monitoring.example.com İzleme Sistemi

Her servis farklı origin adresine yönlendirilebilir.


Cloudflare Access ile Entegrasyon

Tunnel’ın en güçlü özelliklerinden biri Cloudflare Access ile birlikte çalışabilmesidir.

Örneğin yalnızca aşağıdaki kullanıcıların erişmesine izin verilebilir:

  • Microsoft Entra ID
  • Google Workspace
  • GitHub
  • Okta
  • OneLogin
  • Ping Identity

Kullanıcı önce kimliğini doğrular, ardından uygulamaya erişebilir.

Kullanıcı

↓

Cloudflare Access

↓

Identity Provider

↓

Doğrulama

↓

Tunnel

↓

Origin

Bu yapı sayesinde VPN kullanmadan güvenli erişim sağlanabilir.


Private Network Erişimi

Tunnel yalnızca web uygulamaları için kullanılmaz.

Örneğin aşağıdaki ağ da yayınlanabilir:

10.10.0.0/24

Böylece uzaktaki kullanıcılar Cloudflare üzerinden özel ağa erişebilir.

Kullanım alanları:

  • Active Directory
  • SQL Server
  • File Server
  • ERP
  • Dahili uygulamalar

SSH Erişimi

SSH portunu internete açmadan erişim sağlanabilir.

Normal yapı:

SSH

↓

22 Portu Açık

Tunnel ile:

SSH

↓

Cloudflare Access

↓

Tunnel

↓

SSH Server

22 numaralı port internete açık olmak zorunda değildir.


RDP Erişimi

Windows sunucular için de benzer şekilde kullanılabilir.

RDP

↓

Cloudflare

↓

Tunnel

↓

Windows Server

3389 portu internetten erişilebilir olmak zorunda değildir.


Kubernetes Kullanımı

Kubernetes ortamlarında da yaygın olarak kullanılır.

Internet

↓

Cloudflare

↓

Tunnel

↓

Ingress

↓

Service

↓

Pod

Ingress Controller’ın internete açık olması gerekmeyebilir.


Yüksek Erişilebilirlik (High Availability)

Aynı Tunnel birden fazla cloudflared istemcisi tarafından kullanılabilir.

Cloudflare

↓

Tunnel

├── cloudflared #1

└── cloudflared #2

Bir sunucu devre dışı kalırsa diğer istemci hizmet vermeye devam eder.


Log ve İzleme

Cloudflare Dashboard üzerinden izlenebilecek bilgiler:

  • Aktif Tunnel’lar
  • Bağlantı durumu
  • Son bağlantı zamanı
  • Connector sayısı
  • Trafik istatistikleri
  • Hata kayıtları

İşletim sistemi servis logları da düzenli olarak takip edilmelidir.


Güvenlik Avantajları

Cloudflare Tunnel aşağıdaki saldırı yüzeyini önemli ölçüde azaltır:

  • Port Scanning
  • Brute Force
  • Exploit Scanning
  • Origin Discovery
  • Public IP Enumeration

Tunnel, kimlik doğrulama ve WAF ile birlikte kullanıldığında güvenlik seviyesi daha da artar.


Best Practices

✅ Cloudflare Access ile birlikte kullanın

Kimliği doğrulanmamış kullanıcıların uygulamaya erişmesini engelleyin.


✅ Public IP yerine Tunnel kullanın

Mümkün olduğunca origin sunucuları internete doğrudan açmayın.


✅ cloudflared servisini otomatik başlatın

Sunucu yeniden başladığında tünelin otomatik olarak ayağa kalkmasını sağlayın.


✅ Birden fazla Connector kullanın

Kritik sistemlerde yüksek erişilebilirlik için aynı Tunnel’a birden fazla cloudflared istemcisi bağlayın.


✅ Güncel sürümü kullanın

cloudflared düzenli olarak güncellenmektedir. Güvenlik ve performans iyileştirmelerinden yararlanmak için güncel sürümleri tercih edin.


✅ Least Privilege yaklaşımını benimseyin

Her uygulamaya yalnızca ihtiyaç duyan kullanıcı veya grupların erişmesine izin verin.


Sık Yapılan Hatalar

❌ Tunnel kullanırken origin sunucuyu yine internete açık bırakmak

❌ SSH veya RDP portlarını doğrudan yayınlamaya devam etmek

❌ Access politikası oluşturmadan uygulamaları yayınlamak

cloudflared loglarını takip etmemek

❌ Tüm uygulamaları tek bir geniş yetki politikası altında toplamak

❌ Tünel yapılandırmalarını belgelememek ve yedeklememek


Sorun Giderme İpuçları

Belirti Olası Neden Çözüm
Tunnel “Disconnected” cloudflared servisi durmuş Servisi yeniden başlatın ve logları kontrol edin.
502/503 hatası Origin uygulaması erişilemiyor Origin servisinin çalıştığını ve doğru hedefe yönlendirildiğini doğrulayın.
Access ekranı gelmiyor Access politikası eksik veya yanlış Uygulama ve Access yapılandırmasını gözden geçirin.
DNS çözülüyor ancak uygulama açılmıyor Tunnel ile DNS kaydı eşleşmiyor Tunnel Public Hostname ve DNS kaydını kontrol edin.

Sonuç

Cloudflare Tunnel, uygulamaları internete açmanın geleneksel yöntemlerine modern ve güvenli bir alternatif sunar. cloudflared aracılığıyla kurulan outbound bağlantılar sayesinde public IP, NAT ve inbound port ihtiyacı büyük ölçüde ortadan kalkar. Cloudflare Access ile entegre edildiğinde, kullanıcılar VPN kullanmadan kimlik doğrulaması yaparak güvenli bir şekilde uygulamalara erişebilir.

Kurumsal ortamlarda Tunnel; yönetim panelleri, dahili web uygulamaları, SSH, RDP ve özel ağ erişimi gibi birçok senaryoda güvenliği artırırken operasyonel karmaşıklığı da azaltır.

Tagged: