流れ1の6語目 / 10

ファイアウォール/セキュリティグループ

セキュリティ
443番が閉じていたことが分かったあと
「セキュリティグループに443番を追加しといて。あ、22番は会社のIPからだけね」
「ファイアウォール/セキュリティグループ」って、何のことだろう…?

ファイアウォールは、サーバーに届く通信を「通す/止める」を、決めておいたルールで判断するしくみです。

クラウドでは、サーバーにつける専用のファイアウォールが用意されていて、AWSではそれをセキュリティグループと呼びます。

このページで分かること読む 約5分・問題 3問
  • ファイアウォールは、通信を「通す/止める」を決まり(ルール)で判断するしくみ
  • ルールは「どこから(送り元のIPアドレス)」「どの番号へ(ポート番号)」の組み合わせで書く(前の2ページの知識を使う)
  • クラウドでサーバーを作るときは、サーバーにつける専用のファイアウォールが用意されている(AWSではセキュリティグループと呼ぶ)
  • 必要なところだけ開ける

身近な例えで理解する

オフィスビルの受付では、入館のルールを見て、「誰が(どこから来た人か)」と「どこへ行くか(行き先)」の組み合わせで、通すかどうかを決めています。たとえば「1階のショールームへは、誰でも行ける」「サーバールームへは、この会社の社員だけが行ける」というルールなら、外から来たお客さんでもショールームへは通れますが、サーバールームへ行こうとすると止められます。同じ人でも、行き先によって通れたり止められたりするわけです。ルールにない組み合わせは通しません。

  • 受付ファイアウォール(セキュリティグループ)
  • 入館のルール「どこからの、どの番号への通信を通すか」のルール
  • 誰が(どこから来た人か)送り元のIPアドレス
  • どこへ行くか(行き先の部屋)ポート番号(443番・22番など)
  • ショールームへは誰でも誰でも見てよいWebページ(443番)はどこからでも通す
  • サーバールームへは社員だけサーバーを操作できるSSH(22番)は会社のIPからだけ通す

ビルが開いていても、受付で止められれば中には入れません。サーバーが動いていて、サービスも受け付けていても、ファイアウォールで止められていればつながりません。 違うところもあります。受付は人そのものを見て判断しますが、ファイアウォールが見るのは「どこから来たか(送り元のIPアドレス)」と「どの番号宛てか」だけです。本人かどうかを確かめるのは、次の SSH の鍵の仕事です。

ちょっと確認

Q1同期のひとこと
同期「SSHの22番、誰からでもつながるように開けといたよ」

このあと、どうするのがよいですか?

例えを外して、実際のしくみ

ここからは実際のしくみ
ルールは「送り元」と「ポート番号」の組み合わせ

「どこから(送り元のIPアドレスやその範囲)」「どの番号へ(→05 ポート番号)」を書きます。たとえば「443番:どこからでも」「22番:203.0.113.10 からだけ」です。「どこからでも」は 0.0.0.0/0 と書きます。1つのIPアドレスだけを指定するときは 203.0.113.10/32 のように書きます(「/」のあとの数字の意味は 33 サブネットで説明します。ここでは書き方として覚えれば大丈夫です)

クラウドのファイアウォールは「入ってくる通信は全部止める」から始まる

クラウドでサーバーを作ると、サーバーにつける専用のファイアウォールが用意されています。呼び名はクラウドごとに違い、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アドレスから来た通信だけを通すようにしておいてね」という意味です。誰でも見てよいものは広く、大事な入口はせまく開けます。

練習問題で確かめる

Q24択:ルール表を読む

あるセキュリティグループの、入ってくる通信のルールは次の2つだけです。 | ポート番号 | 送り元 | |---|---| | 443 | 0.0.0.0/0(どこからでも) | | 22 | 203.0.113.10/32(会社のIP) | 止められる通信はどれですか?(自宅のIPは 198.51.100.20 とします)

Q34択

AWSで、セキュリティグループだけを新しく作った直後、外からインスタンスに入ってくる通信はどうなっていますか?

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core