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サイト制作のお問い合わせ、お見積り依頼、ご質問は
こちらのお問い合わせフォームよりお願いいたします

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

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

フライング・ハイ・ワークスは、東京都渋谷区にある2000年3月創業のシステム開発にも対応できるデザインも強いWeb制作・ホームページ制作会社です。東京都及びその近郊(首都圏)を中心として、SEO対策を意識したPC及びスマホのサイトをワンソース(レスポンシブ対応)で制作します。

実績

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

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

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

採用

FHWでWebディレクター、Webデザイナー、Webプログラマーやシステム開発者として働いてみたいと思っていただける方は、下記にて定期的に募集をしておりますので、ぜひ、ご応募ください。

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

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