Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DNSでHTTPS ※ただしDNS over HTTPSではない

IIJ_PR
February 22, 2024

DNSでHTTPS ※ただしDNS over HTTPSではない

執筆者:IIJ ネットワーク本部 アプリケーションサービス部 DNS技術課 山口 崇徳

2023年11月、HTTPSレコードがRFC9460として標準化されました。
HTTP/3を支える技術のひとつで、WebサーバのDNSへの登録方法も変わります。
CNAME + MX + α の機能も備えています。
DNS / Web / ファイアウォール運用者はぜひご覧ください。

IIJ_PR

February 22, 2024
Tweet

More Decks by IIJ_PR

Other Decks in Technology

Transcript

  1. $/".& wXXXFYBNQMFDPNͱ͍͏ϗετͷਖ਼ن໊͸FYBNQMFDPNͩΑ w ผ໊ BMJBT Ͱ͸ͳ͘ɺਖ਼ن໊ DBOPOJDBMOBNF  w$/".&ͷ੍ݶ w

    ଞͷϨίʔυͱͷಉډෆՄ w κʔϯ௖఺ κʔϯ໊ࣗ਎ ʹ͸͔ͳΒͣ40"ͱ/4͕ଘࡏ͢Δˠκʔϯ௖఺Ͱͷ$/".&ෆՄ w ಛఆϓϩτίϧ͚ͩΛબ୒తʹ$/".&ͷର৅ʹͰ͖ͳ͍ www.example.com. IN CNAME example.com. 
  2. )551 w)551ɺͰ઀ଓ͢Δͱɺαʔό ͕ʮ͏ͪɺ࣮͸)551΋࢖͑ΔΜͰ ͢Θʯͱ௨஌͢Δ "MU4WD  w)551Λ࢖͑ΔΑ͏ʹͳΔͷ͸ճ ໨ͷ઀ଓ͔Β w ԿΒ͔ͷํ๏Ͱࣄલʹ஌Δ͜ͱ͕Ͱ͖Ε

    ͹ɺॳճ઀ଓ͔Β)551Λ࢖͑Δ w ԿΒ͔ͷํ๏ͬͯɺԿ  ΫϥΠΞϯτ αʔό 5$1IBOETIBLF 5-4IBOETIBLFXJUI"-1/ )551SFRVFTU )551SFTQPOTFXJUI"MU4WD )551SFRVFTU )551SFTQPOTF ࣮͸)551΋ ͍͚ΔΜͩΘ )551 ࢖͑Δ ͡Ό͋)551Ͱ )551 ࢖͑ΔΑ ͳΒ)551Ͱ
  3. &ODSZQUFE$MJFOU)FMMP w4/*5-4ϋϯυγΣΠΫதɺΫϥΠΞϯτ͕ΞΫηε͍ͨ͠ϗετ໊Λαʔό ʹ఻͑Δ࢓૊Έ w ैདྷͷ5-4Ͱ͸4/*ͷ΍ΓͱΓ͸ฏจͳͷͰɺಛఆͷ4/*͚ͩΛબ୒తʹதؒऀ߈ܸͰ ͖ͯ͠·͏ w&ODSZQUFE$MJFOU)FMMP &$)  w

    IUUQTEBUBUSBDLFSJFUGPSHEPDESBGUJFUGUMTFTOJ w 4/*ͳͲ$MJFOU)FMMPͰૹΒΕΔ֤छ৘ใΛ҉߸Խ͢Δ5-4֦ு w ϋϯυγΣΠΫͷ࠷ॳ͔Β҉߸Խ͢ΔͷͰɺඞཁͳެ։伴͸઀ଓલʹೖख͓ͯ͘͠ඞ ཁ͕͋Δˠͦͷ伴͸Ͳ͜ʹஔ͘ 
  4. 47$#)5514Ϩίʔυ w͜͏͍ͬͨ໰୊Λղܾ͢ΔͨΊͷ৽͍͠ϦιʔεϨίʔυΛఆٛ w 3'$   w l47$#z TFSWJDFCJOEJOH ൚༻൛

    w l)5514z)551ઐ༻൛ wࡶʹݴ͏ͱɺ$/".&ͱ.9Λ଍ͯ͠ͰׂΒͣʹ෱ਆ௮Λఴ͑ͨ΋ͷ w)5514ͱ͍͏ωʔϛϯά͸Ͳ͏ʹ͔ͳΒΜ͔ͬͨͷ͔ʜ w ॳظͷυϥϑτͰ͸l)551447$zͩͬͨ w l"ϨίʔυzΑΓ͸Ϛγ͚ͩͲͶ 
  5. ͭ·ΓɺͲ͏͍͏͜ͱ w8FCαʔόͷ%/4΁ͷొ࿥ํ๏͕มΘΔͬͯ͜ͱ w͜Ε·Ͱ w͜Ε͔Β https://example.com/ example.com. IN HTTPS 1 www.example.com.

    ; ΞΫηε͞ΕΔϗετ໊Λొ࿥ www.example.com. IN A 192.0.2.1 ; ͦͷϗετ໊ͷIPΞυϨεΛొ࿥ IN AAAA 2001:db8::1 example.com. IN A 192.0.2.1 ; ΞΫηε͞ΕΔIPΞυϨεΛొ࿥ IN AAAA 2001:db8::1 OFX 
  6. )5514Ϩίʔυͷ࣮૷ঢ়گ w8FCϒϥ΢β w $ISPNFରԠࡁΈ &EHFͳͲ೿ੜϒϥ΢β΋΄΅ରԠ  w 4BGBSJରԠࡁΈ w 'JSFGPYରԠࡁΈ͕ͩσϑΥϧτͰ͸࢖Θͳ͍

    ཁઃఆมߋ  w%/4αʔό w ݖҖαʔόΦʔϓϯιʔεͷ΋ͷ͸΄΅ରԠࡁΈ ະରԠͰ΋ηΧϯμϦαʔόͱ͠ ͯͳΒ͹ར༻Մೳ  w ΩϟογϡαʔόɺϑΥϫʔμಛผͳରԠ͸ෆཁ )5514ϨίʔυҎલͷݹ͍࣮૷Ͱ ΋ѻ͑Δ 
  7. ॻࣜ w4WD1SJPSJUZ༏ઌ౓ ඞਢ ͷ੔਺ w ΤΠϦΞεϞʔυ w Ҏ֎αʔϏεϞʔυ w5BSHFU/BNFॲཧͷҕ೚ઌ ඞਢ

     w4WD1BSBNT4WD1BSBN,FZ4WD1BSBN7BMVFϖΞͷϦετ Φϓγϣϯ  w ΤΠϦΞεϞʔυແࢹ͞ΕΔ w αʔϏεϞʔυߏ੒৘ใͷఆٛ example.com. IN HTTPS 10 www.example.com. alpn=h2 ಈ࡞ͷҟͳΔͭͷϞʔυ  4WD1SJPSJUZ 5BSHFU/BNF 4WD1BSBNT
  8. ΤΠϦΞεϞʔυ w༏ઌ౓ͷ)5514Ϩίʔυ͸ΤΠϦΞεϞʔυ wγϯϓϧͳΤΠϦΞε ผ໊ Λ࣮ݱ͢ΔϞʔυ w ΫϥΠΞϯτ͸λʔήοτ໊ ͜ͷྫͰ͸XXXFYBNQMFOFU ͷ)5514ϨίʔυΛ࠶౓ ໰͍߹ΘͤΔ

    w ଟஈΤΠϦΞε͕Մೳ w $/".&ˠΤΠϦΞεϞʔυɺΤΠϦΞεϞʔυˠ$/".&ͱ͍͏ଟஈߏ੒΋Մ wࡶʹݴ͏ͱɺ)551 4 ݶఆͰκʔϯ௖఺Ͱ΋࢖͑Δ$/".& example.com. IN HTTPS 0 www.example.net. 
  9. αʔϏεύϥϝʔλ  wαʔόͷ෇Ճత৘ใ w αʔϏεϞʔυͰͷΈ༗ޮ w ΤΠϦΞεϞʔυͰ͸ແࢹ͞ΕΔ ॻ͍ͯ΋Τϥʔʹ͸ͳΒͳ͍  w

    4WD1BSBN,FZ4WD1BSBN7BMVFͷܗࣜͰྻڍ w lBMQOIBMQOIzͷΑ͏ʹಉҰΩʔΛෳ਺ॻ͘ͷ͸ෆՄ w lBMQOI IzͷΑ͏ʹ·ͱΊͳ͚Ε͹ͳΒͳ͍ wඇৗʹ֦ுੑ͕ߴ͘ɺࠓޙ΋৽͍͠ύϥϝʔλ͕૿͑ΔͱࢥΘΕΔ www.example.net. IN HTTPS 10 www1.example.net. alpn=h3,h2 ipv4hint=… 
  10. αʔϏεύϥϝʔλ  wJQWIJOUɺJQWIJOU w αʔόͷ*1ΞυϨε w """""ͰಘΒΕͨ৘ใ͕͋Δ৔߹͸ͦͪΒ͕༏ઌ͞ΕΔ w """""ͷొ࿥ΛলུͰ͖ΔΘ͚Ͱ͸ͳ͍ͷͰ஫ҙ w

    1PXFS%/4͸ɺJQWIJOUBVUPͱॻ͘ͱద੾ͳ*1ΞυϨεʹஔ͖ସ͑ΔΑ͏ಠ֦ࣗு ͯ͠ΔͬΆ͍ wFDI w &ODSZQUFE$MJFOU)FMMPͷ伴৘ใ ESBGUJFUGUMTFTOJ 
  11. αʔϏεύϥϝʔλ  wهड़ॱ͕ݫີʹنఆ͞Ε͍ͯΔ w NBOEBUPSZɺBMQOɺOPEFGBVMUBMQOɺQPSUɺJQWIJOUɺFDIɺJQWIJOUͷॱ w ͕ɺ·ͱ΋ͳ࣮૷ͳΒద౰ʹॻ͍ͯ΋಺෦తʹਖ਼͍͠ॱ൪ʹฒ΂ସ͑ͯ͘ΕΔ ͱࢥ͏  w஋͸μϒϧΫΥʔτͰͬͯ͘͘΋͘͘Βͳͯ͘΋Α͍

    w BMQOI IͱBMQOlI Iz͸ͲͪΒͰ΋ಉ͡ w ݫີʹ͸ه߸จࣈΛΤεέʔϓ͢ΔࡍͷόοΫεϥογϡ a ͷѻ͍͕ҟͳΔ wEJHͰ֬ೝͯ͠ΈͨΒొ࿥ͨ͠಺༰ͱҟͳΔɺͱ͋Θͯͳ͍Α͏ʹ w ॱ൪΍μϒϧΫΥʔτͷ༗ແ͚ͩͷҧ͍͚ͩͳΒؾʹ͠ͳͯ͘Α͍ 
  12. lz w%/4ͷੈքͰlz͸ҰൠʹϧʔτυϝΠϯΛ͋ΒΘ͕͢ɺ)5514Ϩίʔυͷλ ʔήοτ໊Ͱ͸ผͷҙຯʹͳΔ w ΤΠϦΞεϞʔυͰ͸ɺIUUQTFYBNQMFDPN͕ΞΫηεෆՄͰ͋Δ͜ͱΛࣔ͢ w ϝʔϧʹ͓͚ΔOVMM.9 3'$ ͱಉ͡ w

    αʔϏεϞʔυͰ͸ɺλʔήοτ͕ࣗ෼ࣗ਎Ͱ͋Δ͜ͱΛࣔ͢ w ͜Εͷলུܗˠ example.com. IN HTTPS 1 example.com. example.com. IN HTTPS 0 . example.com. IN HTTPS 1 . 
  13. ฏจ)551Ͱͷ)5514Ϩίʔυ w)5514Ϩίʔυ͸IUUQͳ63-Ͱ΋ࢀর͞ΕΔ w ͦͷ݁Ռ༗ޮͳ)5514Ϩίʔυ͕ݟ͔ͭΕ͹ɺIUUQTʹϦμΠϨΫτ͢Δ w͢ͳΘͪɺ)454ͷ΋͏ͻͱͭͷ࣮ݱํ๏ w Ϩεϙϯεͷ4USJDU5SBOTQPSU4FDVSJUZϔομʹΑΔࢦࣔ w )5514ʹͳΔͷ͸ճ໨ͷΞΫηε͔Β w

    ϒϥ΢β૊ΈࠐΈͷ)5514ڧ੍υϝΠϯͷϦετʹؚ·ΕΔαΠτ )454QSFMPBE  w ࣗ෼ͷυϝΠϯΛϦετʹೖΕͯ΋Β͏Α͏ਃ੥͕ඞཁ w )5514ϨίʔυˡOFX w %/4ొ࿥͚ͩͰॳճΞΫηε͔Β)5514ʹ 
  14. యܕతͳར༻ྫ$%/ ࣄۀऀଆ wαʔϏεϞʔυͰαʔόͷৄࡉΛهड़ w αʔόͷߏ੒Λมߋ͢Δͱ͖Ͱ΋ɺϢʔβʹ%/4ొ࿥৘ใΛมߋͯ͠΋Β͏ඞཁ͕ͳ ͍ cdn.example.net. IN HTTPS 10

    sv30.example.net. alpn=h3,h 2 IN HTTPS 10 sv31 example.net. alpn=h3,h 2 IN HTTPS 20 sv20.example.net. alpn=h 2 sv30.example.net. IN A 192.0.2. 1 sv31.example.net. IN A 192.0.2. 2 sv20.example.net. IN A 192.0.2.3 
  15. ॏΈ͚ͮෛՙ෼ࢄ w437Ϩίʔυͱҧͬͯ)5514ϨίʔυࣗମͰ͸XFJHIUΛઃఆͰ͖ͳ͍͚Ε Ͳɺͪΐͬͱ޻෉͢Ε͹ʜ w XXXɺXXXɺXXXʹ౳֬཰ͰΞΫηε w XXXͱXXX͸ಉ͡*1ΞυϨεˠͷׂ߹Ͱෛՙ෼ࢄ  example.jp. IN

    HTTPS 10 www1.example.jp. alpn=h3,h 2 example.jp. IN HTTPS 10 www2.example.jp. alpn=h3,h 2 example.jp. IN HTTPS 10 www3.example.jp. alpn=h3,h 2 www1.example.jp. IN A 192.0.2. 1 www2.example.jp. IN A 192.0.2. 1 www3.example.jp. IN A 192.0.2.2
  16. ෳ਺ͷΤΠϦΞεϞʔυ ΂͔Βͣू  wෳ਺ͷΤΠϦΞεϞʔυ͸ෆՄ wొ࿥ͯ͠΋Τϥʔʹ͸ͳΒͳ͍͕ɺͲͪΒʹΞΫηε͞ΕΔ͔ෆఆ w ϥϯμϜͰͲΕ͔ͻͱͭʮ͚ͩʯʹΞΫηε͢Δ 4)06-%  w

    αʔϏεϞʔυͰ͸ಉҰ༏ઌ౓ͳΒϥϯμϜॱ ΞΫηεࣦഊͨ͠ΒผαʔόΛࢼ͢ ͕ͩɺΤΠϦ ΞεϞʔυͰ͸ͻͱͭʹΞΫηεࣦͯ͠ഊͨ͠ΒଞΛࢼͣ͞ऴΘΓ w 4)06-%ͳͷͰαʔϏεϞʔυͱಉ͡Α͏ͳڍಈ͕׬શʹېࢭ͞Ε͍ͯΔΘ͚Ͱ͸ͳ͍͕ɺͦΕΛ ظ଴ͯ͠͸͍͚ͳ͍  example.jp. IN HTTPS 0 cdn-a.example.com . IN HTTPS 0 cnd-b.example.net.
  17. ௒ଟஈΤΠϦΞε ΂͔Βͣू  w࢓্༷͸ଟஈΤΠϦΞε͕ೝΊΒΕ͍ͯΔ w͕ɺஈ਺ʹ͸্ݶΛઃ͚ͳ͚Ε͹ͳΒͳ͍ͱ΋نఆ͞Ε͍ͯΔ w Կஈ·ͰՄೳ͔͸࣮૷ґଘ ࣮૷ଆͰܾΊΔ΂͠ͱ࢓༷ʹ໌ه͞Ε͍ͯΔ  w

    ஈΛ௒͑Δଟஈ$/".&Λ໊લղܾͰ͖ͳ͍Ωϟογϡ%/4αʔό͕ଘࡏ͢Δ͜ͱ͔ Βɺଟஈ)5514Ϩίʔυ΋$/".&ͱ͋Θͤͯஈఔ౓·Ͱʹ͢Δͷ͕ແ೉͔  w্ݶʹͻ͔͔ͬͬͨ৔߹͸)5514Ϩίʔυ͕ଘࡏ͠ͳ͔ͬͨ΋ͷͱͯ͠ѻ͏ w ͭ·Γɺ"""""Ϩίʔυͷ໊લղܾʹϑΥʔϧόοΫ͢Δ w΋ͪΖΜɺ॥؀ΤΠϦΞε΋ෆՄ 
  18. """""Ϩίʔυͷলུ ΂͔Βͣू  w*1ΞυϨε͸JQWIJOUɺJQWIJOUͰ༩͑Δ͜ͱ͕Ͱ͖Δ w͕ɺ͋͘·ͰώϯτͰ͋Γɺ"""""Λొ࿥͠ͳ͍͍ͯ͘Θ͚Ͱ͸ͳ͍ w JQWIJOUɺJQWIJOUʹΑΔ৘ใΛʮར༻ͯ͠΋Α͍ .": ʯͰ͋Γɺແࢹ͢Δ࣮૷͸ ౰વ૝ఆ͠ͳ͚Ε͹ͳΒͳ͍

    w ޙड़ͷBEEJUJPOBMTFDUJPOΛར༻͢Δํ๏͕ਪ঑͞Ε͍ͯͯɺJQWIJOU͸ͦΕʹରԠ͠ ࣮ͨ૷͕ීٴ͢Δ·Ͱͷͭͳ͗ͱ͍͏Ґஔ͚ͮ w"""""ϨίʔυͰಘΒΕΔ*1ΞυϨεͱJQWIJOUJQWIJOUʹΑΔ*1ΞυϨε ͕ҟͳΔ৔߹͸"""""ϨίʔυͷํΛਖ਼ͱΈͳ͢ 
  19. 47$#Ϩίʔυ w)5514Ϩίʔυ͸)551ͱͦͷ೿ੜϓϩτίϧ )5514ɺ8FC4PDLFU ༻ w47$#Ϩίʔυ͸ϓϩτίϧΛݶఆ͠ͳ͍ w TDIFNFOBNFQPSUͱ͍͏63-ʹ@QPSU@TDIFNFOBNFͷ47$#Ϩίʔυ͕ରԠ w ͭ·ΓɺҎԼͷͭ͸ҙຯతʹ͸ಉ͡ w

    ͨͩ͠ɺIUUQTͳ63-Ͱ͸͔ͳΒͣ)5514ϨίʔυΛ࢖͏͜ͱʹͳ͍ͬͯͯɺ47$#͸ແޮ wIUUQTҎ֎ʹ࢖ΘΕΔ͜ͱɺROBNF͕ҟͳΔ͜ͱҎ֎͸)5514Ϩίʔυͱ ΄΅ಉ͡ example.com. IN HTTPS … _443._https.example.com. IN SVCB … 
  20. 47$#Ϩίʔυͷར༻ྫ w%JTDPWFSZPG%FTJHOBUFE3FTPMWFST %%3 3'$  w %P)%P5Λ࢖͏ͨΊʹඞཁͳ৘ใΛऔಘ͢ΔͨΊͷखॱΛఆٛ w ҎԼͷ໊લͷ47$#ϨίʔυΛ໰͍߹Θͤͯ%P)%P5αʔόͷ৘ใΛಘΔ w

    %PϑϧϦκϧόͷ*1ΞυϨε͚͕ͩΘ͔͍ͬͯΔ৔߹@EOTSFTPMWFSBSQB w %P)%P5αʔόͷ໊લ͸Θ͔͍ͬͯΔ৔߹@EOT\%P)%P5αʔό໊^ w ͜Μͳ47$#ϨίʔυΛొ࿥͢Δ w _dns.resolver.arpa. IN SVCB 1 . alpn=h2 ipv4hint=x.y.z.w dohpath=/dns-query{?dns } _dns.resolver.arpa. IN SVCB 1 . alpn=dot port=853 ipv4hint=x.y.z.w 
  21. ϨΠςϯγ޲্ࡦ wΫϥΠΞϯτଆͰ΋໊લղܾ݁ՌΛΩϟογϡ͢Δ 4)06-%  w)5514Ϩίʔυͱಉ࣌ʹͦΕͬΆ͍"""""΋౤ػ໰͍߹Θͤ 4)06-%  w ʮͦΕͬΆ͍ʯ͕ਖ਼ղͳΒ໊લղܾʹ͔͔Δ࣌ؒΛ୹ॖͰ͖Δ w

    ϋζϨͳΒ࣌ؒ୹ॖʹ͸ͳΒͳ͍͠ແବʹͳΔ͚Ͳ w)5514Ϩίʔυࣗମ͔ΒಘΒΕΔ*1ΞυϨεʹΑΓ"""""ͷ໰͍߹ΘͤΛ লུͯ͠΋Α͍ .":  w ໰͍߹ΘͤΔଆ͕লུ͢Δͷ͸͍͍͚Ͳɺ͞ΕΔଆ͕ొ࿥Λলུ͢Δͷ͸ෆՄ example.com. IN HTTPS 1 . ipv4hint=192.0.2.1 ipv6hint=2001:db8::1 
  22. "%%*5*0/"-4&$5*0/ͷར༻  wैདྷ OPO)551433BXBSF  w αʔό͸ฉ͔Εͨ͜ͱ͚ͩ౴͑Δ w ΫϥΠΞϯτ͸*1ΞυϨε͕ಘΒ ΕΔ·Ͱ໰͍߹ΘͤΛ܁Γฦ͢

    wকདྷ )551433BXBSF  w αʔό͸ฉ͔Ε͍ͯͳ͍৘ใΛ BEEJUJPOBMTFDUJPOʹࡌͤΔ w ΫϥΠΞϯτ͸͜ΕΛར༻ͯ͠໰ ͍߹ΘͤΛݮΒ͢͜ͱ͕Ͱ͖Δ ; QUESTION SECTIO N example.com. IN HTTP S ; ANSWER SECTIO N example.com. IN HTTPS 0 foo.example.com . ; ADDITIONAL SECTIO N foo.example.com. IN HTTPS 10 bar.example.com . foo.example.com. IN HTTPS 10 baz.example.com . bar.example.com. IN A 192.0.2. 1 bar.example.com. IN AAAA 2001:db8:: 1 baz.example.com. IN A 192.0.2. 2 baz.example.com. IN AAAA 2001:db8::2 )551433BXBSF OPO)551433BXBSF 
  23. "%%*5*0/"-4&$5*0/ͷར༻  wΩϟογϡαʔό w 47$#)5514"""""ϨίʔυΛBEEJUJPOBMTFDUJPOʹؚΊΔ΂͠ wݖҖαʔό w l಺෦໊ͷz47$#)5514"""""ϨίʔυΛBEEJUJPOBMTFDUJPOʹؚΊΔ΂͠ w )551433BXBSFͳΩϟογϡαʔό͕ੈؒͷେ൒ʹͳΔΑ͏ͳ࣌୅͕དྷͨΒɺ΋͸

    ΍JQWIJOU΍JQWIJOU͸࢖͏΂͖Ͱ͸ͳ͍ 4)06-%/05  wैདྷͷαʔόͰ΋)5514ϨίʔυͷऔΓѻ͍͸Մೳ͕ͩɺBEEJUJPOBMTFDUJPO Λ௥ՃͰ͖ΔαʔόղऍͰ͖ΔΫϥΠΞϯτͰ͸΍ΓͱΓ͕ݮͬͯޮ཰͕Α͘ ͳΔ