CloudFlare Nedir?

CloudFlare(CF) firması web sitelerine yönelik güvenlik ve CDN (İçerik Dağıtım Ağı) hizmeti veren tüm dünyaya yayılmış birçok sunucusu olan büyük bir internet şirketidir. CF’in ücretli ve ücretsiz birçok hizmeti bulunmaktadır. Ücretsiz hizmetlerinden olan DNS, CDN ve DDOS (Dağıtık servis dışı bırakma saldırısı) koruma hizmeti başı çekenlerdir ve ülkemizde de birçok alan adı (domain name) bu servisin sağladığı ücretsiz hizmetlerden faydalanmaktadır.

CF şöyle çalışır; Kendinize ait bir alan adınız varsa, CF’den ücretsiz bir hesap açarak alan adınızın DNS sunucularını CF’in DNS sunucularına yönlendirirsiniz. Yönlendirme gerçekleştiğinde alan adınızın IP adresi dönüşümünü artık CF yapar ve web sunucunuz ile ziyaretçi arasında konumlanarak birçok kullanışlı görevi yerine getirebilir. Ücretsiz olarak yerine getirdiği bazı görevler şunlardır:

  • Cache proxy olarak çalışır ve sunucunuzun IP adresinin gözükmesini engeller.
  • Cache proxy ve CDN (Content Delivery Network) ile sitenizin yüklenme hızını artırır, bant genişliğinden ve işlemci kullanımından tasarruf etmenizi sağlar.
  • WAF (Web Application Firewall) özelliği ile web tabanlı saldırılarını engeller ve hacker saldırılarına karşı güvenlik sağlar.
  • CF, içerik dağıtım ağını (CDN) kullanarak sitenizin içerik kopyalarını farklı coğrafi konumlara dağılmış sunucularında tuttuğundan ziyaretçilere bu kopyaları hızlı bir şekilde gönderebilir.
  • Sunucunuz kapandığında ya da servis dışı kaldığında, dilerseniz CF sunucularındaki kopyalardan siteniz çalışmaya devam edebilir.
  • Sitenizin JS ve CSS kodlarını optimize ederek tarayıcı başarımını artırır.
  • Ziyaretçi ile CF arasında SSL (https) kullanılmasını sağlayabilir.

Eğer kendinize ait bir alan adınız varsa ve sitenizi Raspberry Pi üzerinde barındırıyorsanız alan adı sunucusu olarak CF’i kullanmak web sitenizin başarımını oldukça arttırabilir. Siz de Raspberry Pi’ı çoğu kullanıcı gibi IP adresi değişken (dinamik) bir internet bağlantısı üzerinden internete bağlıyorsanız, alan adınızın IP adresini servis eden DNS sunucuyu yeni adresten haberdar etmeniz gerekir. Aksi takdirde alan adı ile sitenize erişim kurulamaz. Sonraki başlıkta bu işlemin nasıl yapılacağı anlatılmıştır.

CloudFlare dinamik alt alan adını Raspberry Pi ile güncellemek

CloudFlare (CF) hizmetinin temel olarak bir web sunucunun IP adresini ziyaretçiden gizleyerek bazı avantajlı işlevler sunduğundan bahsetmiştik. Diyelim ki alanadiniz.com sitenizi CF ile korumaya aldınız ve pi.alanadiniz.com alt alan adıyla da dinamik IP adresine sahip Raspberry Pi bilgisayarına (örneğin FTP/SSH/WWW hizmetlerine) erişmek istiyorsunuz. Bu durumda Raspberry Pi’ın gerçek IP adresi ile pi.alanadiniz.com alt alan adını ilişkilendirmeniz gerekir. Bu başlıkta CF üzerinde kayıtlı pi.alanadiniz.com alt alan adını Raspberry Pi üzerinde çalıştıracağımız bir betik ile güncelleyeceğiz. Böylece dinamik IP adresine sahip bir modem/router’ın arkasında duran Raspberry Pi bilgisayarına ana alan adımız için CF kullansak dâhi erişebileceğiz. CF’in sunucunun gerçek IP adresini gizlediğini hatırlayın.

Betik tarafından alt alan adının işaret ettiği IP adresinin güncellenmesi aşağıdaki şekilde gösterilmiştir. Betik belirli aralıklarla CF’ bağlanarak ilgili alt alan adının IP adresini, Raspberry Pi’ın o anki internet IP adresi ile günceller. Böylece Raspberry Pi, pi.alanadiniz.com adresi ile her zaman erişilebilir olur (internet IP adresiniz değişse dahi).

CloufFlare alt alan adının Raspberry Pi ile güncellenmesi

