Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Cloudflare Access ile SSH, RDP veya Dahili Panel gibi Servislere Kimlik Doğrulamalı Erişim Tüneli Oluşturma

✖ Kapat
Duyuru
✖ Kapat
Duyuru

pixero

Üye
Katılım
14 Mart 2026
Mesajlar
54
Merhaba arkadaşlar, bugün sizlere özellikle uzaktan çalışma döneminde ve sunucu güvenliğini katmanlamak isteyen herkes için harika bir yöntemden bahsedeceğim: Cloudflare Access Tüneli. Bu rehberde, SSH, RDP, veritabanı yönetim panelleri (phpMyAdmin, pgAdmin) veya dahili geliştirme araçları gibi servislerinizi, doğrudan internet üzerinden açmak zorunda kalmadan, güçlü kimlik doğrulama (Google, GitHub, OTP) arkasına nasıl alabileceğinizi adım adım anlatacağım. Bu sayede sunucunuza sadece yetkili kişiler erişebilecek ve saldırı yüzeyinizi ciddi oranda küçülteceksiniz.

🔍 Cloudflare Access ve Tünel Nedir?

Cloudflare Access, bir servise erişmeden önce kullanıcının kimliğini doğrulayan bir güvenlik katmanıdır. Cloudflare Tunnel (eski adıyla Argo Tunnel) ise, sunucunuzdan Cloudflare'in ağına giden güvenli, dışarıdan bağlantı kabul etmeyen (ingress olmayan) bir bağlantı kurar. İkisini birlikte kullandığınızda, servisiniz internetten tamamen gizlenir ve tüm trafik bu güvenli tünel üzerinden, Cloudflare'in kimlik doğrulama politikalarından geçerek size ulaşır. Yani sunucunuzda 22 (SSH) veya 3389 (RDP) portunu dış dünyaya açmanıza gerek kalmaz.

⚙️ Adım 1: Cloudflare'de Gerekli Ayarlar

Öncelikle Cloudflare hesabınızda domain'inizin yönetildiğinden emin olun. Daha sonra "Zero Trust" paneline girin (eskiden Access). İlk kez kullanıyorsanız, organizasyon adınızı ve alt domaininizi (örneğin, sirketim.cloudflareaccess.com) ayarlamanız istenecek.

🔐 Adım 2: Kimlik Doğrulama Sağlayıcısı Ekleme

"Access" > "Authentication" bölümüne gidin. Buradan kullanıcılarınızın giriş yapabilmesi için bir sağlayıcı ekleyin. Benim en çok kullandıklarım Google ve GitHub. Çok faktörlü doğrulama (MFA) için "One-time PIN"i de mutlaka aktif edin. Bu sayede ekstra bir güvenlik katmanınız olur.

⚠️ Adım 3: Uygulama ve Politika Oluşturma

"Access" > "Applications" kısmından "Add an application" diyerek yeni bir uygulama ekleyin. Tür olarak "Self-hosted" seçin.
- Application Name: Örn: "Sunucu SSH Erişimi"
- Session Duration: Oturum süresini belirleyin (örn: 12 saat).
- Application Domain: Erişim için kullanılacak subdomain'i yazın. Örneğin, ssh.sirketiniz.com. Bu domain'in DNS kaydını Cloudflare otomatik ekleyecek.
- Policies: En önemli kısım burası. "Add a policy" diyerek kimlerin erişebileceğini belirleyin. Örneğin, "Include" kısmına "E-posta adresi" seçip, teknik@firma.com yazabilirsiniz. Veya GitHub organizasyonunuzdaki herkesi ekleyebilirsiniz. Ben her zaman en kısıtlayıcı politika ile başlayıp, ihtiyaca göre genişletmenizi öneririm.

🖥️ Adım 4: Sunucuya Cloudflared Kurulumu

Şimdi sıra, tüneli kuracak olan hafif istemciyi (cloudflared) sunucumuza kurmaya geldi. Ben genelde Ubuntu/Debian tabanlı sistemler kullandığım için örneği ona göre veriyorum.

Bash:
# Cloudflare'in GPG key'ini ekleyelim ve repo'yu ekleyelim
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null

echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflared.list

# Paket listesini güncelleyip cloudflared'i kuralım
sudo apt-get update && sudo apt-get install cloudflared

Kurulum bittikten sonra, Cloudflare Zero Trust panelinizde "Access" > "Tunnels" kısmına gidin. "Create a tunnel" diyerek yeni bir tünel oluşturun ve bir isim verin (örn: sunucu-tuneli). Karşınıza bir komut çıkacak. Bu komutu, cloudflared service kurmadan önce sunucunuzda çalıştırarak tüneli hesabınıza bağlamanız gerekiyor.

🚀 Adım 5: Tüneli Yapılandırma ve Servis Olarak Çalıştırma

Tüneli oluşturduktan sonra, "Configure" kısmından hangi sunucu servisini, hangi subdomain'e bağlayacağınızı ayarlayacaksınız. Örneğin:
- Public Hostname: ssh.sirketiniz.com
- Service: SSH için ssh://localhost:22, RDP için rdp://localhost:3389, bir web paneli için
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.

Bu ayarı yaptıktan sonra, sunucunuzda cloudflared servisini başlatmanız yeterli. Sisteminize göre servis komutu değişebilir.

Bash:
# Systemd ile servisi başlatalım
sudo systemctl start cloudflared
sudo systemctl enable cloudflared

Artık ssh.sirketiniz.com adresine gittiğinizde (veya SSH istemcinizle bu adrese bağlanmaya çalıştığınızda), önce Cloudflare'in güzel login ekranı karşınıza çıkacak. Politikada tanımlı kimlik bilgilerinizle giriş yaptıktan sonra, bağlantınız sunucunuza yönlendirilecek.

💡 İleri Seviye İpuçları ve Optimizasyon

- Performans: Tünel bağlantısı genelde oldukça hızlıdır. Yine de sunucunuz ile en yakın Cloudflare veri merkezi arasındaki bağlantı önemlidir.
- Birden Fazla Servis: Aynı tünel üzerinden farklı subdomain'lerle onlarca servisi güvenli hale getirebilirsiniz. Her biri için ayrı Access politikası oluşturmayı unutmayın.
- Log Takibi: Tüm erişim denemelerini ve başarılı girişleri Zero Trust panelinden "Logs" > "Access" sekmesinden takip edebilirsiniz. Bu, güvenlik denetimi için çok değerli.
- Yedekleme: Tünel konfigürasyonunuz ve Access politikalarınız Cloudflare'de duruyor. Kritik politikalarınızın notunu almayı unutmayın.

Sonuç olarak, bu yöntemle sunucularınızın saldırıya açık portlarını neredeyse sıfıra indirebilir, erişimleri merkezi ve güçlü bir kimlik doğrulama mekanizmasıyla yönetebilirsiniz. Üstelik Cloudflare'in ücretsiz katmanında bile oldukça ciddi bir kullanım hakkınız var.

Siz bu güvenlik katmanını kendi ortamlarınızda nasıl kullanıyorsunuz? Farklı kimlik sağlayıcıları veya özel senaryolarınız var mı? Aşağıya yorumlarınızı bekliyorum. Takıldığınız bir nokta olursa, bu konu altından sormaktan çekinmeyin.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri