クラウド

Lightsailのファイアウォール設定を理解する:22・80・443番ポートの役割と安全な公開方法

AWS Lightsailのファイアウォール設定を題材に、22・80・443番ポートの役割、公開範囲、設定時の注意点を初学者向けに整理します。

この記事でわかること

  • 22番は主にSSH接続、80番はHTTP通信、443番はHTTPS通信に使われる。
  • ポートを開放すると外部からの到達可能性が生まれるため、用途と公開範囲を確認する。
  • 不要なポートは開放せず、管理用ポートには接続元を制限する考え方が重要である。

Lightsailのファイアウォールは何を制御するのか

Lightsailのインスタンスファイアウォールは、インスタンスのパブリックIPアドレスに対する受信通信を、プロトコル、ポート、送信元IPアドレスなどのルールで制御します。IPv4とIPv6のファイアウォールは別々に設定され、ルールは基本的に通信を許可するためのものです。詳しくはAWS公式ドキュメントを確認してください。

ポートを開放することは、対応するサービスへ外部から到達できる経路を用意することです。ただし、ファイアウォールで許可しても、インスタンス上でサービスが起動していなかったり、対象ポートで待ち受けていなかったりすれば接続できません。

22・80・443番ポートの役割を整理する

代表的なポート番号と用途は次のとおりです。ポート番号は慣例であり、実際のサービス構成によって別のポートを使うこともあります。

ポート番号代表的なプロトコル主な用途公開時の注意点
22SSH / TCPLinuxインスタンスの管理接続管理者が利用するIPアドレスやCIDR範囲への限定を検討する
80HTTP / TCP暗号化されないWeb通信HTTPで公開する場合や、HTTPSへのリダイレクトなどで必要になることがある
443HTTPS / TCPTLSで保護されたWeb通信証明書やWebサーバー側のTLS設定も必要になる
Lightsailでよく確認するポート

22番、80番、443番の標準的な割り当ては、IANAのサービス名・ポート番号レジストリでも確認できます。AWS公式ドキュメントでも、Webサーバー向けにHTTP(80)とHTTPS(443)、管理接続向けにSSH(22)を使う例が示されています。

Lightsailで公開設定を考える基本手順

  1. インスタンス上で公開したいサービスと、実際に待ち受けているポートを確認する。
  2. 必要なポートを、管理用とWeb公開用に分類する。
  3. Lightsailのファイアウォールでは、用途に対応するポートだけを追加する。
  4. 設定後、想定した接続元からサービスへ到達できるか確認する。

接続できない場合は、Lightsailのファイアウォール、インスタンス内のOSファイアウォール、WebサーバーやSSHサーバーの待ち受け設定を分けて確認します。これらは別の層の設定なので、どこで通信が止まっているかを切り分けることが重要です。

ポートを安全に公開するための考え方

  • 22番ポートは、可能であれば管理者が利用する接続元に限定し、全世界への公開を避ける。
  • 80番と443番は、Webサービスの要件に応じて選ぶ。HTTPSを利用する構成では、80番が不要か、リダイレクトなどで必要かを確認する。
  • 検証のために一時的に開放したポートは、作業後に不要になっていないか確認する。
  • 公開の必要性、接続元の範囲、認証や暗号化の有無を確認してからルールを追加する。

接続できないときの確認ポイント

  • 指定したポート番号と、クライアントが接続しているポート番号が一致しているか確認する。
  • Lightsail側のファイアウォールで、対象プロトコルとポートが許可されているか確認する。
  • IPv4で接続しているのか、IPv6で接続しているのかを確認し、対応するルールを設定する。
  • インスタンス内のOSファイアウォールが通信を遮断していないか確認する。
  • WebサーバーやSSHサーバーが起動し、対象ポートで待ち受けているか確認する。
  • HTTPSの場合は、証明書やTLS設定の問題と、ネットワーク到達性の問題を分けて調査する。

参考