Bu işlemi gerçekleştirmek için öncelikle CF’e ücretsiz üye olarak alan adınızı ekleyin ve ardından alanadiniz.com’u kayıt ettiğiniz registrar’ın alan adı yönetim sayfasına girerek (örn.:namesilo.com) CF’in verdiği DNS sunucu adreslerini (örn.:jonah.ns.cloudflare.com) girin. Bu DNS güncellemesi kısa süre içerisinde geçerli olacaktır. Daha sonra CF alan adı yönetim paneline giderek aşağıdakine benzer şekilde alanadiniz.com ve pi.alanadiniz.com için A/CNAME kayıtlarını ve IP adreslerini ekleyin. Bunun için aşağıdaki görseli inceleyebilirsiniz:

pi.alanadiniz.com gerçek IP adresini işaret edeceğinden, bu kaydın Proxy status sütununa tıklatarak varsayılan Proxied değerini DNS only’e çevirmek gerekir. Böylece pi.alanadiniz.com alt alanına ulaşmak istediğinizde 103.102.166.224 IP adresine yönlendirileceksiniz. pi isimli alt alan adı sadece bir örnektir, Raspberry Pi’ınızı korumak için başkaları tarafından tahmin edilmesi güç özel isimler tercih etmelisiniz. Nede olsa pi.alanadiniz.com alan adı Raspberry Pi’ın gerçek IP adresini döndürmektedir. Şimdi de dinamik adresli internet bağlantısı kullanan Raspberry Pi’ımızın adresi değiştiğinde yukarıdaki tablonun ilk satırının Content sütununda yer alan IP adresini nasıl güncelleyebileceğine bakalım.

CF’in yönetim panelinde yer alan hemen her işlev, yine CF’in sağladığı API’lar sayesinde herhangi bir programlama ortamından okunabilir veya değiştirilebilir. Aşağıdaki betik CF API’larını kullanarak pi isimli A kaydını güncellemektedir. Betik, doğal olarak CF üzerindeki bu kaydı güncelleyecek yetkiye sahip olmalıdır. CF her alan adı için farklı yetkilere sahip yetki kodları üretmeye izin veriyor. alanadiniz.com adlı alan adı üzerinde değişiklik yapabilecek erişim kodunuzu almak için aşağıdaki adımları uygulayın:

  1. CF’e giriş yapın ve üzerinde işlem yapacağınız alan adını seçin.
  2. Sayfanın sağ üstünde yer alan Profil simgesine tıklatarak My Profile sayfasına gidin.
  3. API tokens sekmesine giderek Create Token düğmesine tıklatın.
  4. Yeni oluşturulacak Token’a bir isim verin ve Permissions açılır listesinden Zone’u, Access açılır listesinden DNS’i ve İşlem listesinden de Edit’i seçerek Continue to summary düğmesine tıklatın.
  5. Ardından Create Token düğmesine tıklatarak “kmRX5Y…” benzer erişim kodunun üretilmesini sağlayın. Bu kodu kopyalayarak cloudflare_dns_update.sh betik dosyasının içindeki auth_key değişkenine değer olarak verin.

CF erişim kodu oluşturma formu

Alt alan adını güncellemek için kullanacağımız ilgili betiği aşağıdaki gibi indirip, nano editörü ile ilgili alanları düzenleyin:

Betiğin düzgün çalışıp çalışmadığını kontrol etmek için; aşağıdaki gibi çalıştırın ve CF alan adı yönetim sayfasında yer alan pi.alanadiniz.com alt alan adının IP adresinin değişim değişmediğini kontrol edin. IP adresi o andaki internet IP adresiniz olmalıdır. O andaki IP adresinizi icanhazip.com adresinden görebilirsiniz.

Dikkat ettiyseniz betik çalıştığı dizinde cloudflare.ids, cloudflare.log  ve ip.txt adlarında bazı metin dosyaları üretti. Bu dosyalar sırasıyla CF saldırı tespit sisteminin döndürdüğü işlem kayıt numarası, CF API’ın cevabı ve Raspberry Pi’ın en son güncellenen internet IP adresinin tutulduğu metin dosyasıdır.

Şimdi de bu betik dosyasını cron’a ekleyerek belli zaman aralıklarıyla otomatik olarak çalıştırılmasını sağlayalım. Bunun için cron tablosuna aşağıdaki gibi bir satır eklenebilir. Böylece betik her saat başında çalışarak IP adresi değişmişse CF’i güncelleyecektir.

Modem Port Yönlendirmesi

Modeminizin arkasında duran Raspberry Pi bilgisayarına erişebilmek için modeminizin kontrol panelindeki Virtual Servers (Sanal sunucular) ya da Port Forwarding (Port Yönlendirme) ekranından Raspberry Pi’a yapılmış bir yönlendirmenin olması gerekir. Bu konu modem marka ve modeline göre değiştiğinden ötürü burada detaylandırılmayacaktır; ancak modeminizin marka ve modeli ile “modem port yönlendirme” anahtar kelimeleri ile küçük bir araştırma sonucu kolaylıkla öğrenebilirsiniz.

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.