Cloudflare Tunnel ile Güvenli ve Port Açmadan Dış Dünya Yayını
Port yönlendirme yapmadan, NAT arkasındaki servislerinizi Cloudflare Tunnel ile güvenli bir şekilde internete nasıl açacağınızı adım adım inceleyin.
Caner Serbest
Sistem ve Altyapı
3 min read
Cloudflare Tunnel ile Güvenli ve Port Açmadan Dış Dünya Yayını
Günümüzde yerel ağımızda veya bir veri merkezinde barındırdığımız servisleri dış dünyaya açmak istediğimizde geleneksel yöntemimiz genellikle modem veya firewall üzerinde port yönlendirme (port forwarding) yapmaktır. Ancak bu yöntem, sistemimizi brute-force saldırılarına, port tarayıcılarına ve doğrudan IP adresimiz üzerinden gelebilecek çeşitli saldırılara karşı savunmasız bırakır. İşte bu noktada Cloudflare Tunnel (eski adıyla Argo Tunnel), trafiği güvenli bir şekilde tünelleyerek ağ güvenliğini maksimize eden modern bir çözüm olarak karşımıza çıkıyor.
Cloudflare Tunnel Nedir ve Neden Kullanmalıyız?
Cloudflare Tunnel, yerel ortamınız ile Cloudflare’in küresel ağı arasında şifreli ve güvenli bir bağlantı kurar. Bu sistemin en büyük avantajı, ağınızda herhangi bir inbound (gelen) portu açmanıza gerek kalmamasıdır. Dış dünyadan gelen trafik, Cloudflare’in kendi altyapısından geçer, gerekli güvenlik kontrolleri (WAF, DDoS koruması) yapılır ve tünel aracılığıyla doğrudan hedef servisinize iletilir.
Temel Avantajlar:
- Güvenlik: Public IP adresiniz gizli kalır.
- Kullanım Kolaylığı: Statik IP veya port açma derdi yoktur.
- Güvenli Erişim: İsterseniz Cloudflare Access ile bu servislere sadece belirli e-postaların girmesini sağlayabilirsiniz.
- Performans: Cloudflare’in global CDN ağını kullanır.
Kurulum Adımları
Bu rehberde, Linux tabanlı bir sunucu üzerinde çalışan bir web servisini dış dünyaya güvenli bir şekilde açmayı ele alacağız.
1. Cloudflare Dashboard Üzerinde Tünel Oluşturma
Öncelikle Cloudflare panelinize giriş yapın ve “Zero Trust” bölümüne gidin. “Networks” -> “Tunnels” yolunu izleyerek “Create a tunnel” butonuna basın.
- Tunnel tipini “Cloudflared” olarak seçin.
- Tünele bir isim verin (Örn:
ev-sunucusu-tunnels). - Kurulum için size verilen
cloudflaredkurulum komutunu kopyalayın.
2. Connector’ın Kurulması
Sunucunuz üzerinde terminali açın ve Cloudflare’in size sağladığı komutu çalıştırın. Örnek bir Debian/Ubuntu kurulumu şu şekildedir:
sudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
sudo cloudflared service install <TOKEN_DEGERINIZ>
sudo systemctl start cloudflared
Bu komutlar, sisteminizde cloudflared servisini bir daemon olarak başlatacak ve Cloudflare ile olan tünel bağlantısını canlı tutacaktır.
3. Public Hostname Tanımlama
Tünel kurulduktan sonra, hangi alan adının hangi yerel servise yönlendirileceğini belirlememiz gerekiyor. Dashboard üzerindeki “Public Hostname” sekmesine gelin.
- Subdomain:
myapp.alanadiniz.com - Service Type:
HTTP - URL:
localhost:8080(veya ilgili servisin yerel portu)
Bu yapılandırma, dış dünyadan gelen myapp.alanadiniz.com isteğini, sizin sunucunuzdaki 8080 portuna güvenli bir boru hattı üzerinden iletecektir.
Sahada Uygulama: Güvenlik Stratejileri
Sadece tünel kurmak yeterli değildir. Bu tüneli nasıl daha güvenli hale getirebiliriz? İşte bazı kritik ipuçları:
Zero Trust Yetkilendirmesi
Servisinizi herkese açmak yerine, sadece sizin belirlediğiniz kişilerin erişmesini istiyorsanız “Access Applications” kısmından bir kural oluşturun. Kullanıcılar siteye girmeye çalıştığında bir “Login with Google” veya “One-time PIN” ekranı ile karşılaşacaktır. Bu, özellikle hassas yönetim panelleri için hayat kurtarıcıdır.
Yerel Servis Güvenliği
Cloudflare Tunnel, trafiği dışarıdan gelen saldırılara karşı korur ancak içerideki servisinizin güvenliğinden siz sorumlusunuz. Servisinizi sadece 127.0.0.1 (localhost) üzerinden dinleyecek şekilde yapılandırın. Böylece dışarıdan doğrudan IP adresine istek atılsa bile servise erişilemez; sadece tünel üzerinden gelen güvenli trafik kabul edilir.
İzleme (Monitoring)
cloudflared servisinin durumunu düzenli olarak kontrol edin:
systemctl status cloudflared
Ayrıca Cloudflare Dashboard üzerinden “Tunnels” sekmesinde bağlantı durumunuzu “Healthy” (Sağlıklı) olarak görmelisiniz. Eğer bağlantı koparsa, servis otomatik olarak yeniden bağlanmaya çalışacaktır.
Sonuç
Cloudflare Tunnel, günümüzde yerel projeleri, geliştirme ortamlarını veya şirket içi araçları dış dünyaya güvenli bir şekilde açmak için kullanılabilecek en etkili ve zahmetsiz yöntemdir. Geleneksel port yönlendirme tekniklerinin getirdiği karmaşıklığı ve güvenlik risklerini ortadan kaldırarak, modern ağ mimarisine geçiş yapmak isteyen her sistem yöneticisi için bir standart haline gelmelidir.
Unutmayın, teknoloji dünyasında güvenlik bir seçenek değil, bir zorunluluktur. Portlarınızı kapatın, tünellerinizi açın ve güvenli bir dijital dünyanın tadını çıkarın.
Bu yazı Gemini ile otomatik oluşturulmuştur.