Kategori arşivi: Cloudflare

Cloudflare’nin sunduğu hizmetlerin kullanımı ile ilgili makaleler, cloudflare güvenlik yapılandırmaları ve performans optimizasyonları, workers kullanımı ve rehberler

Iptables Kullanarak CloudFlare Trafiğinin Kabul Edilmesi

Vakti zamanın’da CloudFlare kullanan bir web sitesinin yanlış yönlendirmeden doğan sızıntıyı, CloudFlare arkasında Sunucu IP’lerini açığa çıkarmak adlı makalemde açıklamış. Genel olarak sızıntıyı nasıl çözebileceğinizden kısaca bahsetmiştim.

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -p tcp -s 94.55.146.204 --dport 22 -j ACCEPT
for i in `curl https://www.cloudflare.com/ips-v4`; do iptables -I INPUT -p tcp -s $i --dport https -j ACCEPT; done
for i in `curl https://www.cloudflare.com/ips-v6`; do ip6tables -I INPUT -p tcp -s $i --dport https -j ACCEPT; done
iptables -A INPUT -p tcp --dport https -j DROP
ip6tables -A INPUT -p tcp --dport https -j DROP

Bu işlemleri yaptığınız andan itibaren makina sadece SSH bağlantısıyla size yanıt verecek onun dışında dışarıya sadece CloudFlare ile çıkış sağlanacak böylelikle IP aralıklarını tarayan botlara vb uygulamalara yanıt verilmeyeceği içinde leak imkanı kalmayacak. OSINT teknikleri ile bulunması zorlaşmış olacak.

Bunun dışında geçmişte kullanılan IP adreslerini tutan oldukça fazla yer olduğu için bu işlemlerden sonra IP değişikliği yapmanızı şiddetle öneriyorum.

CloudFlare arkasında Sunucu IP’lerini açığa çıkarmak

Uzun zaman önce yazmış olduğum bir makalede kısaca CloudFlare arkasında bulunan sunucuları DNS üzerinden nasıl yakalayabileceğinizi anlatmıştım.

Siber istihbarat toplarken kullandığımız siteler ancak burada bu tarz bir işleme girişmemiştim. Şimdi durum şundan ibaret bu site ilahi bir güç ile çalışmıyor tamamen akademik amaçlar için bilgi topluyor bunuda dünya üzerindeki ip adreslerini periyodik olarak tarayarak yapıyor.

Siteye gitmek için tıklayın

Censys, araştırmacıların Internet’i oluşturan ana bilgisayarlar ve ağlar hakkında soru sormalarını sağlayan bir arama motorudur. Censys, IPv4 adres alanının günlük ZMap ve ZGrab taramaları yoluyla ana bilgisayarlar ve web siteleri hakkında veri toplar ve ana bilgisayarların ve web sitelerinin nasıl yapılandırıldığına dair bir veri tabanını oluşturur. Araştırmacılar bu veri ile bir arama motoru, rapor hazırlama ve SQL arama motoru aracılığıyla etkileşim halinde olabilirler.

Şimdi Durum bu iken yapılacaklar basit ve hatta CloudFlare kullanıyorsanız Origin IP adresinizi ne şekilde koruyabileceğinizi anlatan çokta güzel bir makale bulunmaktadır.

Bunlardan ilki anlaşılabileceği gibi sadece CloudFlare IP aralıklarından gelen trafiklere izin vermektir. Ana IP adresinizi kesinlikle public olarak herkese açmayacaksınız. Zaten korunmanın asıl amacıda budur. Bunu yapmak için güvenlik duvarı ayarlarından aşağıdaki örnekte bulunduğu gibi ekleme yapmanızdır.

