ファイアウォール/セキュリティグループ
- ファイアウォールは、通信を「通す/止める」を決まり(ルール)で判断するしくみ
- ルールは「どこから(送り元のIPアドレス)」「どの番号へ(ポート番号)」の組み合わせで書く(前の2ページの知識を使う)
- クラウドでサーバーを作るときは、サーバーにつける専用のファイアウォールが用意されている(AWSではセキュリティグループと呼ぶ)
- 必要なところだけ開ける
身近な例えで理解する
オフィスビルの受付では、入館のルールを見て、「誰が(どこから来た人か)」と「どこへ行くか(行き先)」の組み合わせで、通すかどうかを決めています。たとえば「1階のショールームへは、誰でも行ける」「サーバールームへは、この会社の社員だけが行ける」というルールなら、外から来たお客さんでもショールームへは通れますが、サーバールームへ行こうとすると止められます。同じ人でも、行き先によって通れたり止められたりするわけです。ルールにない組み合わせは通しません。
- 受付ファイアウォール(セキュリティグループ)
- 入館のルール「どこからの、どの番号への通信を通すか」のルール
- 誰が(どこから来た人か)送り元のIPアドレス
- どこへ行くか(行き先の部屋)ポート番号(443番・22番など)
- ショールームへは誰でも誰でも見てよいWebページ(443番)はどこからでも通す
- サーバールームへは社員だけサーバーを操作できるSSH(22番)は会社のIPからだけ通す
ビルが開いていても、受付で止められれば中には入れません。サーバーが動いていて、サービスも受け付けていても、ファイアウォールで止められていればつながりません。 違うところもあります。受付は人そのものを見て判断しますが、ファイアウォールが見るのは「どこから来たか(送り元のIPアドレス)」と「どの番号宛てか」だけです。本人かどうかを確かめるのは、次の SSH の鍵の仕事です。
ちょっと確認
このあと、どうするのがよいですか?
例えを外して、実際のしくみ
ルールは「送り元」と「ポート番号」の組み合わせ
クラウドのファイアウォールは「入ってくる通信は全部止める」から始まる
クラウドでサーバーを作ると、サーバーにつける専用のファイアウォールが用意されています。呼び名はクラウドごとに違い、AWSでは「セキュリティグループ」、Google Cloud では「ファイアウォールルール」、Microsoft Azure では「ネットワークセキュリティグループ」と呼びます。たとえばAWSでセキュリティグループを自分で新しく作ると、「入ってくる通信(インバウンド)」のルールが空で、何も通りません。通したいものを「許可」として足していきます。止めるルール(拒否)は書けず、書けるのは許可だけです。一方、出ていく通信(アウトバウンド)は、最初は全部許可になっています。ただし、サーバーを作る画面にまかせてセキュリティグループを作ると、SSH(22番)を「どこからでも」許可するルールが入ったままできあがることがあります。そのままにせず、送り元をしぼりましょう
返事の通信は自動で通る
セキュリティグループは「ステートフル」といって、許可した通信への返事は、別にルールを書かなくても通ります。たとえば出ていく通信のルールをしぼっていても、外から443番に来たリクエストを許可していれば、それへの返事は出ていけます
必要なところだけ開ける
インターネットにつながったサーバーには、どこからともなくつながろうとする通信が絶えず届きます。SSHの22番を「どこからでも」にすると、世界中からログインを試されてしまいます。誰に見せてもよいWebの443番は「どこからでも」、管理用の22番は会社のIPからだけ、のように分けます
このページのまとめ
- ファイアウォール
- 通信を、決めたルールで「通す/止める」しくみ
- セキュリティグループ
- AWSのインスタンスにつけるファイアウォール。書けるのは許可ルールだけ
- ルール
- 「どこから(送り元)」+「どの番号へ(ポート番号)」で書きます
- 0.0.0.0/0
- 「どこからでも」。管理用のポート(22番など)には使いません
先輩のひとことの意味
先輩「セキュリティグループに443番を追加しといて。あ、22番は会社のIPからだけね」
セキュリティグループは、インスタンスの入口の受付です。「Webページの窓口(443番)は、誰でも通れるように許可を足しておいて。サーバーを操作する入口(SSHの22番)は、会社のIPアドレスから来た通信だけを通すようにしておいてね」という意味です。誰でも見てよいものは広く、大事な入口はせまく開けます。
練習問題で確かめる
あるセキュリティグループの、入ってくる通信のルールは次の2つだけです。 | ポート番号 | 送り元 | |---|---| | 443 | 0.0.0.0/0(どこからでも) | | 22 | 203.0.113.10/32(会社のIP) | 止められる通信はどれですか?(自宅のIPは 198.51.100.20 とします)
AWSで、セキュリティグループだけを新しく作った直後、外からインスタンスに入ってくる通信はどうなっていますか?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。