2022.11.06 Web制作
システム開発 - 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サーバーのインバウンドルール
ポート範囲 | プロトコル | ソース | セキュリティグループ |
80 | TCP | 0.0.0.0/0 | web_drop-web |
443 | TCP | 0.0.0.0/0 | web_drop-web |
22 | TCP | 150.xxx.xxx.xxx/32 | web_drop-web |
Webの表示に使われる80番ポート(HTTP)と443番ポート(HTTPS)は、全てのソースに対して許可があります。一方で22番ポート(SSH)は、弊社(FHW)のIPアドレスに制限されていることが分かります。
Webサーバーのアウトバウンドルール
ポート範囲 | プロトコル | 送信先 | セキュリティグループ |
すべて | すべて | 0.0.0.0/0 | web_drop-web |
アウトバウンドには制限がありません。
DBのセキュリティーグループ(web_drop-db)
インバウンドルールは、AWS DBサーバーの構築(RDS)後半の「接続」で行われたものです。
- 「サービス」から「EC2」を選択
- 左メニュー「セキュリティグループ」を選択
- 一覧で「web_drop-db」のチェックボックスをチェック
- 下の画面で「インバウンドルール」タブをクリック
DBサーバーのインバウンドルール
タイプ | プロトコル | ポート範囲 | ソース |
MYSQL/Aurora | TCP | 3306 | sg-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アドレス)
文責:フライング・ハイ・ワークス代表 松田 治人(まつだ はるひと)
会社では、Laravelを中心としたエンジニアとして働いており、これまでに50本以上のLaravelによるWebアプリケーションの構築や東京でホームページ制作をしています。
エンジニアとして弊社で働きたい方、お仕事のご相談など、お待ちしております。
WEBサイト制作のお問い合わせ、お見積り依頼、ご質問は
こちらのお問い合わせフォームよりお願いいたします
フライング・ハイ・ワークスの紹介
フライング・ハイ・ワークスは、東京のホームページ制作・Web制作会社・システム開発会社です。東京都及びその近郊(首都圏)を中心として、SEO対策を意識したPC及びスマホのサイトをワンソース(レスポンシブ対応)で制作します。
実績
デザイナーチームは、グラフィックデザインやイラストの制作も得意としており、著作権を意識しない素材の提供が可能です。システム・コーディングチームでは、Laravelなどを使用したスクラッチからのオリジナルシステム開発を始め、WordPressのカスタマイズを得意としております。
また、SEOやランディングページ(LP)、広告向けバナーなどを他社様でやっていた作業の引継ぎでも問題ありません。制作実績は多数ございますので、お客様に合わせたご提案が可能です。
500点以上のフライング・ハイ・ワークスの制作実績ページをご覧ください!
東京のホームページ制作・Web制作のお問い合わせ、お見積り依頼、相談、質問は
こちらのお問い合わせフォームよりお願いいたします