sudo ufw allow from 103.21.244.0/22 to any port 443
sudo ufw allow from 103.22.200.0/22 to any port 443
sudo ufw allow from 103.31.4.0/22 to any port 443
sudo ufw allow from 104.16.0.0/12 to any port 443
sudo ufw allow from 108.162.192.0/18 to any port 443
sudo ufw allow from 131.0.72.0/22 to any port 443
sudo ufw allow from 141.101.64.0/18 to any port 443
sudo ufw allow from 162.158.0.0/15 to any port 443
sudo ufw allow from 172.64.0.0/13 to any port 443
sudo ufw allow from 173.245.48.0/20 to any port 443
sudo ufw allow from 188.114.96.0/20 to any port 443
sudo ufw allow from 190.93.240.0/20 to any port 443
sudo ufw allow from 197.234.240.0/22 to any port 443
sudo ufw allow from 198.41.128.0/17 to any port 443
sudo ufw allow from 2400:cb00::/32 to any port 443
sudo ufw allow from 2405:8100::/32 to any port 443
sudo ufw allow from 2405:b500::/32 to any port 443
sudo ufw allow from 2606:4700::/32 to any port 443
sudo ufw allow from 2803:f800::/32 to any port 443
sudo ufw allow from 2c0f:f248::/32 to any port 443
sudo ufw allow from 2a06:98c0::/29 to any port 443

İkinci olarak Asla ve asla aynı sunucu üzerinde mail server yapılandırıp kullanmayacak olmanızdır. En çok yapılan yanlışlardan biridir. DNS taraması ile kolay bir şekilde Origin IP adresinize erişilebilir.

Bu tarz yöntemlerden kurtulmak için mail hizmeti veren yerleri tercih edebilirsiniz MX kaydı edinerek hem istediğiniz kişiye mail atabilir hemde mail alabilirsiniz. Bu servislerden bir kaçı

  • G Suite
  • Yandex Kurumsal
  • Zoho Mail

Üçüncü olarakta Web sunucunuzun ve web uygulamanızın bilinen tüm bilgi açıklama güvenlik açıklarına karşı düzeltildiğinden emin olun.

Mümkünse CloudFlare kullanımından hemen önce sağlayıcınızdan yeni IP adresi tahsis etmesini isteyin. Çünkü DNS kayıtları kamuya açık bir şekilde yayınlanır ve geçmiş kayıtların arşivlendiği birçok web sitesi bulunmaktadır. Bu geçmiş DNS kayıtları, CloudFlare’ye kaydolmadan önce ki kullandığınız Origin IP adresinizi kayıt eder.

Ayrıca Saldırgan, web sunucunuzu rasgele bir adrese bağlanmasını sağlayabilirse(ki genelde başarabilir), kaynak IP’yi görecektir. Kullanıcının belirli bir URL’den bir fotoğraf yüklemesine izin veren “URL’den yükle” gibi özellikler bulunuyorsa, indirmeyi yapan sunucunun web sitesi kaynak sunucusu olmadığı şekilde tekrar yapılandırılmalıdır.

Saldırgan girilen URL’yi seçebilirse, özellikle kendisine bağlananları izlemek için bir web sitesi oluşturabilir veya kullanıcıların IP adreslerini monitörlemek için kullanabilirler. Ayrıca mümkünse kullandığınız tüm subdomainleri CloudFlare arkasına alarak güvenli hale getirin.

Cloudflare ile Github Pages’de SSL Kullanımı

Şubat ayında blogumu statik bir şekilde github pages getirmiştim hatta bunu nasıl yaptığımı da sırasıyla anlatmıştım. Ancak Github Pages de kullandığım SSL konusu bazı arkadaşların dikkatini çekmiş custom domain de SSL kullanmamdan dolayı, aslında bunu yapabileceğiniz 1 adet firma bulunuyor oda Cloudflare bu hizmeti özellikle sağlıyorlar ve bilindiği gibi uzun zamandır da ücretsiz SSL vermekteler. Uzatmanın anlamı yok yapacaklarımız aslında çok kısa bize gerekenler ise şu şekilde;

  • Hali hazırda oluşturulmuş 1 adet Github pages
  • Cloudflare üzerinde oluşturulmuş 1 adet ücretsiz hesap
  • İngilizce okuyabilme ve regexp konusunda az buçuk bilgiye sahip olma
  • Sabır ve okuduğunu anlama

