9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【AWS】ネットワーク・セキュリティについて(ゲートウェイ、VPC)

Last updated at Posted at 2023-04-11

はじめに

株式会社ジールの@suguru_y_zdh です。
AWSを使ったデータ分析基盤関係の業務に従事しております。
その中で得たノウハウをQiitaをとおして発信していきたいと思います。

今回は社内のAWSネットワーク・セキュリティ勉強会で私が担当したゲートウェイ、VPCのセキュリティについて記事にします。

記事の概要

・インターネットゲートウェイとNATゲートウェイの違い
・NATゲートウェイ有無のインタネット接続イメージ
・セキュリティグループとネットワークACLの違い

インターネットゲートウェイとNATゲートウェイの違い

インタネットゲートウェイとNATゲートウェイの違いを簡単に説明すると下記です。
・インターネットゲートウェイ:プライベートIPとグローバルIPを 1対1 変換する
・NATゲートウェイ: プライベートIPとグローバルIPを 多対1 変換する
 ※動的NAPT(Network Address Port Translation)を用いて多対1を紐づけている
下記がイメージ図でございます。
image.png

NATゲートウェイ有無のインタネット接続イメージ

NATゲートウェイ無の場合

下図はNATゲートウェイ無のインターネット接続イメージです。
(パブリックサブネット内のEC2はプライベートIPアドレスとグローバルIPアドレスを設定している)
image.png

インターネットゲートウェイを通過する際に毎回1つのプライベートIPアドレスと1つのグローバルIPアドレスが変換されます。
この変換がインターネットゲートウェイで行われる 1対1変換です。

パブリックサブネットのインターネット接続イメージを紹介したので、パブリックサブネットの危険性について少し触れます。

パブリックサブネットの危険性

パブリックサブネットはVPC内外からインターネットにアクセスできるルートを設定しているためセキュリティ上の危険性が高いです。悪意のあるユーザーからのサイバー攻撃を受けたり人為的なミスで情報漏洩をする可能性もあります。
そのため機密性の高い情報(お客様情報、会社情報など)をパブリックサブネットに載せることは非常に危険です。
image.png
しかし、実際には会社サービスなどでインターネットと接続するケースは多々あります。その際に使用される一般的なネットワーク構築としてDMZ(DeMilitarized Zone)と呼ばれるネットワーク領域を使用します。DMZについてはこちらのサイトが参考になりました。
【マンガ解説付】5分でざっくりわかる「DMZ」、役割や構築方法をやさしく解説

DMZ(DeMilitarized Zone 直訳:非武装地帯)

DMZとはDeMilitarized Zoneの略で直訳すると非武装地帯となります。
内部のネットワークと外部のネットワークの中間に位置し、どちらからもアクセスできる緩衝地帯の役割を持ちます。

会社のエントランスをイメージしていただくと分かりやすいと思います。
外部の人も内部の人も行き来できる場所で、エントランスには機密情報を置くことはないです。構成図でいうと下図の黒枠部分がDMZにあたります。
問題がない通信に関してはファイアーウォール通過して相互に通信ができます。
image.png

こちら万が一攻撃を受けたとしても、DMZ内でとどまり機密情報が洩れる心配はありません。安全を担保するうえで機密情報をパブリックサブネットから切り離しておくことがとても重要になります。
image.png

NATゲートウェイ有の場合

下図はNATゲートウェイ有のインターネット接続イメージです。
image.png
NATゲートウェイの特徴として下記3点挙げます。
・プライベートサブネットのリソースからインターネットへの接続を可能にするためのゲートウェイ
・プライベートIPアドレスをグローバルIPアドレスに変換して、インターネットゲートウェイに連携する
・インターネットから始まる通信は通さない

上記のイメージにIPアドレスを明示的に示し、より詳細に説明していきます。

下図はNATゲートウェイを介してプライベートサブネットからインターネット接続をするイメージです。(NATゲートウェイにグローバルIPアドレスを設定している)
image.png

このようにNATゲートウェイに対して複数のインスタンスがインターネットと通信する際、それぞれのプライベートIPアドレスをグローバルIPアドレスに変換して通信をすることになります。
この複数のプライベートIPアドレス 対 1つのグローバルIPアドレス の変換が多対1の変換です。

しかし複数のプライベートアドレスを1つのグローバルIPアドレスに変換した場合
外向きの通信 図の黄色の矢印の通信はできても 
内向き 図の緑色矢印の通信はできるのかという疑問が生まれた方もいると思います。
その際NAPT(Network Address Port Translation)という技術を用いて内向きの通信を確保しております。下図がNAPT技術のイメージです。NAPTについてこちらのサイトが参考になりました。
【図解/AWS】インターネットGWとNAT-GWの違い〜各メリット、パブリックサブネットとは〜】
image.png

