Security Group編~Security Groupでできること~


こんにちは、中の人です。

今回はセキュリティグループについてお話したいと思います。
以前掲載した「Amazon EC2編~基本セキュリティについて~」の更新版となります。

最近のアップデートで、セキュリティグループに対して以下の2つのアップデートがありました。
・セキュリティグループに対してtagの設定が可能となりました。
・設定画面内のIP指定に「My IP」が表示され、選択すると自動的に現在のIPアドレスが指定されるようになりました。
なお、2014年3月現在、プレビュー版ですので管理画面上の説明にある「Try it out.」をクリックしてお試し下さい。

セキュリティグループとは

AWSが提供する仮想ファイアウォール。ポート単位でinbound/outboundをIPアドレス/CIDR/セキュリティグループに対して適用を行うことが出来ます。
注意点1. 通常のファイアウォールの様に全体に対して1台存在するわけではなく、各インスタンスに対してセキュリティグループのポリシーが適用される。
注意点2. 1台のインスタンスに対して複数のセキュリティグループが設定でき、ポリシーはホワイトリスト方式で適用される。
注意点3. セキュリティグループの設定はリアルタイムに反映されるが、既に起動中のセッションについては適用されない。

注意点1. 
通常のファイアウォールの様に全体に対して1台存在するわけではなく、各インスタンスに対してセキュリティグループのポリシーが適用される。

通常のファイアウォールはゲートウェイに1台(または冗長化のために複数台)設置して一括してポリシーを管理しますが、セキュリティグループの場合は”グループ”単位で管理するものの1台1台に対して適用されます。
そのため、同一グループ内であっても”グループ”間での通信を許可しない場合はお互いに通信する事が出来ません。

注意点2. 
1台のインスタンスに対して複数のセキュリティグループが設定でき、ポリシーはホワイトリスト方式で適用される。

1つのインスタンスに対して5つのグループまで関連付けすることが出来ます。「自社」「開発会社」の様なグループを作成して、インスタンスに割り当てることも可能ですし、「Web」「DB」の様に用途別に分けることも可能です。
前者の場合、変更した時にわかりやすいもののグループが多数ある場合には、5つの制限に注意する必要があります。新しくタグ対応したので、後者でタグを利用することで効率的に管理することで、変更にも対応出来ます。

複数のグループを設定した場合、ホワイトリスト方式なのでお互いのルールをきちんと把握することが重要です。
厳密なルールを設定した「グループA」を適用していても、開放的なルール「グループB」もあわせて適用することで、設定しているグループA、グループBで適用している両方で開放しているポリシーが適用されます。
例えば、グループAではSSH(22番ポート)を自社からのみ許可していても、グループBでテスト用にすべての通信を許可してしまえば、両方適用しているインスタンスはどこからでもSSH接続できてしまいます。

複数のグループを適用する場合には、よく注意しましょう。

注意点3. 
セキュリティグループの設定はリアルタイムに反映されるが、既に起動中のセッションについては適用されない。

セキュリティグループの設定変更はリアルタイムに反映されます。ただし、既にセッションが張られているものには適用されません。
開発中などで必要に応じて大きくポリシーを開けていた場合には、ポリシー変更後に念の為netstatで状態を確認するか、インスタンスの再起動をする事でポリシーを正しく適用することが出来ます。

いかがでしたでしょうか?
セキュリティグループは非常に簡単で便利ですが、正しく利用しないと想定外の穴を作ることになってしまいます。
正しくセキュリティグループを使うことで、簡単に安全性を高めましょう!

次回もお楽しみに!!