Cloudflare hesabınıza giriş yaptığınız andan itibaren size neler yapabileceğinizi ve bu sistemin ne kadar güzel olduğunu anlatan bir takım görseller karşınıza çıkacak bu özelliklerden biz sitemiz için 3 tanesini kullanacağız bunlar

  1. Universal SSL
  2. CDN
  3. Cache

Ayrıca bu sistemlere bağlı olarak kullanılacak bir takım ek özelliklerimiz de bulunuyor. Bu makaledeki gereken her şeyi yapan kişilerin web sitesi 1 saniyenin altında açılacaktır. (Sitenin tamamen statik olması gerekmektedir. Dinamik içerikli sitelere uygulandığı taktirde siteleriniz haliyle sağlıklı çalışmaz)

Universal SSL içerisinde Cloudflarenin bize sunduğu SPDY/HTTP-2 desteği ve tüm sayfaları 301 ile https şeklinde yönlendirmeyi

CDN özelliği ile sitemiz üzerinde bulunan tüm içeriği dağıtık yapıda dünyanın her yerine dağıtmayı

Cache özelliği ile de içeriğimizi kullanıcılara normalinden hızlı bir şekilde sunmayı amaçlıyoruz.

İlk önce oluşturduğunuz hesap ile Cloudflare sistemine giriş yapıyorsunuz. Yukarıda hiçte alışık olmadığınız yönlendirme yerleri geliyor. Zamanla alışacağınızı düşünerek pas geçiyor ve gereken ayarlarımızın yapılacağı yere geliyorum.

cloudgithubsslgorsel1

DNS alanına tıklıyorsunuz. karşınıza DNS bilgilerinizi girmenizi istediği yerler geliyor buradan siteniz için kullandığınız github.io ile biten domaini ekliyorsunuz şu şekilde olmalı

TürüAdDeğeriTTLDurum
CNAMEsiteadiniz.comkullaniciadi.github.ioOtomatikAktif
CNAMEwwwkullaniciadi.github.ioOtomatikAktif

Ayarlamalarınızı yukarıdakini referans alarak yapıyorsunuz ek olarak sisteminizde mail vs kullanıyorsanız yada kullanacaksanız herhangi bir firmadan MX hizmeti alabilirsiniz ve tekrar bu DNS sayfasına ekleme yaparak kullanabilirsiniz anında aktif olacak daha sonra Cloudflarenin size sunmuş olduğu nameserverları domain adresinizi aldığınız firmanın paneline giriyorsunuz ve aktif olmasını bekliyorsunuz bu işlem firmadan firmaya göre değişmekte olup genelde 24 saatte tamamen aktarılmaktadır. Ancak cloudflare hızlı olduğu için genelde bu 6 saate düşüyor firmanız işgüzarlık yapmaz ise kullanıcılarınız’a bir sıkıntı yapmadan yeni nameserver ile yayına geçebilirsiniz.

Ayarlarınız aktif olduktan sonra yani yaklaşık 5 dakika sonra üst menüde bulunan Crypto sekmesine geçiyorsunuz burada kullanacağımız SSL yi ayarlayacağız SSL seçimini yaparken Full yerine Full(strict) seçeneğini kesinlikle seçmeyiniz

AdıDeğeri
SSLFULL
HTTP Strict Transport Security (HSTS)ON
Authenticated Origin PullsON

HTTP Strict Transport Security (HSTS) ayarları ise aşağıdaki gibi değiştirilmesi gerekmektedir.

  • Status: ON
  • Max-Age: 6 months (recommended)
  • Include subdomains: On
  • Preload: On
  • No-sniff: On

Ayarlamalar neticesinde SSL sertifikanız Cloudflare tarafından oluşturulacak ve kullanıma başlayacaksınız SSL nin imzalanması yaklaşık bi 12-24 saat alabiliyor https niye çalışmıyor diye paniklemeyin.

