CDP:Functional Firewallパターン
提供:AWS-CloudDesignPattern
階層的アクセス制限
目次 |
解決したい課題
ファイアウォールを利用した階層的なアクセス制限は、従来のシステムでも通常行われてきたセキュリティ対策である。しかしアクセス制限のルールが多くなると、ファイアウォールの設定も多く煩雑になり、それに伴い運用コストが高くなってしまう。また、ファイアウォールでルールのグループ化ができない場合は、メンテナンスも煩雑になり、ミスを誘発する可能性も高まる。
クラウドでの解決/パターンの説明
従来、ファイアウォールは専用機器を利用し、グループ化せずにルールを管理することが多かった。グループ化できたとしても、サーバー単位に容易に適用することは困難であった。クラウドではファイアフォールに関しても仮想化されており、より柔軟に設定することが可能となっている。そしてルールをグループ化し、グループ単位での設定や各サーバーへの適用を行うことができるものもある。このグループの単位を機能ごと(WebやDBなど)にすることで、機能に関する設定をグループ内で一元管理できるようになる。仮想サーバーへの適用も機能グループ単位で実施できるようになり、アクセス制限のメンテナンスも容易となりミスも起きにくくなる。
実装
AWSにはセキュリティグループと呼ばれる仮想ファイアウォールがあり、複数作成することも可能である。機能ごとにセキュリティーグループを作成することで、機能ごとのルールを一元管理することができ、機能単位でEC2への適用も可能となる。 VPCの場合は、動作中のEC2に対してもセキュリティグループを適用/不適用することができる。
- Web層、アプリケーション層、DB層など、EC2を機能毎に分類する
- 各層ごとにセキュリティグループを作り、EC2に設定する
- IPアドレスやポート番号、セキュリティグループ間の通信許可などの、セキュリティグループの設定を行う。
構造
利点
- アクセス制御を階層で行えるため、セキュリティが向上する
- 機能毎にグループを分けているため、Scale Outを利用した際もグループにEC2を所属させれば、セキュリティグループの設定変更が必要ない
注意点
- セキュリティグループは論理的なものでいくつも定義出来るが、複雑に作りすぎるとシステムの見通しが悪くなるため、機能グループの粒度には注意する必要がある