パケットフィルタリングによるネットワークセキュリティ――AWS「ネットワークACL」「セキュリティグループ」設定の基本:AWSで学ぶクラウド時代のネットワーク基礎知識(6)
これまであまり物理的なネットワークに触れてこなかったエンジニアを対象に、AWSを用いてネットワークの基礎知識を解説する連載。今回は、パケットフィルタリングによるネットワークセキュリティについて解説し、「ネットワークACL」と「セキュリティグループ」の設定を通して、AWSでパケットフィルタリングを行う方法を示す。
これまであまり物理的なネットワークに触れられてこなかったSEやサーバ管理者、情シスなどの方を対象にネットワークの基本を「Amazon Web Services」(AWS)を用いて解説する本連載「AWSで学ぶクラウド時代のネットワーク基礎知識」。
連載第6回の今回は、ネットワークレベルでのセキュリティの実現方法を解説します。L3/L4レベルで通信をフィルタリングする方法を紹介した後、AWSのネットワークセキュリティの機能で通信フィルタを構築する方法を紹介します。
IP通信におけるセキュリティ
これまでの連載でInternet Protocol(IP)を利用したネットワーク通信の方法を紹介しました。インターネットのネットワークレイヤーはIPプロトコルが利用されており、送信元が宛先IPアドレスを含んだIPパケットを送付すると、インターネットを越えてパケット(データ)がルーティングされ、容易に通信できることを説明しました。
これは便利な半面、端末のIPアドレスを特定できるとインターネット上のどこからでも攻撃を仕掛けることもでき、危険にさらされてしまいます。ここからはネットワークレイヤーでのセキュリティ対策を紹介します。
パケットフィルタリング
通信によるデータの送受信を宅配便に例えます。あなたは配送業者から荷物を受け取る際、必ず送付元の方の名前を確認すると思います。知人からの荷物なら特に疑うことはなく受け取ると思います。しかし、もし聞いたことない会社や不明な送付元からの荷物なら受け取りを拒否するでしょう。
IPネットワークの世界でも同様で、主に送信元のIPアドレスを判断基準としてパケットを受信する/拒否する、あるいは転送する/破棄する「パケットフィルタリング」という機能があり、怪しいパケットを破棄することによって危険な通信から端末を守ることができます。
ACLとファイアウォール
このパケットフィルタリング機能はルーターやスイッチなどの一般的なネットワーク機器なら利用できます。機能名はメーカーによって異なるものの、一般的には「ACL」(Access Control List)という名前で実装されています。このパケットフィルタリング機能を主軸にネットワークセキュリティに特化した製品が「ファイアウォール」です。WindowsやLinuxなどの端末でも一般的に「ファイアウォール」という名称でパケットフィルタリングができるようになっています。
パケットフィルタリングの方法
パケットフィルタリングの方法は次の通りです。
まずは、あらかじめ通信を許可(permit)するIPのセグメントおよび拒否(Deny)するセグメントをリスト形式で登録しておきます。次に、転送されてきたパケットを受信するタイミング(In)、あるいは送信するタイミング(Out)でリストの1エントリ目から順に評価し、マッチするセグメントのアクション(Permit/Deny)を実施します。
もし全エントリを評価してもマッチしない通信は通常はDeny扱い(暗黙のDeny)となり、ドロップ(破棄)されます。
TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)
ただしIPアドレスだけで制御する場合、特定のネットワーク/端末間の全ての通信を許可/拒否するという操作しかできません。
特定の端末による特定のサービスとだけ通信を許可し、その端末からでも特定のサービス以外の通信をフィルタリングするには、IPアドレスに加えてトランスポートレイヤーのTCP(Transmission Control Protocol)/UDP(User Datagram Protocol)プロトコルヘッダにある送信元ポート番号、宛先ポート番号も転送/破棄の判断基準とします。
ステートフルとステートレス
注意しておきたいのは、通常、通信は一方向ではなく双方向ということです。
ネットワークレイヤーにおけるパケットフィルタリングの動作はあくまでも転送されてきたパケットに対して行われるものであり、もし「端末Aから端末B行きの通信」を許可して通したとしても「端末Bから端末Aへの戻り通信」が拒否されて通らなければ通信は成り立ちません。そのため、通信を成立させるには、“行き”と“戻り”の両方のパケットを許可する必要がありますが、IPアドレスおよびポート番号の並びが逆になる“戻り”の通信を自動で許可するパケットフィルタリング機能も存在します。
このように、“戻り”の通信を自動で許可する動作を「ステートフル」といい、“戻り”の通信を自動で許可しない動作を「ステートレス」といいます。一般に、ネットワーク機器で利用されるACLではハードウェアで処理されることからステートレスで動作するものが多くなっています。アプリケーションレイヤーまで認識するファイアウォールは通常ステートフルで動作します。
AWS環境でのネットワークセキュリティの実現
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 新社会人も必見、AWSを題材にクラウドセキュリティの基礎が親子で学べる無料の電子書籍
人気過去連載を電子書籍化し、無料ダウンロード提供する@IT eBookシリーズ。第90弾は、親子の会話で出てくるような素朴な疑問点から、クラウド環境における情報セキュリティの技術を学習する連載「親子の会話から学ぶクラウドセキュリティ」です。新社会人はもちろん、クラウドを扱う全ての人に身に付けてほしいセキュリティの知識を、AWSを題材に学習します。 - 「情シスのためのAWSセキュリティ強化の具体策」セミナーレポート
Amazon Web Servicesを利用する企業は急速に増えている。だが、パブリッククラウドの本格的な利用を初めて検討するところも多く、特にセキュリティ面では戸惑いが見られるのも事実だ。そこで、@IT主催セミナー「情シスのためのAWSセキュリティ強化の具体策」セミナーのレポートをお届けする。 - Azure仮想ネットワークに高度な保護機能を提供する「Azure Firewall Premium」とは
Azure仮想ネットワークにステートフルなファイアウォール機能を提供する「Azure Firewall」の「Premium」プランの一般提供が開始されました。従来の「Standard」プランの全機能に加え、複数の高度なセキュリティ機能で運用環境のネットワークを既知の攻撃手法や悪意ある通信トラフィックから保護することができます。