目次
はじめに
本記事では、AWSでの通信制御の基本セキュリティグループについて紹介します。
セキュリティグループ
セキュリティグループとは
AWSサービス毎に付与できる通信制御機能で、設定したルールに基づきパケットの出入りを把握して動的に通信の制御を行ってくれます。このような通信制御をステートフルな通信制御と言います。こちらについても本記事内で後程詳しく解説します。
インバウンド・アウトバウンドそれぞれに通信の許可を与える形式でルールを設定します。
セキュリティグループの構成要素
セキュリティグループの構成要素は全部で3つあります。
構成要素 | 意味 |
---|---|
①AWSリソース | セキュリティグループを付与するリソース。
Amazon EC2、Amazon RDS、Elastic Load Balancing (ELB)等VPC上で動作するサービスのほとんどのリソースで必ず1つ以上のセキュリティグループを使います。 1つのサービスに通常5つまでセキュリティグループを付与できます。 |
②セキュリティグループ | ルールをまとめたグループ。
1つのグループに通常60ルールまで記述できます。 1つのセキュリティグループを複数のサービスで使用できます。 |
③ルール | 方向、プロトコル、ポート、Source or destinationを指定して通信を許可するルール。 |
セキュリティグループの動作
セキュリティグループはルールに従って通信を制御します。
ルールには、方向、プロトコル、ポート、Source or destinationがありそれぞれ以下のような意味があります。
- 方向:インバウンド、アウトバウンドがある。
- インバウンド:対象AWSサービスへの通信
- アウトバウンド:対象AWSサービスからの通信
- プロトコル:通信を許可するプロトコル 主にTCP、UDP、ICMPなどがある。
- ポート:通信を許可するポート番号 範囲で指定することもできる。
- Source or destination:通信を許可する送信先、もしくは送信元。主にIPアドレスとセキュリティグループを指定できる。
セキュリティグループを設定すると、上図のようにルールにマッチした通信のみを許可できます。
注意点としては、特定のIPや通信に対して不許可のルールは作れません。悪意あるIPアドレスからのアクセスを制限にする等のルールは作成できないので以下のような別のサービスを利用する必要があります。
セキュリティグループの特長
ステートフルな通信制御
OSやサービスによって変わるエフェメラルポート(※1)を気にせずに設定可能です。
そのため以下のように、AWSのステートレスな通信制御機能であるネットワーク ACLサービスと比較すると簡単に設定できます。
- ※1:エフェメラルポート
サーバー側のポート番号はSSHならば22番のようにウェルノウンポートとして決まっている。 しかしサーバーからクライアントへの通信はエフェメラルポートと呼ばれる範囲のポートからランダムで返答される。エフェメラルポートはAWSサービスやOS等によって異なる。
(参考)Amazon Virtual Private Cloudユーザーガイド
Source or destinationにセキュリティグループを設定できる
Source or destinationにセキュリティグループを設定できるため、クラウド特有のオートスケールに対応できます。
下図のようにSource or destinationにセキュリティグループを設定することで、オートスケールにて自動で割り振りされるIPアドレスを気にすることなく設定できます。
設計のコツ
通信を把握し必要最低限に!
セキュリティグループのベストプラティクスとして、アウトバウンド・インバウンド両方とも必要最小限の通信を許可するように設計しましょう。
インバウンドの通信制限は、不正アクセス対策になります。
アウトバウンドの通信制限は、もしウイルス等に感染した場合に被害の拡散を最小限に抑える効果があります。
役割ごとにセキュリティグループを分けよう!
WEBサーバー、DBサーバー等の役割でセキュリティのグループを設計しましょう。
セキュリティグループは、同じグループを複数のサーバーにつけられます。同じような通信要件のサーバーは1つのセキュリティグループにしてメンテナンス負荷を下げましょう。
参複数のセキュリティグループが付与された場合は、両方のルールが有効になります。
変更を監視しよう!
セキュリティグループは通信を制御する重要な機能ですがメンテナンスがよく発生するサービスでもあります。仮に操作ミスなどでグローバル公開してしまい攻撃を受けてしまう可能性があります。
AWS Config などで変更監視、グローバル公開監視を実施しましょう。
まとめ
セキュリティグループについてご紹介しました。セキュリティグループは、AWSの数多くのリソースで使用する基礎的なサービスです。ぜひ今回の記事を見返しながらAWSを活用いただければと思います。
AWSに興味をお持ちになった方、AWSを開始したいけど構築、運用が手間とお考えの方、是非当社にお問い合わせ ください。導入検討~構築~運用まで、しっかりとサポートさせていただきます。
参考文献
作者プロフィール
名前 | 鈴木 (ヨッシー) |
担当のAWS業務 | 営業支援、ソリューションアーキテクト |
AWSの持っている資格 | Solutions Architect - Professional Security - Specialty Database - Specialty Advanced Networking - Specialty |
好きなAWSのサービス | Amazon Rekognition |
趣味 | ゲーム |
ひとこと | セキュリティは地道にしっかり |