ベスト・プラクティス - 80 番ポートを開放しよう

最終更新日: | すべてのドキュメントを読む

ウェブサーバーへアクセスする 80 番ポートがファイアウォールでブロックされているため、HTTP-01 タイプのチャレンジを使用している人が問題につまずくという報告をときどき受けます。 私たちがおすすめするのは、一般的なウェブのユースを提供するすべてのサーバーは、HTTP のための 80 番ポートと HTTPS のための 443 番ポートの両方を開放することです。 また、80 番ポートへの HTTP アクセスに対して、443 番ポートの HTTPS へのリダイレクトを送信し、(443 版ポートへのリクエストに対しては) 可能ならば HSTS ヘッダを付与することを推奨しています。

通常、80 番ポートを開放したことにより、サーバーへの大規模な攻撃を誘発することにはなりません。80 番ポートへのリクエストは、一般的には 443 番ポートに使用されているのと同じソフトウェアでサービスが提供されているからです。

80 番ポートを閉じることは、ユーザーが HTTP でアクセスするリスクを減らすことにはなりません。 普通の状況では、HTTPS へのリダイレクトを受け取るため、それ以降の通信は保護されます。 もしもそのユーザーがアクティブな MITM (中間者攻撃) の対象となっていた場合でも、MITM は 80 番ポートで応答するため、ウェブサイトのユーザーがサーバーから connection refused (コネクション拒否) を受け取る心配がなくなります。

最後に、リダイレクトを提供するために 80 番ポートを開放しておけば、ユーザーが正しい HTTPS バージョンのウェブサイトにアクセスするのを助けることができます。 たとえば、メールの自動リンク機能が利用された場合や、手動でドメイン名が入力される場合など、あなたにはコントロールできないような状況はたくさんあります。 そういった場合には、単にエラーを表示するのではなく、リダイレクトを提供したほうが良いはずです。

残念ながら、あなたのサイトの 80 番ポートをブロックするかどうかを、あなた自身ではコントロールできないような場合もあると思います。 ISP によっては、80 番ポートへのアクセスをブロックしている場合があります。 もしあなたが使用している ISP がブロックを行っている場合でも証明書を取得したい場合には、その他に2つの選択肢があります。DNS-01 チャレンジを使用するか、443番ポートで利用できる TLS-ALPN-01 チャレンジをサポートしているクライアントの1つを使用することです。