Munus a Cloudflare convenimus in inscriptionibus 1.1.1.1 et 1.0.0.1, vel "DNS fasciae publicae advenit!"

Munus a Cloudflare convenimus in inscriptionibus 1.1.1.1 et 1.0.0.1, vel "DNS fasciae publicae advenit!"

Cloudflare Company presented DNS publicus apud inscriptiones:

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

Consilium dicitur "Priuatio Primum" ut utentes pacem animi de contentis petitionum suarum habere possint.

Ministerium interesting est quod, praeter solitum DNS, facultatem technologiae usui praebet DNS-super-TLS и DNS super-HTTPSquae provisores magnopere impediunt ne per petitiones tuas percurras in via petitionum - ac statisticam, monitorem, vendo curo. Cloudflare asserit diem nuntiationis (April 1 vel 2018/04 in notatione Americana) casualiter electum non esse: quem alium diem anni "quattuor unitates" praesentabitur?

Cum in auditorio Habr technice sagaces est, sectio tradita "cur DNS opus est?" Ponam in fine epistolae, sed hic utilia utilius dicam.

Quomodo novo servitio utendi?

Res simplicissima est ut supra DNS servitorem inscriptionum in cliente tuo DNS definias (vel sicut flumine in uncinis DNS loci servientis uteris). Non facit sensum reponere in solito valores Google DNS (8.8.8.8, etc.) vel paulo minus commune Yandex publicus DNS servientibus (77.88.8.8 et alii similes) ministris de Cloudflare - ipsi pro te deliberant, sed incipienti loquitur. Horarium celeritas responsionis, secundum quam Cloudflare velocior est omnibus competitoribus (explicabo: mensuras ab officio tertia factionis captae sunt, et celeritas ad certum clientem, scilicet, differre potest).

Munus a Cloudflare convenimus in inscriptionibus 1.1.1.1 et 1.0.0.1, vel "DNS fasciae publicae advenit!"

Multo magis interesting laborandum est novis modis in quibus petitio fugit ut servo per nexum encryptatum (revera responsio per eam redditur), memoratum DNS-super-TLS et DNS-super-HTTPS. Infeliciter, "ex arca" (auctores putant hoc esse "tamen"), non difficile est eorum opus in programmate tuo instituere (vel etiam in ferramentis tuis);

Vesci super HTTPs (DoH)

Ut nomen sonat, communicatio fit super canalem HTTPS, quod significat

  1. praesentia portum punctum (endpoint) - situm est in inscriptione https://cloudflare-dns.com/dns-queryet
  2. clienti potest mittere petitiones et responsa accipere.

Petitiones fieri possunt vel in forma DNS Wireformat definitae RFC1035 (Misimus utens tabellas et HTTP modos GET), vel in forma JSON (utendi modum GET HTTP). Pro me personaliter, idea petitiones faciendi DNS per HTTP postulationes inopinatas visae sunt, sed est frumenti rationalis in eo: talis postulatio multarum systematum eliquationum mercaturae praeteribit, responsa parsing satis simplex est, et petitiones generantes faciliores sunt. Sollemnes bibliothecas et protocolla securitatem responsales sunt.

Exempla peto, recta a documentis;

GET DNS Wireformat petitio in forma

$ 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 petitionem in DNS Wireformat format

$ 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

Eodem autem utens 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"
    }
  ]
}

Patet, iter itineris domus rara (si saltem una) cum DNS hoc modo laborare potest, sed hoc non significat quod subsidium cras non apparebit - et, interesting, hic possumus satis efficere operam cum DNS in applicatione nostra (sicut iam. iens ut Mozillaproxime de Cloudflare servientibus).

Vesci super TLS

De facto, DNS interrogationes sine encryptione transmittuntur. DNS super TLS viam mittendi eos super nexu securo. Cloudflare subsidia DNS super TLS in vexillum portum 853 sicut praeceptum est RFC7858. Hoc libello edito utitur ad exercitum, TLS 1.2 et TLS 1.3 sustentantur.

Connexionem instituere et operari secundum protocollum secundum aliquid huiusmodi accedit:

  • Priusquam nexum DNS constituat, cliens in thesauris base64-dns.com TLS libellum (SPKI appellatum) SHA256 hash e nubilo-dns.
  • DNS client constituit TCP nexum ad nubem-dns.com:853
  • DNS clientis inchoat TLS handshake
  • In processu handshake TLS, exercitus nubeculare-dns.com TLS testimonium suum exhibet.
  • Postquam in nexu TLS constituto, client DNS petitiones DNS mittere potest per canalem securum, qui prohibet petitiones et responsiones ne auscultant et convolant.
  • Omnes DNS queries missis super a TLS nexum parere debent cum DNS mittens super TCP *.

