質問: Amazon Web Services(AWS)で提供されているAmazon Relational Database Service(RDS)の暗号化について質問です。 RDSでは、基本的に「リソースの暗号化」と「接続の暗号化」が存在するようですが、まずはリソースの暗号化について質問させて下さい。 RDSインスタンスのリソースの暗号化を有効化した場合、具体的に`RDSインスタンス`、`自動バックアップ`、`リードレプリカ`、`スナップショット`のリソースが暗号化されるようですが、自分以外のユーザがAWSコンソールにアクセスできるようなことが無い場合(IAMなど)、これらのストレージを暗号化するメリットを感じられなかったのですが、どうなのでしょうか?リソースの暗号化を利用する場合、m3.medium以上のインスタンスを利用しなければいけないため、コスト的なデメリットを感じています。 次に、接続の暗号化についてですが、VPCのPrivate SubnetにRDSを設置しPublic Subnetに設置されたEC2インスタンスのアプリケーションからのみRDSにアクセスできるようにした場合、SSLによる通信の暗号化を行ったところで、誰もその通信を傍受することができないと思うのですが、こちらの認識についても誤りがありましたら、ご指摘していただきたいです。 SSL暗号化は、セキュリティ上の利点を提供する一方、SSL暗号化がかなりの計算処理を必要とするオペレーションで、データベース接続の待ち時間を増加させることがあるという記述がAmazonのドキュメントにございましたので、できれば無効化したいと思っています。 しかし「リソースの暗号化」と「接続の暗号化」を無効にした場合、上記の認識でセキュリティ意識に対する穴がないという自信を持てませんでしたので質問させていただきました。 よろしくお願いいたします。
回答: AWSのデータセンター(DC)内部に悪意のある人間が紛れ込んだ場合への対応、としては穴があることになります。 一例なのですが、バックアップの入ったディスク(またはイメージ)が流出した、EC2インスタンスが繋がるハブに特殊な機器を接続され流れるパケットを盗み見られた、そういったケースへの対応です。DC外部からでも、実装時には未知だった脆弱性により、そういう内容が漏れることが考えられます。 もちろんサービスの内容、保存するデータの重要度によっては「そういうことならしかたないよね」で済む場合もあるでしょう。逆に言うと、データの重要度が高ければ、できたはずの暗号化を実施していなかったことが責任上の大きな問題になる場合もあります。 いずれにせよ、「取れない/見れないから大丈夫」ではなく、「万が一見られても大丈夫」という視点が、暗号化を考える上では肝要です。加えてセキュリティ対策では、問題が発生した時にどれだけの損失・責任が発生するかが重要なファクターになります。特に **コスト** にはそういうリスクも織り込むべきでしょう。