Validated on the combined 12-PR batch board: check:docs-all passes (docs-sync, doc-links over 855 links, fabricated-docs strict). 26-file Turkish documentation suite at full parity with consistent terminology. Thank you @ismailcelik-tr!
6.8 KiB
Kapsamlı Kılavuz: Cloudflare Tunnel ve Zero Trust (Split-Port) (Türkçe)
🌐 Languages: 🇺🇸 English · 🇪🇸 es · 🇫🇷 fr · 🇩🇪 de · 🇮🇹 it · 🇷🇺 ru · 🇨🇳 zh-CN · 🇯🇵 ja · 🇰🇷 ko · 🇸🇦 ar · 🇮🇳 hi · 🇮🇳 in · 🇹🇭 th · 🇻🇳 vi · 🇮🇩 id · 🇲🇾 ms · 🇳🇱 nl · 🇵🇱 pl · 🇸🇪 sv · 🇳🇴 no · 🇩🇰 da · 🇫🇮 fi · 🇵🇹 pt · 🇷🇴 ro · 🇭🇺 hu · 🇧🇬 bg · 🇸🇰 sk · 🇺🇦 uk-UA · 🇮🇱 he · 🇵🇭 phi · 🇧🇷 pt-BR · 🇨🇿 cs · 🇹🇷 tr
Bu kılavuz, OmniRoute'u korumak ve uygulamanızı hiçbir gelen bağlantı portu açmadan (Zero Inbound) internete güvenli bir şekilde sunmak için altın standart ağ altyapısını belgeler.
Sanal Makinenizde (VM) Ne Yapıldı?
OmniRoute'u PM2 aracılığıyla Split-Port (Ayrık Port) modunda etkinleştiriyoruz:
- Port
20128: Yalnızca API (/v1) çalıştırır. - Port
20129: Yalnızca görsel Yönetim Panosunu çalıştırır.
Ayrıca dahili servis REQUIRE_API_KEY=true gerektirir; bu da hiçbir ajanın Panonun API Keys sekmesinde oluşturulan geçerli bir "Bearer Token" göndermeden API uç noktalarını tüketemeyeceği anlamına gelir.
Bu yapı ağda tamamen bağımsız iki kural oluşturmamıza olanak tanır. Cloudflare Tunnel (cloudflared) burada devreye girer.
1. Cloudflare'de Tünel Oluşturma
cloudflared yardımcı programı makinenizde kuruludur. Bulut adımlarını izleyin:
- Cloudflare Zero Trust panonuza erişin (one.dash.cloudflare.com).
- Sol menüden Networks > Tunnels yolunu izleyin.
- Add a Tunnel seçeneğine tıklayın, Cloudflared seçin ve tünele
OmniRoute-VMadını verin. - Ekranda "Install and run a connector" başlıklı bir komut oluşturulacaktır. Yalnızca Belirteci (
--tokensonrasındaki uzun dize) kopyalamanız yeterlidir. - Sanal makinenize SSH ile bağlanın ve çalıştırın:
# Tüneli başlatır ve kalıcı olarak hesabınıza bağlar cloudflared service install BURAYA_UZUN_TOKENINIZI_YAPISTIRIN
2. Yönlendirmeyi Yapılandırma (Public Hostnames)
Yeni oluşturulan Tunnel ekranında Public Hostnames sekmesine gidin ve yaptığımız ayrımdan yararlanarak iki rotayı ekleyin:
Rota 1: Güvenli API (Kısıtlı)
- Subdomain:
api - Domain:
alanadiniz.com(kendi gerçek alan adınızı seçin) - Service Type:
HTTP - URL:
127.0.0.1:20128(Dahili API portu)
Rota 2: Zero Trust Pano (Kapalı)
- Subdomain:
omnirouteveyapanel - Domain:
alanadiniz.com - Service Type:
HTTP - URL:
127.0.0.1:20129(Dahili Uygulama/Pano portu)
3. Panoyu Zero Trust (Access) ile Güçlendirme
Hiçbir yerel şifre, panonuzu internete tamamen kapatmaktan daha iyi koruyamaz.
- Zero Trust panosunda Access > Applications > Add an application seçeneğine gidin.
- Self-hosted seçin.
- Application name kısmına
OmniRoute Paneliyazın. - Application domain kısmına
omniroute.alanadiniz.com("Rota 2"de belirlediğiniz adres) yazın. - Next butonuna tıklayın.
- Rule action için
Allowseçin. Kural adınaYalnızca Yöneticiyazın. - Include altında "Selector" olarak
Emailsseçin ve e-posta adresinizi girin (örn.admin@alanadiniz.com). - Kaydedin (
Add application).
Bu ne sağladı: Artık
omniroute.alanadiniz.comadresini açtığınızda doğrudan uygulamanıza düşmez! Cloudflare'in e-posta isteyen şık bir giriş ekranı çıkar. Yalnızca belirttiğiniz e-posta girildiğinde, gelen kutunuza20129portuna tüneli açan tek kullanımlık 6 haneli bir kod gönderilir.
4. API'yi Hız Sınırı (WAF) ile Korumak
Zero Trust Panosu API rotasına (api.alanadiniz.com) uygulanmaz; çünkü bu tarayıcısız, otomatik araçlar (ajanlar) aracılığıyla yapılan programatik bir erişimdir. Bunun için Cloudflare'in ana Güvenlik Duvarını (WAF) kullanacağız.
- Cloudflare Normal Panosuna (dash.cloudflare.com) erişin ve Alan Adınıza girin.
- Sol menüden Security > WAF > Rate limiting rules yolunu izleyin.
- Create rule butonuna tıklayın.
- Name:
OmniRoute API Kötüye Kullanım Önleme - If incoming requests match...
- Field:
Hostname - Operator:
equals - Value:
api.alanadiniz.com
- Field:
- With the same characteristics:
IPolarak bırakın. - Sınırlar (Limit):
- When requests exceed:
50 - Period:
1 minute
- When requests exceed:
- Action:
Blockseçin ve engelleme süresini belirleyin (1 dakika veya 1 saat). - Deploy.
Bu ne sağladı: Hiç kimse API URL'nize 60 saniyelik bir süre içinde 50'den fazla istek gönderemez. Bu, trafiğin tünelden sunucunuza inmesine gerek kalmadan ağın kenarında (Edge Layer) sunucunuzu aşırı yükten korur.
Özet
- Sanal makinenizde güvenlik duvarında (
/etc/ufw) hiçbir açık gelen port bulunmaz. - OmniRoute yalnızca giden HTTPS (
cloudflared) trafiğiyle haberleşir ve dünyadan doğrudan TCP bağlantısı almaz. - Yönetim web panonuz e-posta tabanlı İki Faktörlü Doğrulama (2FA) ile korunur.
- API'niz Cloudflare tarafından sınırlandırılmıştır ve yalnızca Bearer Token'lar kabul edilir.