プログラマでありたい

おっさんになっても、プログラマでありつづけたい

AWSでブラックリスト型のFirewallを実装する。〜BlackList Firewallパターン〜

 CDP Advent Calendar 2013 の13日目です。クラウドデザインパターンというよりNetworkACLの機能そのままなのですが、AWSでBlackList型のFirewallを実現する方法についての情報が少ないので書いてみました。名前を付けるとしたら、そのまま「BlackList Firewallパターン」です。

1 解決したい課題



 AWSのセキュリティグループによるアクセス制御は、ホワイトリスト方式のFirewallである。しかし、特定IPからの攻撃を検知した場合は、そのIPアドレスからの通信をブラックリスト方式によるFirewall機能で遮断したい。残念ながらセキュリティグループでは、特定IPからのアクセスは出来ない。

2 クラウドでの解決/パターンの説明



 VPCのネットワークACLを利用すれば、ブラックリスト方式のFirewallを実装出来る。そこで、インターネットゲートウェイ側のサブネットにネットワークACLで、拒否IPを追加することによりブラックリスト方式によるFirewall機能を実装出来る。サーバ単位でのアクセス制御が必要ないので、設定によるタイムラグや設定漏れを防げる。

3 実装



 インターネットゲートウェイ側のサブネットのネットワークACLのInboundルールで、拒否したいIPアドレスをSourceに指定してActionをDenyにする。

4 構造



5 利点



・サーバ単位でのアクセス制御が必要ないので、設定によるタイムラグや設定漏れを防げる
・ネットワークセキュリティのポリシーを一元管理出来る

6 注意点



・拒否する範囲を広げすぎると、無関係のアクセスまで遮断してしまう