Mihaona amin'ny serivisy avy amin'ny Cloudflare izahay amin'ny adiresy 1.1.1.1 sy 1.0.0.1, na "tonga ny talantalana DNS ho an'ny daholobe!"

Mihaona amin'ny serivisy avy amin'ny Cloudflare izahay amin'ny adiresy 1.1.1.1 sy 1.0.0.1, na "tonga ny talantalana DNS ho an'ny daholobe!"

Cloudflare Company aseho DNS ho an'ny daholobe amin'ny adiresy:

  • 1.1.1.1
  • 1.0.0.1
  • 2606: 4700: 4700 1111 ::
  • 2606: 4700: 4700 1001 ::

Voalaza fa misy ny politika "Privacy aloha" ampiasaina, mba hahafahan'ny mpampiasa mahazo antoka momba ny votoatin'ny fangatahan'izy ireo.

Mahaliana ny serivisy satria, ankoatra ny DNS mahazatra, dia manome fahafahana hampiasa teknolojia DNS-over-TLS ΠΈ DNS-over-HTTPS, izay tena hanakana ny mpamatsy tsy hihaino ny fangatahanao amin'ny lalana fangatahana - ary hanangona antontan'isa, fanaraha-maso ary fitantanana dokam-barotra. Cloudflare dia milaza fa ny datin'ny fanambarana (1 aprily 2018, na 04/01 amin'ny fanamarihana amerikana) dia tsy nofidiana ho azy: amin'ny andro hafa amin'ny taona inona no hatolotra ny "unite efatra"?

Satria mahay ara-teknika ny mpihaino an'i Habr, ny fizarana nentim-paharazana hoe "nahoana isika no mila DNS?" Hapetrako any amin'ny faran'ny lahatsoratra izany, ary eto aho dia hanasongadina zavatra mahasoa kokoa:

Ahoana ny fampiasana ny serivisy vaovao?

Ny zavatra tsotra indrindra dia ny mamaritra ny adiresin'ny mpizara DNS etsy ambony ao amin'ny mpanjifa DNS-nao (na amin'ny maha-ambony azy amin'ny firafitry ny mpizara DNS eo an-toerana ampiasainao). Misy dikany ve ny manolo ny soatoavina mahazatra? Google DNS (8.8.8.8, sns.), na tsy dia fahita firy Yandex public DNS servers (77.88.8.8 sy ny hafa toa azy ireo) ho an'ny mpizara avy amin'ny Cloudflare - izy ireo no hanapa-kevitra ho anao, saingy miteny ho an'ny vao manomboka izany fandaharam-potoana hafainganan'ny valiny, araka ny Cloudflare miasa haingana kokoa noho ny mpifaninana rehetra (mamelΓ  ahy hanazava: ny fandrefesana dia nataon'ny serivisy antoko fahatelo, ary ny hafainganam-pandehan'ny mpanjifa manokana, mazava ho azy, dia mety tsy mitovy).

Mihaona amin'ny serivisy avy amin'ny Cloudflare izahay amin'ny adiresy 1.1.1.1 sy 1.0.0.1, na "tonga ny talantalana DNS ho an'ny daholobe!"

Mahaliana kokoa ny miasa miaraka amin'ny maody vaovao izay manidina ny fangatahana mankany amin'ny mpizara amin'ny alΓ lan'ny fifandraisana miafina (raha ny marina, ny valiny dia averina amin'ny alΓ lan'izany), ny DNS-over-TLS sy DNS-over-HTTPS voalaza. Indrisy anefa fa tsy tohanana ivelan'ny boaty izy ireo (mihevitra ny mpanoratra fa β€œmbola” izany), saingy tsy sarotra ny mandamina ny asany amin'ny rindrambaiko (na amin'ny fitaovanao):

DNS amin'ny HTTPs (DoH)

Araka ny soso-kevitry ny anarana, ny fifandraisana dia mitranga amin'ny fantsona HTTPS, izay midika

  1. fisian'ny toerana fipetrahana (endpoint) - eo amin'ny https://cloudflare-dns.com/dns-queryary
  2. mpanjifa afaka mandefa fangatahana sy mandray valiny.

Ny fangatahana dia mety ho ao amin'ny DNS Wireformat voafaritra ao RFC1035 (nalefa tamin'ny fomba POST sy GET HTTP), na amin'ny endrika JSON (mampiasa ny fomba GET HTTP). Ho ahy manokana, toa tsy nampoizina ny hevitra momba ny fanaovana fanontaniana DNS amin'ny alΓ lan'ny fangatahana HTTP, saingy misy voany marim-pototra ao anatiny: ny fangatahana toy izany dia handalo rafitra fanivanana fifamoivoizana maro, ny valin-kafatra dia tsotra, ary ny famoronana fangatahana dia mora kokoa. Ny tranomboky sy ny protocole mahazatra dia tompon'andraikitra amin'ny fiarovana.

