セキュリティを考慮したサブネット設計
クラウドのネットワーク設計では、FW(ファイアーウォール)の設定にて通信を制限し、必要なインバウンド、アウトバウンドの通信のみを許可することが重要ですが、情報漏洩を防止するためにもサブネット設計についてもよく考慮して設計する必要があります。
AWSのネットワークは、ひとつのVPC内に大きなセグメントを切った後、そのセグメントをさらに分割し、パブリックサブネットやプライベートサブネットを作成して、ネットワークを構成します。
例:VPC(10.0.0.0/16)、パブリックサブネット(10.0.1.0/24)、プライベートサブネット(10.0.2.0/24)
また、VPC内でデータセンタの冗長化を取るために、ハイアベイラリティゾーンを作り、災害に備えた即時復旧可能な環境を用意しておくことができます。
・パブリックサブネットとは、インターネットと接続のあるサブネットです。
具体的にはパブリックサブネットに関連付けられているルートテーブルには0.0.0.0/0を宛先とした設定がしてあります。この0.0.0.0/0がインターネット接続を意味します。インターネットゲートウェイ設定にてインターネットとの接点を作成し、サブネットに関連付けているルートテーブルにインターネットゲートウェイを関連付けさせます。
・サブネット<—ルートテーブル<—インターネットゲートウェイという関連付け
・プライベートサブネットは、インターネットと接続のないサブネットです。
①WebサーバとDBサーバ構成
Webサーバをパブリックサブネットに配置
DBサーバをプライベートサブネットに配置
プライベートサブネットに配置したDBは重要な情報を格納しているため、Webサーバとの通信だけを許可しましょう。
では、DBサーバの最新パッチの入手等はどうすればいいのかということになりますが、NATゲートウェイ/NATインスタンスを使います。
②プライベートサブネット上のサーバに最新パッチを適用するためのインターネット接続
NATゲートウェイをパブリックサブネットに配置し、プライベートサブネットはNATゲートウェイを介して、インターネットへ抜ける通信を設定します。
PaaSではないDBを扱う場合は、自社で最新のパッチをあてる必要があるので、プライベートサブネットもインターネットへ抜ける通信が必要になります。
アウトバウンドだけを許可した必要な通信のみを通すようにすることが重要です。
次にロードバランサー(ELB)を導入した際の構成を以下に示します。
ELBは、パブリックサブネットに配置
Webサーバは、プライベートサブネットに配置
DBサーバも、プライベートサブネットに配置
ただ一つ気を付けたいのは、プライベートサブネットに配置すればいいというだけで、WebサーバとDBサーバを同一セグメントに置くことはセキュリティ上、危険なのでやめましょう。
Webサーバがマルウェア感染や、外部からのサイバー攻撃で乗っ取られた場合に、DBサーバも乗っ取られやすくなってしまいます。
③危険な構成例(やってはダメ)
④セキュアな構成
下記のようにWebサーバとDBサーバのサブネットも分けることで、セキュリティを高めることが重要です。
また、PaaS系のDBであるRDSを導入し、NATゲートウェイ経由のインターネット通信も取り除き、DBサーバについてはAmazonによる最新パッチ等の適用を任せることで、より一層セキュアな環境にすることになります。
まとめ
・サブネットの設計ではパブリックサブネットとプライベートサブネットをわける
・プライベートサブネットのサーバのWSUS等のパッチ適用はパブリックサブネットに配置したNATゲートウェイ/NATインスタンスを介して通信させる
・DBサーバのような機密情報を扱うサーバは、プライベートサブネットに配置するが、Webサーバと同一サブネットに置かない
・DBサーバのセキュリティ向上のため、PaaSを使う
コメント