2013/10/18

AWSのSource/Dest. Checkについてのメモ

昨日「[AWS]VyattaでNATインスタンスを立ててみた」を試している中で、EC2のSource/Dest. Checkについて
「送受信するパケットの送信元あるいは送信先が自分であるかのチェック」
と書いたんだけど、これって結局Promiscuous modeの設定なんじゃないか?と思い、

  1. 同一Subnet内に二つのEC2を建てる
  2. 片方のEC2でtcpdumpする
  3. もう片方のEC2に通信する
という実験をしてみたが、全く通信が引っかからなかった。

何でだろうと思って調べていたところ、Amazon Web Services: Overview of Security Processesという文章を見つけた。以下抜粋。
It is not possible for a virtual instance running in promiscuous mode to receive or "sniff" traffic that is intended for a different virtual instance. While customers can place their interfaces into promiscuous mode, the hypervisor will not deliver any traffic to them that is not addressed to them. This includes two virtual instances that are owned by the same customer, even if they are located on the same physical host. 
つまり
  • EC2インスタンスでPromiscuous modeを有効にしても自分以外の通信を盗聴することは出来ない
  • 自分自身が所有する2つのEC2インスタンスを同一の物理ホスト上で動かしていても同様
ということですね。

AWSはXenをベースにカスタマイズしたハイパーバイザを採用しているそうで、XenはPromiscuous modeで動作可能(How to Configure a Promiscuous Virtual Machine in XenServer)なんだけど、クラウドプラットフォームサービスに特化したAWSでは全面禁止になっているようだ。

クラウドが主流となっていくとネットワークベースのIDS/IDPからホストベースのIDS/IDPに変わって行くのかなぁ。この辺のクラウド構成でのセキュリティ対策については今後も勉強していこう。