Exemplum rogationis per DNS super 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

Haec optio videtur optima operari pro DNS locali servientibus servientibus necessitates retis localis vel unius usoris. Verum, non ipsum vexillum adiuvante, sed - speremus!

Duo verba explicanda quae in colloquio est

Abbreviatio DNS significat servitii Domain (ita dicens "DNS servitium" aliquantum redundans est, abbreviatio iam verbum "servitii" continet, et ad munus simplex solvendum adhibetur - ut intellegatur quid nomen IP peculiare hospitii habeat. Quotienscumque homo nexum strepit, vel electronicam ingreditur in locationis electronicae navigatoris (dicere aliquid simile "https://habrahabr.ru/post/346430/") Computatorium humanum excogitare conatur quem servo petitionem mittere ut paginae contentus sit. In casu habrahabr.ru, responsio ex DNS indicium IP inscriptionis interretialis continebit: 178.248.237.68, et tunc navigatrum iam conabitur contactum cum servo cum inscriptione IP definita.

Vicissim, DNS server, accepta petitione "quae est inscriptio IP exercitus nomine habrahabr.ru?", determinat an aliquid de certo exercitu cognoscat. Sin minus, rogat alios DNS in mundo servientes, et gradatim responsionem interrogationis instare conatur. Quam ob rem, cum finalem responsionem inveniendam, notitia inventa ad clientem adhuc expectans mittitur, plus reponitur in cella ipsius servientis DNS, quod simili quaestioni multo celerius proximo tempore respondere permittet.

Commune problema est, primum, DNS interrogationis notitiae in clara (qua quis dat accessum ad negotiationem fluere facultatem rescindendi DNS queries et responsa quae recipiunt ac deinde eas ad suos fines partiuntur, hoc dat. facultas adscriptiones cum accuratione oppugnandi pro cliente DNS, quod satis multum est!). Secundo, quidam ISPs (non digitos, sed non minimos notamus) tendunt ad monstrandum paginae unius vel alterius paginae petitae (quod plane simpliciter impletur: loco certae IP inscriptionis pro interrogatione per habranabr.ru. nomen hospitis, persona temere Sic, oratio provisoris servientis interreti redditur, ubi pagina continens tabula ministratur). Tertio accessum interretialem praebent quae machinam efficiunt ad implenda requisita ad singulas sites claudendas, ponendo rectas DNS responsa circa IP inscriptiones de opibus interretis obstructis cum IP inscriptione servientis contentorum paginarum stipularum (unde accessus ad huiusmodi situs conspicue magis implicatus), vel ad electronica procuratoris tui qui eliquare facit.

Haec pictura fortasse ex situ esse debet. http://1.1.1.1/nexum ad cultum describebat. Auctores satis confidere videntur in qualitate DNS eorum (tamen difficile est aliud a Cloudflare exspectare):

Munus a Cloudflare convenimus in inscriptionibus 1.1.1.1 et 1.0.0.1, vel "DNS fasciae publicae advenit!"

Potest plene intelligere Cloudflare, servitii creatori: panes suos mereri conservando et enucleando unum e retis popularibus CDN in mundo (quas functiones non solum contenti distribuentes, sed etiam zonas DNS hosting comprehendunt), ac debentur. desiderium eorum , quis non bene versatusDoce illos qui nesciuntAd illud ubi ire in retis globalis, saepe saepius impedit quominus electronica servientium suorum impediant 'non dico quis - Sic habens DNS quod non afficitur "clamoribus sibilis et scribbles", quia significat societatem minus nocere negotiis suis. Commoda et technica (exiguum, sed lepidum: in specie, pro clientibus liberorum DNS Cloudflare, adaequationis monumentorum opum DNS servientium societatis DNS hosted in promptu erunt) utens opera quae in tabellario descripto plus iucunda erit.

Tantum usores descripserunt in aliquet participare possunt. InscribeTe gratissimum esse.

Nova opera uteris?

  • Ita simpliciter exprimendo in OS et / vel in itinere

  • Ita, et novis protocols utar (DNS super HTTPs et DNS super TLS)

  • Minime, satis habeo servo currenti (hoc est provisor publicus: Google, Yandex, etc.)

  • Immo ne scio quidem quid nunc utar

  • Utor me recursive DNS cum SSL cuniculum ad illos

693 utentes censuerunt. 191 Insere abstinuisse.

Source: www.habr.com

Add a comment