Fanontaniana ohatra, avy amin'ny antontan-taratasy:

GET fangatahana amin'ny endrika DNS Wireformat

$ curl -v "https://cloudflare-dns.com/dns-query?ct=application/dns-udpwireformat&dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB" | hexdump
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7f968700a400)
GET /dns-query?ct=application/dns-udpwireformat&dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB HTTP/2
Host: cloudflare-dns.com
User-Agent: curl/7.54.0
Accept: */*

* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
HTTP/2 200
date: Fri, 23 Mar 2018 05:14:02 GMT
content-type: application/dns-udpwireformat
content-length: 49
cache-control: max-age=0
set-cookie: __cfduid=dd1fb65f0185fadf50bbb6cd14ecbc5b01521782042; expires=Sat, 23-Mar-19 05:14:02 GMT; path=/; domain=.cloudflare.com; HttpOnly
server: cloudflare-nginx
cf-ray: 3ffe69838a418c4c-SFO-DOG

{ [49 bytes data]
100    49  100    49    0     0    493      0 --:--:-- --:--:-- --:--:--   494
* Connection #0 to host cloudflare-dns.com left intact
0000000 ab cd 81 80 00 01 00 01 00 00 00 00 03 77 77 77
0000010 07 65 78 61 6d 70 6c 65 03 63 6f 6d 00 00 01 00
0000020 01 c0 0c 00 01 00 01 00 00 0a 8b 00 04 5d b8 d8
0000030 22
0000031

POST fangatahana amin'ny DNS Wireformat

$ echo -n 'q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | base64 -D | curl -H 'Content-Type: application/dns-udpwireformat' --data-binary @- https://cloudflare-dns.com/dns-query -o - | hexdump

{ [49 bytes data]
100    49  100    49    0     0    493      0 --:--:-- --:--:-- --:--:--   494
* Connection #0 to host cloudflare-dns.com left intact
0000000 ab cd 81 80 00 01 00 01 00 00 00 00 03 77 77 77
0000010 07 65 78 61 6d 70 6c 65 03 63 6f 6d 00 00 01 00
0000020 01 c0 0c 00 01 00 01 00 00 0a 8b 00 04 5d b8 d8
0000030 22
0000031

Toy izany koa, fa mampiasa JSON

$ curl 'https://cloudflare-dns.com/dns-query?ct=application/dns-json&name=example.com&type=AAAA'

{
  "Status": 0,
  "TC": false,
  "RD": true,
  "RA": true,
  "AD": true,
  "CD": false,
  "Question": [
    {
      "name": "example.com.",
      "type": 1
    }
  ],
  "Answer": [
    {
      "name": "example.com.",
      "type": 1,
      "TTL": 1069,
      "data": "93.184.216.34"
    }
  ]
}

Mazava ho azy fa vitsy (raha misy) ny router an-trano afaka miasa amin'ny DNS tahaka izao, saingy tsy midika izany fa tsy hiseho rahampitso ny fanohanana - ary, mahaliana, eto dia afaka manatanteraka mora foana ny asa miaraka amin'ny DNS ao amin'ny fampiharana (araka ny efa misy). dia hanao Mozilla, amin'ny mpizara Cloudflare fotsiny).

DNS amin'ny TLS

Amin'ny alΓ lan'ny default, ny fangatahana DNS dia alefa tsy misy encryption. DNS amin'ny TLS dia fomba iray handefasana azy ireo amin'ny fifandraisana azo antoka. Cloudflare dia manohana DNS amin'ny TLS amin'ny seranan-tsambo mahazatra 853 araka ny voalaza RFC7858. Mampiasa taratasy fanamarinana navoaka ho an'ny mpampiantrano cloudflare-dns.com, TLS 1.2 ary TLS 1.3 no tohana.

Ny fametrahana fifandraisana sy ny fiasana amin'ny protocol dia toy izao:

  • Alohan'ny hananganana fifandraisana amin'ny DNS, ny mpanjifa dia mitahiry base64 misy code SHA256 hash an'ny cloudflare-dns.com's TLS certificate (antsoina hoe SPKI)
  • Ny mpanjifa DNS dia mametraka fifandraisana TCP amin'ny cloudflare-dns.com:853
  • Ny mpanjifa DNS dia manomboka ny fomba fifampiraharahana TLS
  • Mandritra ny fifanomezan-tanana TLS, ny mpampiantrano cloudflare-dns.com dia manolotra ny taratasy fanamarinana TLS.
  • Raha vao tafapetraka ny fifandraisana TLS dia afaka mandefa fanontaniana DNS amin'ny fantsona azo antoka ny mpanjifa DNS, izay manakana ny fihainoana sy ny fisandohana ny fangatahana sy ny valiny.
  • Ny fangatahana DNS rehetra alefa amin'ny fifandraisana TLS dia tsy maintsy manaraka ny toromarika araka ny mandefa DNS amin'ny TCP.

Ohatra amin'ny fangatahana amin'ny DNS amin'ny TLS:

$ 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

Ity safidy ity dia toa mifanentana kokoa amin'ny mpizara DNS eo an-toerana izay manome ny filan'ny tambajotra eo an-toerana na mpampiasa tokana. Marina fa tsy dia tsara loatra ny fanohanana ny fenitra, fa aleo manantena!

Teny roa manazava ny zavatra resahina

Ny fanafohezana DNS dia mijoro ho an'ny Domain Name Service (noho izany ny filazana hoe "serivisy DNS" dia somary mihemotra; ny fanafohezana dia efa misy ny teny hoe "serivisy"), ary ampiasaina hamahana asa tsotra - mba hahafantarana ny adiresy IP ananan'ny anaran'ny mpampiantrano manokana. Isaky ny manindry rohy iray ny olona iray, na mampiditra adiresy ao amin'ny bara adiresin'ny navigateur (milaza hoe: "https://habrahabr.ru/post/346430/"), ny solosain'ny olona iray dia miezaka mamantatra izay lohamilina handefasana fangatahana handraisana ny votoatin'ny pejy iray. Raha ny momba ny habrahabr.ru, ny valin'ny DNS dia ahitana famantarana ny adiresy IP an'ny mpizara tranonkala: 178.248.237.68, ary avy eo ny navigateur dia manandrana mifandray amin'ny mpizara miaraka amin'ny adiresy IP voatondro.

Ho setrin'izany, ny mpizara DNS, rehefa nahazo ny fangatahana "inona ny adiresy IP an'ny mpampiantrano antsoina hoe habrahabr.ru?", dia mamaritra raha mahafantatra na inona na inona momba ilay mpampiantrano voafaritra izy. Raha tsy izany dia mametraka fanontaniana amin'ny mpizara DNS hafa eto amin'izao tontolo izao izy, ary, tsikelikely, dia manandrana mamantatra ny valin'ny fanontaniana napetraka. Vokatr'izany, rehefa mahita ny valiny farany, ny angon-drakitra hita dia alefa any amin'ny mpanjifa mbola miandry, miampy izany dia voatahiry ao amin'ny cache an'ny mpizara DNS, izay ahafahanao mamaly fanontaniana mitovy amin'izany amin'ny manaraka.

Ny olana mahazatra dia ny voalohany, ny angon-drakitra fangatahana DNS dia alefa amin'ny mazava (izay ahafahan'ny olona rehetra miditra amin'ny reniranon'ny fifamoivoizana mba hitoka-monina ny fanontaniana DNS sy ny valin'ny valiny, ary avy eo dia mizara azy ireo ho an'ny tanjony manokana; izany dia mamela ny fahaiza-manao. mikendry ny dokam-barotra amin'ny mazava ho an'ny mpanjifa DNS, ary be dia be izany!). Faharoa, ny mpanome Internet sasany (tsy hanondro rantsantanana izahay, fa tsy ny kely indrindra) dia matetika mampiseho dokam-barotra fa tsy pejy iray na iray hafa nangatahana (izay ampiharina amin'ny fomba tsotra: fa tsy ny adiresy IP voatondro ho an'ny fangatahana ny anaran'ny mpampiantrano. habranabr.ru amin'ny olona kisendrasendra Amin'izany fomba izany, ny adiresin'ny mpizara tranonkalan'ny mpamatsy dia averina, izay misy ny pejy misy ny dokambarotra). Fahatelo, misy mpanome fahafahana miditra amin'ny Aterineto izay manatanteraka fomba fanatanterahana ny fepetra amin'ny fanakanana ny tranokala tsirairay amin'ny fanoloana ny valin-kafatra DNS marina momba ny adiresy IP an'ireo loharanon-tranonkala voasakana amin'ny adiresy IP an'ny mpizara misy pejin'ny stub (vokany, fidirana amin'ny tranokala). Ny tranokala toy izany dia mihasarotra kokoa), na amin'ny adiresin'ny mpizara proxy anao izay manao sivana.

Tokony hametraka sary avy amin'ny tranokala eto angamba ianao http://1.1.1.1/, izay milazalaza ny fifandraisana amin'ny serivisy. Ireo mpanoratra dia toa matoky tanteraka ny kalitaon'ny DNS-ny (na izany aza, sarotra ny manantena zavatra hafa amin'ny Cloudflare):

Mihaona amin'ny serivisy avy amin'ny Cloudflare izahay amin'ny adiresy 1.1.1.1 sy 1.0.0.1, na "tonga ny talantalana DNS ho an'ny daholobe!"

Afaka mahatakatra tanteraka ny Cloudflare, mpamorona ny serivisy: mahazo ny mofony izy ireo amin'ny fanohanana sy fampivoarana ny iray amin'ireo tambajotra CDN malaza indrindra eran'izao tontolo izao (ny asany dia tsy ny fizarana votoaty ihany, fa ny fampiantranoana ny faritra DNS), ary, noho ny fanirian'ireo, izay tsy mahalala firy, ampianaro ireo izay tsy fantany, amin'izay aiza no haleha amin'ny tambajotra manerantany, matetika dia mijaly noho ny fanakanana ny adiresin'ny mpizara azy tsy holazainay hoe iza - noho izany ny fananana DNS izay tsy voataonan'ny β€œkiakiaka, sioka ary sora-baventy” dia midika fa kely kokoa ny fahasimbana amin'ny orinasany ho an'ny orinasa iray. Ary ny tombony ara-teknika (zavatra kely, fa mahafinaritra: indrindra ho an'ny mpanjifan'ny DNS Cloudflare maimaim-poana, ny fanavaozana ny firaketana DNS momba ny loharanon-karena nampiantranoina amin'ny mpizara DNS an'ny orinasa dia ho avy hatrany) dia mahatonga ny fampiasana ny serivisy voalaza ao amin'ny lahatsoratra ho mahaliana kokoa. .

Ireo mpampiasa voasoratra anarana ihany no afaka mandray anjara amin'ny fanadihadiana. HiditraPlease.

Hampiasa ny serivisy vaovao ve ianao?

  • Eny, amin'ny famaritana azy amin'ny OS sy/na amin'ny router

  • Eny, ary hampiasa protocols vaovao aho (DNS amin'ny HTTP sy DNS amin'ny TLS)

  • Tsia, manana mpizara amin'izao fotoana izao aho (mpanome tolotra ho an'ny daholobe ity: Google, Yandex, sns.)

  • Tsia, tsy fantatro akory izay ampiasaiko amin'izao fotoana izao

  • Mampiasa ny DNS recursive manokana aho miaraka amin'ny tonelina SSL eo anoloan'izy ireo

Mpampiasa 693 no nifidy. Mpampiasa 191 no nifady.

Source: www.habr.com

Add a comment