ProHoster > blog > administrasi > Kami menemui layanan dari Cloudflare di alamat 1.1.1.1 dan 1.0.0.1, atau “rak DNS publik telah tiba!”
Kami menemui layanan dari Cloudflare di alamat 1.1.1.1 dan 1.0.0.1, atau “rak DNS publik telah tiba!”
Perusahaan Cloudflare disajikan DNS publik di alamat:
1.1.1.1
1.0.0.1
2606: 4700: 4700 1111 ::
2606: 4700: 4700 1001 ::
Kebijakan tersebut dikatakan “mengutamakan privasi” sehingga pengguna dapat merasa tenang tentang isi permintaan mereka.
Layanan ini menarik karena, selain DNS biasa, layanan ini juga menyediakan kemampuan untuk menggunakan teknologi DNS-melalui-TLS и DNS-over-HTTPS, yang akan sangat mencegah penyedia menguping permintaan Anda di sepanjang jalur permintaan - dan mengumpulkan statistik, memantau, mengelola iklan. Cloudflare mengklaim bahwa tanggal pengumuman (1 April 2018, atau 04/01 dalam notasi Amerika) tidak dipilih secara kebetulan: pada hari apa dalam setahun “empat unit” tersebut akan disajikan?
Karena audiens Habr paham secara teknis, bagian tradisional "mengapa Anda memerlukan DNS?" Saya akan meletakkannya di akhir postingan, namun di sini saya akan menyatakan hal-hal yang lebih berguna secara praktis:
Bagaimana cara menggunakan layanan baru ini?
Hal paling sederhana adalah dengan menentukan alamat server DNS di atas pada klien DNS Anda (atau sebagai upstream dalam pengaturan server DNS lokal yang Anda gunakan). Apakah masuk akal untuk mengganti nilai yang biasa DNS Google (8.8.8.8, dll.), atau sedikit kurang umum Server DNS publik Yandex (77.88.8.8 dan lainnya yang serupa) ke server dari Cloudflare - mereka akan memutuskan untuk Anda, tetapi berbicara untuk pemula jadwal kecepatan respons, yang menurutnya Cloudflare lebih cepat daripada semua pesaing (saya akan mengklarifikasi: pengukuran dilakukan oleh layanan pihak ketiga, dan kecepatan untuk klien tertentu, tentu saja, mungkin berbeda).
Jauh lebih menarik untuk bekerja dengan mode baru di mana permintaan terbang ke server melalui koneksi terenkripsi (pada kenyataannya, respons dikembalikan melalui itu), DNS-over-TLS dan DNS-over-HTTPS yang disebutkan. Sayangnya, mereka tidak didukung “out of the box” (penulis percaya bahwa ini adalah “belum”), namun tidak sulit untuk mengatur pekerjaan mereka di perangkat lunak Anda (atau bahkan di perangkat keras Anda):
DNS melalui HTTP (DoH)
Seperti namanya, komunikasi terjadi melalui saluran HTTPS, yang artinya
adanya titik pendaratan (endpoint) - letaknya di https://cloudflare-dns.com/dns-queryDan
klien yang dapat mengirim permintaan dan menerima tanggapan.
Permintaan bisa dalam format DNS Wireformat yang ditentukan di RFC1035 (dikirim menggunakan metode POST dan GET HTTP), atau dalam format JSON (menggunakan metode GET HTTP). Bagi saya pribadi, gagasan membuat permintaan DNS melalui permintaan HTTP tampaknya tidak terduga, tetapi ada alasan rasional di dalamnya: permintaan seperti itu akan melewati banyak sistem pemfilteran lalu lintas, menguraikan respons cukup sederhana, dan menghasilkan permintaan bahkan lebih mudah. Perpustakaan dan protokol biasa bertanggung jawab atas keamanan.
Jelas, router rumah yang langka (jika setidaknya satu) dapat bekerja dengan DNS dengan cara ini, tetapi ini tidak berarti bahwa dukungan tidak akan muncul besok - dan, yang menarik, di sini kita dapat mengimplementasikan bekerja dengan DNS di aplikasi kita (seperti yang sudah akan membuat Mozilla, hanya di server Cloudflare).
DNS melalui TLS
Secara default, kueri DNS dikirimkan tanpa enkripsi. DNS melalui TLS adalah cara mengirimkannya melalui koneksi aman. Cloudflare mendukung DNS melalui TLS pada port standar 853 seperti yang ditentukan RFC7858. Ini menggunakan sertifikat yang dikeluarkan untuk host cloudflare-dns.com, TLS 1.2 dan TLS 1.3 didukung.
Membuat koneksi dan bekerja sesuai protokol berlangsung seperti ini:
Sebelum membuat koneksi DNS, klien menyimpan hash SHA64 yang dikodekan base256 dari sertifikat TLS cloudflare-dns.com (disebut SPKI)
Klien DNS membuat koneksi TCP ke cloudflare-dns.com:853
Klien DNS memulai jabat tangan TLS
Selama proses jabat tangan TLS, host cloudflare-dns.com menunjukkan sertifikat TLS-nya.
Setelah koneksi TLS dibuat, klien DNS dapat mengirim permintaan DNS melalui saluran aman, yang mencegah permintaan dan respons disadap dan dipalsukan.
$ 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
Opsi ini tampaknya berfungsi paling baik untuk server DNS lokal yang melayani kebutuhan jaringan lokal atau satu pengguna. Benar, dengan dukungan standarnya tidak terlalu bagus, tapi - semoga saja!
Dua kata penjelasan tentang isi percakapan
Singkatan DNS adalah singkatan dari Layanan Nama Domain (jadi mengatakan "layanan DNS" agak berlebihan, singkatan tersebut sudah mengandung kata "layanan"), dan digunakan untuk menyelesaikan tugas sederhana - untuk memahami alamat IP yang dimiliki nama host tertentu. Setiap kali seseorang mengeklik tautan, atau memasukkan alamat di bilah alamat browser (misalnya, misalnya "https://habrahabr.ru/post/346430/"), komputer manusia sedang mencoba mencari tahu server mana yang akan mengirim permintaan untuk mendapatkan konten halaman. Dalam kasus habrahabr.ru, respons dari DNS akan berisi indikasi alamat IP server web: 178.248.237.68, dan kemudian browser akan mencoba menghubungi server dengan alamat IP yang ditentukan.
Pada gilirannya, server DNS, setelah menerima permintaan "apa alamat IP dari host bernama habrahabr.ru?", menentukan apakah ia mengetahui sesuatu tentang host yang ditentukan. Jika tidak, ia akan membuat permintaan ke server DNS lain di dunia, dan, selangkah demi selangkah, mencoba mencari tahu jawaban atas pertanyaan yang diajukan. Hasilnya, setelah menemukan jawaban akhir, data yang ditemukan dikirim ke klien yang masih menunggunya, ditambah lagi disimpan dalam cache server DNS itu sendiri, yang memungkinkan Anda menjawab pertanyaan serupa lebih cepat di lain waktu.
Masalah yang umum terjadi adalah, pertama, data kueri DNS dikirimkan secara jelas (yang memberikan siapa pun yang memiliki akses ke arus lalu lintas kemampuan untuk mengisolasi kueri DNS dan tanggapan yang mereka terima dan kemudian menguraikannya untuk tujuan mereka sendiri; ini memberikan kemampuan menargetkan iklan dengan akurat untuk klien DNS, yang jumlahnya cukup banyak!). Kedua, beberapa ISP (kami tidak akan menuding, tapi bukan yang terkecil) cenderung menampilkan iklan alih-alih satu atau beberapa halaman yang diminta (yang diterapkan dengan cukup sederhana: alih-alih alamat IP yang ditentukan untuk kueri oleh habranabr.ru nama host, orang acak Dengan demikian, alamat server web penyedia dikembalikan, tempat halaman yang berisi iklan disajikan). Ketiga, ada penyedia akses Internet yang menerapkan mekanisme untuk memenuhi persyaratan pemblokiran situs individual dengan mengganti respons DNS yang benar tentang alamat IP sumber daya web yang diblokir dengan alamat IP server mereka yang berisi halaman rintisan (sebagai akibatnya, akses ke situs tersebut terasa lebih rumit), atau ke alamat server proxy Anda yang melakukan pemfilteran.
Ini mungkin gambar dari situsnya. http://1.1.1.1/, digunakan untuk mendeskripsikan koneksi ke layanan. Penulis tampaknya cukup yakin dengan kualitas DNS mereka (namun, sulit mengharapkan hal lain dari Cloudflare):
Seseorang dapat sepenuhnya memahami Cloudflare, pencipta layanan ini: mereka mendapatkan penghasilan dengan memelihara dan mengembangkan salah satu jaringan CDN paling populer di dunia (yang fungsinya tidak hanya mencakup mendistribusikan konten, tetapi juga menghosting zona DNS), dan, karena keinginan mereka, yang tidak berpengalaman, ajarkan itu siapa yang tidak mereka kenal, untuk itu ke mana harus pergi di jaringan global, cukup sering mengalami pemblokiran alamat servernya jangan katakan siapa - jadi memiliki DNS yang tidak terpengaruh oleh "teriakan, peluit, dan coretan" bagi perusahaan berarti lebih sedikit kerugian bagi bisnis mereka. Dan keuntungan teknis (sepele, tapi bagus: khususnya, untuk klien DNS Cloudflare gratis, memperbarui catatan DNS sumber daya yang dihosting di server DNS perusahaan akan terjadi secara instan) membuat penggunaan layanan yang dijelaskan dalam posting menjadi lebih menarik.
Hanya pengguna terdaftar yang dapat berpartisipasi dalam survei. Masuk, silakan.
Apakah Anda akan menggunakan layanan baru ini?
Ya, cukup dengan menentukannya di OS dan/atau di router
Ya, dan saya akan menggunakan protokol baru (DNS melalui HTTPs dan DNS melalui TLS)
Tidak, saya memiliki cukup server saat ini (ini adalah penyedia publik: Google, Yandex, dll.)
Tidak, saya bahkan tidak tahu apa yang saya gunakan saat ini
Saya menggunakan DNS rekursif saya dengan terowongan SSL ke sana