NAPTはIPアドレスとTCP/UDP ポート番号を用いて送信元のIPアドレス特定します。
具体的には右側の吹き出し部分のように、NAPTにより各IPアドレスにどのポート番号を使って通信するかという情報が載ったNATテーブルを作成し、NATテーブルを基に変換します。少し分かりづらいと思いますのでマンションを使って説明します。
image.png

上図のとおりパブリックサブネットにあるNATマンションがあるとします。このNATマンションのフロントがNATゲートウェイだと思ってください。
フロントにあるNATテーブル上にはNATマンションの101号室に住んでいるという住人の情報が記載してあります。こちらの101号室がポート番号のことだと考えてください。
Aさんから外の世界へ手紙を出す場合にNATテーブルの情報、つまり差出人情報が載った状態になるので外の世界と相互にやり取りすることが可能になります。(Aさんから始まる通信はNATテーブルに情報が載っているのでフロントで正しく変換されて外の世界と相互に通信ができます。)

続いて外の世界から始まる通信について説明します。
image.png
外の世界の外部さんはNATテーブルの情報を知りえません。そのため外の世界の外部さんから始まる通信はNATマンションまでしか到達することができません。またその通信はフロントのNATテーブルには情報が載っていないので正しく変換されず部屋との通信はできません。

NATゲートウェイの特徴として挙げた、
インターネットから始まる通信は通さないというのはこの仕組みのためです。

セキュリティグループとネットワークACLの違い

下図はセキュリティグループとネットワークACLの違いのイメージです。
image.png

セキュリティグループ

image.png

セキュリティグループとは、同一グループ外のインスタンスと通信を行う際のトラフィックを制御するファイアウォールのことです。
上図のようにサブネットの中にセキュリティグループというファイアーウォールを作るイメージです。(便器上パブリックサブネットに作成しておりますが、プライベートサブネットにも作成することもできます。)
特徴として3点挙げます。
・インスタンス単位で通信制御ができる(EC2,RDSなど)
・通信制御としてインバウンド(内向きの通信)とアウトバウンド(外向きの通信)がある
・通信制御の設定は作成した全てのルールが適用される

作成した全てのルールが適用されるについて説明します。
image.png
上図のようにセキュリティグループの設定項目は
①プロトコル
②ポート範囲
③ソースの設定
を設定できます。

例えば右側に記載のポート番号22でソース10.0.3.11 と 12 の二つのルールを作成した場合
このセキュリティグループの通信制御の設定はポート番号22のソースが10.0.3.11と12両方を許可するという設定になります。
これが全てのルール適用するということです。

ネットワークACL

image.png
ネットワークACL(Access Control List)とは、セキュリティグループと同様ファイアーウォールのことです。セキュリティグループはインスタンス単位の制御だったのに対してネットワークACLはサブネット単位の制御を行います。
上図ようにサブネットに対してネットワークACLというファイアーウォールを作るイメージです。(便宜上パブリックサブネットに作成しておりますが、プライベートサブネットにも作成することもできます。)

特徴として3点挙げます。
・サブネット単位通信制御ができる
・通信制御として先ほど同様インバウンドとアウトバウンドがある
・作成したルールを番号順に照合し最初に一致したルールを適用する

通信制御の設定は作成したルールを番号順に照合し最初に一致したルール適用するについて説明します。
image.png

上図のようにネットワークACLの設定項目は
①プロトコル
②ポート範囲
③送信元
④許可か拒否か
を設定できます。

例えばネットワークACLのルールが右側のように100番、101番、102番と続いていたとします。
ここで100番のルールと合致した場合は100番が適用され101番以降は適用されません。
また、100番のルールに合致せず、101番のルールに合致した場合、100番と102番以降のルールは適用されません。
こちらが番号順に照合し最初に一致したルール適用するということです。

おわりに

AWSのゲートウェイ、VPCのセキュリティについて私なりの解釈でまとめました。誤り等あれば気軽にコメントいただければと思います。こちらの記事が皆様の参考になれば幸いでございます。

参考URL

・NAT-GW関連
【図解/AWS】インターネットGWとNAT-GWの違い〜各メリット、パブリックサブネットとは〜】

・DMZ(DeMilitarized Zone)関連
【マンガ解説付】5分でざっくりわかる「DMZ」、役割や構築方法をやさしく解説

株式会社ジールでは、初期費用が不要で運用・保守の手間もかからず、ノーコード・ローコードですぐに手元データを分析可能なオールインワン型データ活用プラットフォーム「ZEUSCloud」を提供しております。
ご興味がある方は是非下記のリンクをご覧ください:
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?