頑張らないために頑張る

ゆるく頑張ります

10080ポートへの接続がブラウザ側でブロックされる

Posted at — Nov 27, 2024

概要

ChromeやFirefoxといった主要なブラウザでは、10080ポートがデフォルトでブロックされています。今回はそんな数年前の話のリバイバルです(それは、単に忘れていたと言う)。

とあるwebシステムを作成していたとき、考えなしにポート10080を指定してブラウザからアクセスしました。ところが、ブラウザ側でこのポートへのアクセスがブロックされてしまいました。ブラウザにこの仕様が追加されたのは2021年ごろと記憶していますが、そんなことすっかり忘れて今回の事態に陥って「そういえばそんな仕様あったな」って思い出すまで若干時間を無駄にした次第なので、ここでメモしておこうと思います。また忘れた頃に同じことすると思うので(;´Д`)

10080ポートがブロックされる理由

簡単に言うと、セキュリティ対策のためです。10080ポートは、NAT Slipstreaming攻撃という(当時の)新たな攻撃手法に対するセキュリティ対策として、ブラウザがブロックするような仕様になっています。この攻撃は、特定のポートを利用してネットワーク内の他のデバイスに不正アクセスを試みるものです。

ブロックされるポートは10080だけではありません。Fetch StandardでBad portという扱いになっているポートは、このようにブロックされる対象です。このあたりのポートはBugzillaにも記載のあったポートです。

このポートブロックに関してはFireFoxが先行していたようですが、Google Chromeもバージョン91以降からFirefoxに倣って、10080ポートをデフォルトでブロックするようになりました。

10080ポートへのアクセス方法

ここからはこのポートブロックを解除する方法について検討します。

webアプリ側のポートを10080以外に変更する

10080ポートをブロックする機能は、基本的にはセキュリティ対策のためのものですので、そのままブロックしておくのがベストな対応です。となると、アクセスする先のポートを変更し、ブロックされないポートに変更すべきでしょう。たとえば10080で指定していたポートを10085にする、などです。これであればブロック機能を確保しつつ、アクセスできるようになります。

ブラウザのブロックを解除する

何らかの理由で「どーー-しても10080ポートを利用する必要がある」というケースでは、ブラウザ側のブロック機能を解除する必要があります。ここではChromeにおいてブロック機能を解除する方法を記述します。記述しますが、推奨しません

Chromeでの解除方法

  1. デスクトップまたはタスクバーにあるChromeのショートカットを右クリックし、「プロパティ」を選択します。
  2. 「ショートカット」タブの「リンク先」欄の末尾にスペースを空けて--explicitly-allowed-ports=10080を追加します。
  3. 変更を適用し、Chromeを再起動します。

Firefoxでの解除方法

  1. アドレスバーにabout:configと入力し、エンターキーを押します。
  2. 警告が表示されたら「危険を承知で使用」を選択します。
  3. 設定名検索欄にnetwork.security.ports.banned.overrideと入力し、新しい文字列として「10080」を追加します。
  4. Firefoxを再起動します。

これらの手順により、一時的に10080ポートへのアクセスが可能になります。が、セキュリティの面からすれば、先述のとおり10080以外のポートを使用することが望ましいでしょう。

参考

  1. Google Chrome blocks port 10080 to stop NAT Slipstreaming attacks
  2. Google deploys Chrome mitigations against new NAT Slipstreaming attack
  3. NAT Slipstreaming v2.0
  4. NAT Slipstreaming v2 攻撃とブラウザ側の対策
  5. Issues with Port 10080
  6. 【IBM i情報】Zend Server標準ポート10080のブラウザブロックについて
  7. Web Application開発に10080番ポートは使ってはいけない
  8. 10080ポートにつながらない原因、解決方法について分かりやすく解説
  9. 2.9 Port blocking
  10. Consider blocking ports 69, 137, 161, 1719, 6566, 10080
  11. NAT Slipstreaming v2 攻撃とブラウザ側の対策
comments powered by Disqus