<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル横断攻撃</anchor>を防止するため、一部の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fetch</anchor>
は禁止されています。これを <dfn>port blocking</dfn> といいます。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="en-US">Fetch Standard</cite> (<time>2016-03-11 02:17:17 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://fetch.spec.whatwg.org/#port-blocking">https://fetch.spec.whatwg.org/#port-blocking</anchor-external></li></ul></refs></section><section><h1>悪いポートの判定</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor><var>要求</var>について <dfn>should be blocked due to a bad port</dfn>
は、次のようにします <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <var>URL</var> を、<var>要求</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">現在URL</f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <var>scheme</var> を、<var>URL</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scheme<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL scheme</title></f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <var>ポート</var>を、 <var>URL</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">port</f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <var>scheme</var> が <code class="URI" xml:lang="en">ftp<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ftp:</title></code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <var>ポート</var>が <code>20</code> か <code>21</code> なら、「<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認められる<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">allowed</rt></rubyb>」
を返し、ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <var>scheme</var> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワークスキーム</anchor>の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <var>ポート</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">悪いポート</anchor>なら、「<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妨害される<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">blocked</rt></rubyb>」
を返し、ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> 「<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認められる<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">allowed</rt></rubyb>」を返し、ここで停止します。</li></ol></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket</anchor> (<var xmlns="http://www.w3.org/1999/xhtml">scheme</var> が <code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en">ws<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ws:</title></code> や
<code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en">wss<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">wss:</title></code>) は、この判定の時点で 
<code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en">http<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">http:</title></code> や <code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en">https<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">https:</title></code>
に書き換えられているので、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> の制約が適用されます。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> から <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">80</n> にアクセスすることは認められますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> から <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">20</n> や <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">21</n> にアクセスすることは禁じられます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">悪いポート<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">bad port</rt></rubyb></dfn>は、次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal></src>。</p><figure class="list"><p>1 7 9 11 13 15 17 19 20 21 22 23 25 37 42 43 53 77 79 87 95 101 102
103 104 109 110 111 113 115 117 119 123 135 139 143 179 389 427 465 512
513 514 515 526 530 531 532 540 548 556 563 587 601 636 993 995 2049
3659 4045 6000 6665 6666 6667 6668 6669 6697</p></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> このリストは次の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 形式のデータファイルにも含まれています。<refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <cite xml:lang="en">data-web-defs/url-schemes.json at master · manakai/data-web-defs</cite> (<time>2016-03-11 21:04:32 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/manakai/data-web-defs/blob/master/data/url-schemes.json">https://github.com/manakai/data-web-defs/blob/master/data/url-schemes.json</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> ドキュメント <cite xml:lang="en">data-web-defs/url-schemes.txt at master · manakai/data-web-defs</cite> (<time>2016-03-11 21:04:53 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/manakai/data-web-defs/blob/master/doc/url-schemes.txt">https://github.com/manakai/data-web-defs/blob/master/doc/url-schemes.txt</anchor-external></li></ul></li></ul></refs></comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">悪いポート</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定のポート</anchor>とする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の多くは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル横断攻撃</anchor>の危険性が知られる前に作られていて何の対策もしていなかったり、
多くの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> 系システムで標準状態で動作していたりして、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>制限がなければ危険であると考えられています。
そうした<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> を使うことは無いでしょうから、
制限に実害もありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> 新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>の設計者は、
おそらくこれら以外の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート番号</anchor>を使うこととなるでしょうから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル横断攻撃</anchor>への対策を考える必要があります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">といっても今後新たに設計される <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TCP</anchor> 上のほとんどの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> 
を使うことになるでしょうから、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ALPN</anchor> で十分です。</comment-p></section><section><h1>OS 以遠の制限</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>独自の制限に加えて、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワークスタック</anchor>レベルでの
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>や管理者の設定による) 制限があるかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 所属<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワーク</anchor>などの (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ルーター</anchor>等の) 制限で、接続できない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>があるかもしれません。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 残念なことに、こんにちの多くの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISP</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OP25B</anchor> を実施しています。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> 組織のネットワークでは、 <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">80</n> と <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">443</n> とその他少数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>以外の利用を禁止していることがあります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> このような制限は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web互換</anchor>ではありませんが、現にそうした<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワーク</anchor>が少なからず存在している以上、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">著者</anchor>は <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">80</n> と <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">443</n> 以外使うべきではありません。</comment-p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> こうした制限は、実際に接続を試みないと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>からは検知できませんから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> に接続の開始を指示した後、拒まれたとのエラーになったり、
接続を開始した後にタイムアウトで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワークエラー</anchor>となったりします。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> 制限の実装方法にもよりますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タイムアウト</anchor>までに非常に時間がかかり、
しかも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>にはエラーの正確な原因が通知されず、
非常に悪い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者体験</anchor>となることがあります。
ネットワーク管理者は、安易にポートを制限して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>を混乱させるべきではありません。</p></section><section><h1>歴史</h1><section><h1>00年代の実装</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <time>2001年8月<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2001-08</attrvalue></time>に報告された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーム</anchor>を使った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル横断攻撃</anchor>に対処するため、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mozilla</anchor> は特定の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特権ポート</anchor>へのアクセスを遮断することにしました。
他の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>も追随しました。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite>Vulnerability Note VU#476267 - Standard HTML form implementation allows access to IMAP, SMTP, NNTP, POP3, and other services via crafted HTML page</cite> (<time>2016-03-11 21:16:52 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.kb.cert.org/vuls/id/476267">http://www.kb.cert.org/vuls/id/476267</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite>Mozilla Port Blocking</cite>
(<time>2009-06-17 19:41:15 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.mozilla.org/projects/netlib/PortBanning.html">http://www.mozilla.org/projects/netlib/PortBanning.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en">Safari blocks content on some non-standard ports - Apple Support</cite> (<time>2015-03-31 15:02:33 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://support.apple.com/en-il/HT203772">https://support.apple.com/en-il/HT203772</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en">Paper: HTML Form Protocol Attack</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Jochen Topf</anchor> 著, <time>2014-08-30 04:49:30 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.remote.org/jochen/sec/hfpa/index.html">http://www.remote.org/jochen/sec/hfpa/index.html</anchor-external></li></ul><figure xmlns="http://www.w3.org/1999/xhtml" class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">HTTP/HTTPS Port-Blocking in WinINET - IEInternals - Site Home - MSDN Blogs</cite>
(<time>2015-03-31 16:25:26 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blogs.msdn.com/b/ieinternals/archive/2009/06/17/9769913.aspx">http://blogs.msdn.com/b/ieinternals/archive/2009/06/17/9769913.aspx</anchor-external></figcaption><blockquote><p>IE8's current port-block list contains:</p><p> </p><p>    19 (chargen), 21 (ftp), 25 (smtp), 110 (pop3), 119 (nntp), 143 (imap2), 220 (imap3), 993 (secure imap)</p><p> </p><p>Blocking ports 220 and 993 is new to IE8. </p></blockquote></figure><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite>Part2 - browsersec - Browser Security Handbook, part 2 - Browser Security Handbook - Google Project Hosting</cite>
(<time>2015-03-31 16:41:34 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://code.google.com/p/browsersec/wiki/Part2#Port_access_restrictions">https://code.google.com/p/browsersec/wiki/Part2#Port_access_restrictions</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRC</anchor> の 6667 番は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> ではブロックされますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE</anchor> ではされません。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IRC</anchor> サーバーの実装によっては、
<code>GET</code> や <code>HEAD</code> や <code>POST</code> のような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor> (大文字や小文字)
に対して<pre>ERROR :&quot;Oops, HTTP request received? This is IRC!&quot;</pre>... のように返答して接続を閉じるようです。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">命令として実装されているようなので、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>の先頭でなくてもそう動作します。</comment-p></section><section><h1>WebSocket</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML5</anchor> により規定される <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket</anchor> は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル横断攻撃</anchor>を防ぐため、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">port blocking</anchor> を適用することを明文化しました。
ただしどの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>を遮断するべきかは実装に委ねていました。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2015-05-06 10:42:35 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#dom-websocket">https://html.spec.whatwg.org/#dom-websocket</anchor-external></li></ul></refs><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite>
(<time>2015-03-15 01:40:28 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#dom-websocket">https://html.spec.whatwg.org/#dom-websocket</anchor-external></figcaption><blockquote><p>If port is a port to which the user agent is configured to block access, then throw a SecurityError exception and abort these steps. (User agents typically block access to well-known ports like SMTP.)</p><p>Access to ports 80 and 443 should not be blocked, including the unlikely cases when secure is false but port is 443 or secure is true but port is 80.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>が接続しないように設定されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ポート</anchor>が指定されたら、
<code class="DOMe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SecurityError</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>を投げなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> ただし <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">80</anchor></code> と <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">443</anchor></code> は、
制限する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">80</anchor></code> への <code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">wss:</anchor></code> や
<code xmlns="http://www.w3.org/1999/xhtml" class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">443</anchor></code> への <code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ws:</anchor></code> であっても、
制限するべきではありません <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket handshake</anchor> は異なるプロトコルを偽装して接続する攻撃を防ぐように設計されていますから、
他のプロトコルが動作するポートに接続できたとしても <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> ほど問題にはならないかもしれません。</p></section><section><h1>Fetch</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 2016年3月に、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Fetch Standard</anchor> で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">port blocking</anchor> が規定されました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML Standard</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocket</anchor> に関する規定もこれに統合されました。
これによって誕生から15年を経て初めて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webプラットフォーム</anchor>全体の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">port blocking</anchor>
が明文化されました。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en">Define port blocking · whatwg/fetch@eb07418</cite> (<time>2016-03-11 20:41:05 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/eb07418c8383983a9887498e49a2e2e986d3c9f4">https://github.com/whatwg/fetch/commit/eb07418c8383983a9887498e49a2e2e986d3c9f4</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="en">Editorial: normalize port services · whatwg/fetch@11cdd86</cite> (<time>2016-03-11 20:41:19 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/11cdd86d2754c76b9eb7b23a96f1f15cbe613646">https://github.com/whatwg/fetch/commit/11cdd86d2754c76b9eb7b23a96f1f15cbe613646</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en">Editorial: one last nit around port blocking · whatwg/fetch@fc89332</cite> (<time>2016-03-11 20:41:35 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/fc893322dcab3e01b82fd6af3488bcf8765946fd">https://github.com/whatwg/fetch/commit/fc893322dcab3e01b82fd6af3488bcf8765946fd</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="en">Update WebSocket to use Fetch's WebSocket alterations · whatwg/html@3dadbca</cite> (<time>2016-03-11 20:41:51 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/3dadbcad063a10b586ef52dd4b427aa339048ee7">https://github.com/whatwg/html/commit/3dadbcad063a10b586ef52dd4b427aa339048ee7</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <cite xml:lang="en">WebSocket: leave port blocking to the network layer (Fetch) · whatwg/html@17336ad</cite>
(<time>2016-03-23 21:17:32 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/17336ad69be4744dfc17194f2ee51bd730ca4d93">https://github.com/whatwg/html/commit/17336ad69be4744dfc17194f2ee51bd730ca4d93</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <cite xml:lang="en">Update WebSocket to use Fetch's WebSocket alterations · whatwg/html@3dadbca</cite>
(<time>2016-03-28 23:10:44 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/3dadbcad063a10b586ef52dd4b427aa339048ee7">https://github.com/whatwg/html/commit/3dadbcad063a10b586ef52dd4b427aa339048ee7</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <cite>eduroam JP - Minimal available services (protocols)</cite>
(<time>2009-10-06 06:07:16 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.eduroam.jp/docs/thru-proto.html">http://www.eduroam.jp/docs/thru-proto.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <cite xml:lang="en">Editorial: use network and HTTP(S) scheme concepts</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2016-05-30 21:46:40 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/a7e7af28629938544d1b705225d04776261a2ff4">https://github.com/whatwg/fetch/commit/a7e7af28629938544d1b705225d04776261a2ff4</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <cite xml:lang="en">Block more ports (427, 548, 6697)</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2018-05-31 18:57:48 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/2e456740b0ce4145ef2a84bcc3bb5fa2e8b1f5b5">https://github.com/whatwg/fetch/commit/2e456740b0ce4145ef2a84bcc3bb5fa2e8b1f5b5</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <cite xml:lang="en">Add { 548, 'afp' } to the blocked bad ports · Issue #694 · whatwg/fetch</cite>
(<time>2018-06-05 18:36:38 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/issues/694">https://github.com/whatwg/fetch/issues/694</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <cite xml:lang="en">Block AFP ports (427, 548) by annevk · Pull Request #738 · whatwg/fetch</cite>
(<time>2018-06-05 18:38:07 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/pull/738">https://github.com/whatwg/fetch/pull/738</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <cite xml:lang="en">Add several ports to the &quot;bad ports&quot; list. · Issue #482 · whatwg/fetch</cite>
(<time>2018-06-05 18:39:40 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/issues/482">https://github.com/whatwg/fetch/issues/482</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <cite xml:lang="en">Fetch: port blocking change (427, 548) by annevk · Pull Request #11249 · web-platform-tests/wpt</cite>
(<time>2018-06-05 18:41:06 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/web-platform-tests/wpt/pull/11249">https://github.com/web-platform-tests/wpt/pull/11249</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <cite xml:lang="en">Centralize blocked port list · Issue #11346 · web-platform-tests/wpt</cite>
(<time>2018-06-05 18:41:30 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/web-platform-tests/wpt/issues/11346">https://github.com/web-platform-tests/wpt/issues/11346</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <cite>Intent to Deprecate and Remove: Support for HTTP over port 9100, 6697, and 631. - Google グループ</cite>
(<time>2018-06-05 18:43:23 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Ttkgd4aPkW0/7Uwd-S16BwAJ">https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Ttkgd4aPkW0/7Uwd-S16BwAJ</anchor-external></p></section></section></body></html>