Ardından Speed sekmesine geçiyorsunuz burada yapacaklarınız oldukça önemli çünkü sitenizde kullanacağınız JS kodları buna göre düzenlenecek misal adsense kullanıyorsanız özellikle buraların ayarlanması gerekiyor aksi taktirde reklamlarınız gözükmeyecek

AdıDeğeri
Auto MinifyHepsi Seçili
Rocket Loader™OFF

Ardından Cache sekmesine geçiyoruz buradaki ayarları da aşağıdaki tabloya göre yapıyorsunuz dikkat edilmesi gereken özellikle bir nokta var burada çok agresif bir cache işlemi uygulayacağız sitenizde yapacağınız değişiklikler gözükmeyebilir. Anasayfa otomatik olarak cachesi temizlense bile diğer sayfalarda yapacaklarınız değişmez bu yüzden cacheyi el ile temizlemeniz gerekebilir.

AdıDeğeri
Caching LevelNo Query String
Browser Cache Expiration1 Year
Always Online™ON

Şimdi sıra bu yaptıklarımızı kalıcı bir şekilde kullandığımız domaine uygulamada peki yapacaklarımız neler

  • Tüm domaindeki içerik için Cache özelliğinin aktif edilmesi
  • Tüm domain için kalıcı olarak Always Online özelliğinin aktif edilmesi
  • Tüm http:// linklerinin https:// kalıcı bir şekilde yönlendirilmesini sağlama

Hemen Page Rules kısmına geçiş yapıyorsunuz 3 tane hakkınız bulunuyor bunu güzel bir şekilde değerlendirmemiz gerekiyor ilk olarak benim yaptıklarım şu şekilde

DomainÖzellik
https://mertcangokgoz.com/*Always Online: ON, Cache Level: Cache Everything
https://*.mertcangokgoz.com/*Always Use HTTPS

Bu işlemlerden sonra ücretsiz bir şekilde web sitenizi barındırırken aynı zamanda da ücretsiz bir şekilde SSL sahibi olacaksınız ve web siteniz oldukça hızlı açılmaya başlayacak

CloudFlare’de DNSSEC Ayarlama İşlemi

DNS sistemindeki güvenlik eksikliklerini tamamlamak amacıyla geliştirilmeye başlanan DNSSEC sayısal verinin imza ile tamamlanmasını sağlayan bir teknolojidir. DNSSEC sadece isim sunucusunda kullanılan İP adresini doğrulamaya yarar.

Verinin güvenliğini sağlamak için aktif etmenizde fayda var.Aynı zamanda Ortadaki adam(MITM Attack) saldırılarına ve önbellek zehirleme(Arp Spoofing) saldırılarına karşıda koruma sağlamaktadır. Ancak unutulmaması gerekiyor herhangi bir Ddos(Denial-of-service attack) ve veri değişiminde gizliliği garanti etmez phishing saldırılarına karşı koruma sağlamaz web site verilerini şifrelemez. SSL ile birlikte aktif edildiği taktirde oldukça güvenli bir sistem haline geldiği görülmüştür.

Geçtiğimiz günlerde ise Cloudflare bu teknolojiyi sistemlerinde aktif ettiklerini duyurdu.Bizde elimizi çabuk tutup bu teknolojiden faydalanalım peki ne yapmamız gerekiyor ?

Öncelikli olarak Cloudflare sitesine üye olmuş olmanız ve hali hazırda kullanıyor olmanız ve NS bilgilerinizin cloudflarenin belirlemiş olduğu adreslerin olması gerekiyor. Bu aşamadan sonrası ise oldukça basit cloudflare her zaman ki gibi bize kullanıcı arayüzü konusundada yardım sağlıyor. Sisteme giriş yaptığınızda yukarıdaki seçeneklerden DNS seçiyorsunuz.

cloudflarednssecgorsel1

Bu seçenek altında siteniz ile ilgili capsulleme yaptığınız DNS bilgileri bulunuyor bu alan altında en alta geliyorsunuz. DNSSEC diye bir yer geldiğini göreceksiniz. Buradan Setup DNSSEC diyorsunuz ve kuruluma geçiyorsunuz sistem otomatik olduğu için sizin yerinize Key bilgilerinizi oluşturuyor.

