システム開発 - AWS ファイアウォール(EC2)

 

前回のAWS DBサーバーの構築(RDS)後半では、データベースの設定が無事完了しました。

今回は、ファイヤーウォールの設定を確認した後、WebサーバへのSFTP接続を許可する設定を作成します。

ファイアウォールとは

ファイアウォールとは、ネットワークを不正アクセスから守るために通してよい通信だけを通し、それ以外を制限する設定の総称です。

ファイアウォールは、「セキュリティグループ(EC2)」がその役割を担っており、アウトバンドインバウンドの設定があります。

アウトバウンドのポートは多くの場合は全て開いていますが、インバウンドのポートは必要なものだけ開けるようにします。

ポート番号

セキュリティーグループでは、ポート番号ごとに許可を与える仕組みになっています。

そこでポート番号について簡単に解説します。

ポート番号とは

コンピュータの通信に使用するプログラムを識別するための番号です。これは、二つ以上のパソコン間に限らず、同一のコンピューター内で通信を行う場合にも、識別するために利用されます。

ポート番号を決める方法には2種類があります。

標準で決められている番号(ウェルノウンポート番号)

代表的なプログラムが使うポート番号はあらかじめ決められており、ウェルノウンポート番号と呼ばれます。代表的なポート番号しては、下記のようなものがあげられます。

  • SSHサーバー:ポート番号22
  • SMTPサーバー:ポート番号25
  • HTTPサーバー:ポート番号80
  • HTTPSサーバー:ポート番号443

ウェルノウンポート番号は、0〜1023のいずれかの整数値で、接続元(クライアント)が接続先のポート番号を省略した場合、ウェルノウンポート番号が使用されます。

動的に決まる番号

接続先のサーバーは、ポート番号が決まっている必要がありますが、接続元(クライアント)はポート番号が決まってなくても、問題はありません。

クライアントのポート番号は、OSが他のポート番号と重複しないように、ランダムに決めます。動的に割り当てられる番号は49142〜65535のいずれかの整数値となります。

セキュリティーグループの確認

上述のポート番号を踏まえ、WEB及びDBのインスタンスに設定されているポート番号を確認してみます。

WEBサーバーのセキュリティーグループ(web_drop-web)

インバウンドルールは、AWS Webサーバーの構築(EC2)の「ネットワークの設定」で行われたものです。

  • 「サービス」から「EC2」を選択
  • 左メニュー「インスタンス」を選択
  • 一覧で「web_drop_web_server」のチェックボックスをチェック
  • 下の画面で「セキュリティ」タブをクリック

Webサーバーのインバウンドルール

ポート範囲プロトコルソースセキュリティグループ
80TCP0.0.0.0/0web_drop-web
443TCP0.0.0.0/0web_drop-web
22TCP150.xxx.xxx.xxx/32web_drop-web
※ソースの「150.xxx.xxx.xxx/32」はFHWの固定IPアドレス

Webの表示に使われる80番ポート(HTTP)と443番ポート(HTTPS)は、全てのソースに対して許可があります。一方で22番ポート(SSH)は、弊社(FHW)のIPアドレスに制限されていることが分かります。

Webサーバーのアウトバウンドルール

ポート範囲プロトコル送信先セキュリティグループ
すべてすべて0.0.0.0/0web_drop-web

アウトバウンドには制限がありません。

DBのセキュリティーグループ(web_drop-db)

インバウンドルールは、AWS DBサーバーの構築(RDS)後半の「接続」で行われたものです。

  • 「サービス」から「EC2」を選択
  • 左メニュー「セキュリティグループ」を選択
  • 一覧で「web_drop-db」のチェックボックスをチェック
  • 下の画面で「インバウンドルール」タブをクリック

DBサーバーのインバウンドルール

タイププロトコルポート範囲ソース
MYSQL/AuroraTCP3306sg-079a85b49d710b501

ソースのIDは、セキュリティグループ「web_dorp-web」を指しており、つまり、MYSQL/Auroraは、ポート番号3306で、web_dorp-webからの接続のみ許可しているという意味になります。

3306番は、MySQLサーバーのデフォルトの接続ポートです。

DBサーバーのアウトバウンドルール

タイププロトコルポート範囲送信先
すべてのトラフィックすべてすべて0.0.0.0/0

アウトバウンドには制限がありません。

SFTPによるWEBサーバーへの接続

このサーバーでは、SSHとSFTPによる接続で、Webサイトを構築していく予定です。

既にSSHの設定はできていますが、SFTPによる接続は可能なのでしょうか?

FTPによるセキュアな接続方法として、SFTPとFTPSがあります。
表現は似ていますが、実はすべてポート番号がことなります。

  • FTP ・・・ 21番
  • SFTP ・・・ 22番
  • FTPS ・・・ 990番

ポート番号で見るとわかるのですが、全て全くことなるポートを使用しており、また、SFTPは、SSHと同じポート番号であることがわかります。

従って、今回の設定で、SSHのポートは解放されています(IP制限はあるが)ので、他のポートをわざわざ解放する必要がないということがわかります。

まとめ

今回は特に設定する項目はありませんでした。

そして、現時点で、ある程度の設定はできており、Web/DBサーバーとして利用することはできる段階にちかづいてきました。

次回は、Webサーバーに固定IPアドレス(Elastic IP)設定する方法を解説します。

次回:AWS IPアドレスの固定(Elastic IPアドレス)

一覧:AWS サーバー立ち上げ設定まとめ

文責:フライング・ハイ・ワークス代表 松田 治人(まつだ はるひと)
会社では、Laravelを中心としたエンジニアとして働いており、これまでに50本以上のLaravelによるWebアプリケーションの構築や東京でホームページ制作をしています。
エンジニアとして弊社で働きたい方、お仕事のご相談など、お待ちしております。

WEBサイト制作のお問い合わせ、お見積り依頼、ご質問は
こちらのお問い合わせフォームよりお願いいたします

メールお問い合わせはこちら

フライング・ハイ・ワークスの紹介

フライング・ハイ・ワークスは、東京のホームページ制作・Web制作会社・システム開発会社です。東京都及びその近郊(首都圏)を中心として、SEO対策を意識したPC及びスマホのサイトをワンソース(レスポンシブ対応)で制作します。

実績

デザイナーチームは、グラフィックデザインやイラストの制作も得意としており、著作権を意識しない素材の提供が可能です。システム・コーディングチームでは、Laravelなどを使用したスクラッチからのオリジナルシステム開発を始め、WordPressのカスタマイズを得意としております。

また、SEOやランディングページ(LP)、広告向けバナーなどを他社様でやっていた作業の引継ぎでも問題ありません。制作実績は多数ございますので、お客様に合わせたご提案が可能です。

500点以上のフライング・ハイ・ワークスの制作実績ページをご覧ください!

東京のホームページ制作・Web制作のお問い合わせ、お見積り依頼、相談、質問は
こちらのお問い合わせフォームよりお願いいたします

メールお問い合わせはこちら