ProHoster > Blog > yönetim > Cloudflare hizmetiyle 1.1.1.1 ve 1.0.0.1 adreslerinde buluşuyoruz, yani “genel DNS rafı geldi!”
Cloudflare hizmetiyle 1.1.1.1 ve 1.0.0.1 adreslerinde buluşuyoruz, yani “genel DNS rafı geldi!”
Cloudflare Şirketi sunulan adreslerdeki genel DNS:
1.1.1.1
1.0.0.1
2606: 4700: 4700 :: 1111
2606: 4700: 4700 :: 1001
Kullanıcıların taleplerinin içeriği konusunda rahat olabilmeleri için "Önce gizlilik" politikasının kullanıldığı iddia ediliyor.
Hizmet ilginç çünkü olağan DNS'ye ek olarak teknolojileri kullanma fırsatı da sunuyor TLS üzerinden DNS и HTTPS üzerinden DNSBu, sağlayıcıların istek yolu boyunca isteklerinizi gizlice dinlemesini ve istatistik toplamasını, reklamları izlemesini ve yönetmesini büyük ölçüde önleyecektir. Cloudflare, duyuru tarihinin (1 Nisan 2018 veya Amerikan notasyonuyla 04/01) şans eseri seçilmediğini iddia ediyor: yılın başka hangi gününde “dört ünite” tanıtacaktı?
Habr'ın izleyici kitlesi teknik açıdan bilgili olduğundan geleneksel bölüm "neden DNS'ye ihtiyacımız var?" Bunu yazının sonuna koyacağım ve burada pratik olarak daha yararlı şeylerin ana hatlarını çizeceğim:
Yeni hizmet nasıl kullanılır?
En basit şey, yukarıdaki DNS sunucu adreslerini DNS istemcinizde (veya kullandığınız yerel DNS sunucusunun ayarlarında yukarı akış olarak) belirtmektir. Her zamanki değerleri değiştirmek mantıklı mı? Google DNS'i (8.8.8.8, vb.) veya biraz daha az yaygın Yandex genel DNS sunucuları (77.88.8.8 ve onlar gibi diğerleri) Cloudflare sunucularına - sizin adınıza karar verecekler, ancak yeni başlayanlar için konuşuyor program Cloudflare'in tüm rakiplerden daha hızlı çalıştığı yanıtların hızı (açıklamama izin verin: ölçümler üçüncü taraf bir hizmet tarafından yapıldı ve belirli bir müşteriye yönelik hız elbette farklı olabilir).
İsteğin sunucuya şifreli bir bağlantı üzerinden uçtuğu (aslında yanıtın bu üzerinden döndürüldüğü), bahsedilen DNS-over-TLS ve DNS-over-HTTPS gibi yeni modlarla çalışmak çok daha ilginç. Ne yazık ki, kutudan çıktığı gibi desteklenmiyorlar (yazarlar bunun "henüz" olduğuna inanıyorlar), ancak çalışmalarını yazılımınızda (veya hatta donanımınızda) düzenlemek zor değil:
HTTP'ler üzerinden DNS (DoH)
Adından da anlaşılacağı gibi iletişim bir HTTPS kanalı üzerinden gerçekleşir;
bir iniş noktasının (uç nokta) varlığı - şurada bulunur https://cloudflare-dns.com/dns-queryve
istek gönderebilen ve yanıt alabilen bir istemci.
İstekler şurada tanımlanan DNS Kablo Formatında olabilir: RFC1035 (POST ve GET HTTP yöntemleri kullanılarak gönderilir) veya JSON biçiminde (GET HTTP yöntemi kullanılarak gönderilir). Şahsen benim için, HTTP istekleri aracılığıyla DNS sorguları yapma fikri beklenmedik görünüyordu, ancak içinde rasyonel bir neden var: böyle bir istek birçok trafik filtreleme sisteminden geçecek, yanıtları ayrıştırmak oldukça basit ve istek oluşturmak daha da basit. Tanıdık kütüphaneler ve protokoller güvenlikten sorumludur.
Açıkçası, çok az sayıda ev yönlendiricisi (varsa) bu şekilde DNS ile çalışabilir, ancak bu, desteğin yarın görünmeyeceği anlamına gelmez - ve ilginç bir şekilde, burada uygulamamızda DNS ile çalışmayı kolayca uygulayabiliriz (zaten olduğu gibi) Mozilla yapacak, yalnızca Cloudflare sunucularında).
TLS üzerinden DNS
Varsayılan olarak DNS sorguları şifreleme olmadan gönderilir. TLS üzerinden DNS, bunları güvenli bir bağlantı üzerinden göndermenin bir yoludur. Cloudflare, belirtildiği gibi standart 853 numaralı bağlantı noktasında TLS üzerinden DNS'yi destekler RFC7858. Bu, cloudflare-dns.com ana bilgisayarı için verilen bir sertifikayı kullanır, TLS 1.2 ve TLS 1.3 desteklenir.
Bağlantı kurmak ve protokolle çalışmak şuna benzer:
İstemci, DNS ile bağlantı kurmadan önce cloudflare-dns.com'un TLS sertifikasının (SPKI olarak adlandırılır) base64 kodlu SHA256 karmasını depolar.
DNS istemcisi cloudflare-dns.com:853 ile bir TCP bağlantısı kurar
DNS istemcisi TLS anlaşması prosedürünü başlatır
TLS anlaşması sırasında cloudflare-dns.com ana bilgisayarı TLS sertifikasını sunar.
TLS bağlantısı kurulduktan sonra, DNS istemcisi, DNS sorgularını güvenli bir kanal üzerinden gönderebilir; bu, istek ve yanıtların gizlice dinlenmesini ve sahteciliğini önler.
TLS bağlantısı üzerinden gönderilen tüm DNS istekleri, aşağıdaki spesifikasyona uygun olmalıdır: TCP üzerinden DNS gönderme.
TLS üzerinden DNS aracılığıyla yapılan isteğe örnek:
$ kdig -d @1.1.1.1 +tls-ca +tls-host=cloudflare-dns.com example.com
;; DEBUG: Querying for owner(example.com.), class(1), type(1), server(1.1.1.1), port(853), protocol(TCP)
;; DEBUG: TLS, imported 170 system certificates
;; DEBUG: TLS, received certificate hierarchy:
;; DEBUG: #1, C=US,ST=CA,L=San Francisco,O=Cloudflare, Inc.,CN=*.cloudflare-dns.com
;; DEBUG: SHA-256 PIN: yioEpqeR4WtDwE9YxNVnCEkTxIjx6EEIwFSQW+lJsbc=
;; DEBUG: #2, C=US,O=DigiCert Inc,CN=DigiCert ECC Secure Server CA
;; DEBUG: SHA-256 PIN: PZXN3lRAy+8tBKk2Ox6F7jIlnzr2Yzmwqc3JnyfXoCw=
;; DEBUG: TLS, skipping certificate PIN check
;; DEBUG: TLS, The certificate is trusted.
;; TLS session (TLS1.2)-(ECDHE-ECDSA-SECP256R1)-(AES-256-GCM)
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 58548
;; Flags: qr rd ra; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 1
;; EDNS PSEUDOSECTION:
;; Version: 0; flags: ; UDP size: 1536 B; ext-rcode: NOERROR
;; PADDING: 408 B
;; QUESTION SECTION:
;; example.com. IN A
;; ANSWER SECTION:
example.com. 2347 IN A 93.184.216.34
;; Received 468 B
;; Time 2018-03-31 15:20:57 PDT
;; From 1.1.1.1@853(TCP) in 12.6 ms
Bu seçenek, yerel bir ağın veya tek bir kullanıcının ihtiyaçlarını karşılayan yerel DNS sunucuları için daha uygun görünmektedir. Doğru, standarda verilen destek pek iyi değil ama umalım!
Ne hakkında konuştuğumuzu açıklayan iki kelime
DNS kısaltması, Etki Alanı Adı Hizmeti anlamına gelir ("DNS hizmeti" demek biraz gereksizdir; kısaltma zaten "hizmet" kelimesini içerir) ve basit bir görevi çözmek için kullanılır - belirli bir ana bilgisayar adının hangi IP adresine sahip olduğunu anlamak. Bir kişi bir bağlantıya her tıkladığında veya tarayıcının adres çubuğuna bir adres girdiğinde (örneğin, " gibi bir şey)https://habrahabr.ru/post/346430/"), bir kişinin bilgisayarı, bir sayfanın içeriğini almak için hangi sunucuya istek göndereceğini bulmaya çalışıyor. Habrahabr.ru durumunda, DNS'den gelen yanıt, web sunucusunun IP adresinin bir göstergesini içerecektir: 178.248.237.68 ve ardından tarayıcı, belirtilen IP adresiyle sunucuyla iletişim kurmaya çalışacaktır.
Buna karşılık, “habrahabr.ru adlı ana bilgisayarın IP adresi nedir?” İsteğini alan DNS sunucusu, belirtilen ana bilgisayar hakkında herhangi bir şey bilip bilmediğini belirler. Aksi taktirde dünyadaki diğer DNS sunucularına sorgulama yaparak, adım adım sorulan sorunun cevabını bulmaya çalışır. Sonuç olarak, nihai cevabı bulduktan sonra, bulunan veriler hala bekleyen istemciye gönderilir ve ayrıca DNS sunucusunun önbelleğinde saklanır, bu da bir dahaki sefere benzer bir soruyu çok daha hızlı yanıtlamanıza olanak tanır.
Yaygın bir sorun, öncelikle DNS sorgu verilerinin açık bir şekilde gönderilmesidir (bu, trafik akışına erişimi olan herkesin DNS sorgularını ve sonuçta ortaya çıkan yanıtları izole etmesine ve ardından bunları kendi amaçları için ayrıştırmasına olanak tanır; bu, DNS istemcisi için reklamları hassas bir şekilde hedeflemek ve bu oldukça fazla!). İkincisi, bazı İnternet sağlayıcıları (parmaklarla işaret etmeyeceğiz, ancak en küçükleri değil), istenen bir veya başka bir sayfa yerine (bu çok basit bir şekilde uygulanır: ana bilgisayar adı talebi için belirtilen IP adresi yerine) reklam gösterme eğilimindedir. habranabr.ru rastgele bir kişiye Bu şekilde, reklamı içeren sayfanın sunulduğu sağlayıcının web sunucusunun adresi döndürülür). Üçüncüsü, engellenen web kaynaklarının IP adreslerine ilişkin doğru DNS yanıtlarını, saplama sayfaları içeren sunucularının IP adresiyle değiştirerek (sonuç olarak, erişim bu tür siteler fark edilir derecede daha karmaşık hale gelir) veya filtrelemeyi gerçekleştiren proxy sunucunuzun adresine.
Muhtemelen buraya web sitesinden bir resim koymalısınız. http://1.1.1.1/, hizmete olan bağlantıyı tanımlamaya yarar. Görünüşe göre yazarlar DNS'lerinin kalitesinden tamamen eminler (ancak Cloudflare'den farklı bir şey beklemek zor):
Hizmetin yaratıcısı Cloudflare'i tamamen anlayabiliriz: Ekmeklerini dünyadaki en popüler CDN ağlarından birini (işlevleri yalnızca içerik dağıtımını değil, aynı zamanda DNS bölgelerini barındırmayı da içerir) destekleyerek ve geliştirerek kazanıyorlar ve, bunların arzusundan dolayı, kim pek bir şey bilmiyor, bunlara öğret kimi bilmiyorlar, Buna nereye gitmeli küresel ağda, sıklıkla sunucu adreslerinin engellenmesinden muzdariptir. kim olduğunu söylemeyeceğiz - dolayısıyla "bağırışlardan, ıslıklardan ve karalamalardan" etkilenmeyen bir DNS'ye sahip olmak, bir şirket için işlerine daha az zarar vermek anlamına gelir. Ve teknik avantajlar (küçük bir şey ama güzel: özellikle ücretsiz DNS Cloudflare müşterileri için, şirketin DNS sunucularında barındırılan kaynakların DNS kayıtlarının güncellenmesi anlık olacaktır) yazıda açıklanan hizmeti kullanmayı daha da ilginç hale getiriyor .
Ankete sadece kayıtlı kullanıcılar katılabilir. Giriş yapLütfen.
Yeni hizmeti kullanacak mısınız?
Evet, yalnızca işletim sisteminde ve/veya yönlendiricide belirterek
Evet ve yeni protokoller kullanacağım (HTTP'ler üzerinden DNS ve TLS üzerinden DNS)
Hayır, yeterli sayıda mevcut sunucum var (bu bir kamu sağlayıcısıdır: Google, Yandex vb.)
Hayır, şu anda ne kullandığımı bile bilmiyorum
Kendi özyinelemeli DNS'imi onlardan önce bir SSL tüneli ile kullanıyorum
693 kullanıcı oy kullandı. 191 kullanıcı çekimser kaldı.