Burada size birkaç bilgi gerekiyor Domain kayıt ettiğiniz yerinde DNSSEC desteklemesi gerekiyor namecheap gibi bir yerden aldıysanız eğer böyle bir imkanınız olmayacak o yüzden baştan kayıp ediyorsunuz.

cloudflarednssecgorsel3

Yukarıdaki bilgileri ben domain adresimi kayıt ettiğim firmanın sitesine giderek ekleme yapıyorum.Her zaman ki gibi name.com dan aldığım için DNSSEC desteğimizin olduğunu nameserver panelinde görüyoruz. “Edit Nameserver” bölümüne giriş yapıyorsunuz en aşağıda şu şekilde bir bölüm göreceksiniz.Diğer domain sağlayıcılarında yapılacak adımlar için Tıklayınız

cloudflarednssecgorsel4name

DNSSEC yönetim sayfasına geçiş yapıyoruz buraya cloudflarenin bize vermiş olduğu DS kayıtlarını tanımlamamız gerekiyor. Bu işlemleri yanlış yaparsanız domain adresinize erişemezsiniz tekrar doğru kayıtları girdiğinizde erişim tekrar geleceğini unutmayınız. Burada dikkat etmeniz gereken nokta Digest Type kısmını cloudflare şifreleme algoritmasını yazarak vermiş bu algoritma name.com sistemlerinde 2 numaraya denk geliyor. İki olarak düzenlediğinizde hata almayacaksnız aksi taktirde “syntax error” şeklinde hatalar alabiliriniz.

cloudflarednssecgorselson

Kayıtlarımızı doğru bir şekilde girdikten sonra DNSSEC artık aktif hale geldi bundan sonra veri bütünlüğünüz sağlanmış olacak ama unutmayın SSL ile birleştirdiğinizde daha güvenli bir platform elde edeceksiniz.

cloudflarednssecgorsel2

İşlem tamamlandıktan sonra DNSSEC sisteminin aktif olup olmadığını kontrol etmek için aşağıdaki sitelerden bir tanesini kullanabilirsiniz.

Aktif olduktan sonraki DNSSEC Diagramı ise şu şekilde görüyoruz.

dnssecdiagram

Cloudflare Site İp Adresini Çözümleme

CloudFlare kullanara bilindiği üzere sitenizi koruma altına alabilirsiniz ip adresinizi gizleyebilir ve gelecek olan saldırılardan bir nebzede olsa korunabilirsiniz. Ddos ve Botnet saldırılarına ise pro paket sayesinde korunabilirsiniz.

Cloudflare aslında ip kapsüllemek için ideal bir platform sitenizin ip adresini gizlemeniz güvenliğiniz açısından büyük önem taşıyor.Ancak hatalarınız sonucu ip adresiniz tekrardan bulunabilir. Cloudflare işte bu noktada işinize asla yaramayacaktır. Sitemin ip adresi nasıl bulunuyor yada bulunabiliyor mu gibi düşünceleriniz varsa bu uygulaması kullanabilirsiniz.Başarı oranı %80 dir.

sudo su
cd /usr/local/bin
wget https://downloads.mertcangokgoz.com/cloudflare.sh
chmod +x cloudflare.sh
./cloudflare.sh

Komutu verdiğimizde seçimli bir ekran gelecek buradan istediğiniz yöntemi seçerek ipleri bulabilirsiniz.Eğer ip adresiniz çözümlenebiliyorsa gereken adımları bu yünde atabilirsiniz ve saldırganları durdurabilirsiniz.

cloudflareresolvergorsel1

Site adresini girdiğinizde ve seçimi yaptığınızda eğer ip bulunabiliyorsa. Bulunan ip adresini gösterecektir. Bulunamıyor ise sitenizin ip adresini güzel bir şekilde gizlemişsiniz demektir.