92136
## 疑問点

AWS において、DBサーバーのセキュリティグループ(sg)に、webサーバーにアタッチされているsgを設定したいのですが、  
webサーバーにアタッチされているsgの内容を踏まえて、そのsgをDBのsgに設定して良いのか疑問があります。

## 疑問内容

以下がwebサーバーに設定されているsgの詳細です。  
※インバウンド

  * HTTP(TCP):0.0.0.0/0
  * SSH(TCP):マイIP

このsgをDBsgのインバウンドに設定しています。

## 考えたこと

webサーバーのsgをDBsgのインバウンドに設定→webサーバーのsgを通過した通信はDBにインバウンドできる  
→webサーバーのsgはHTTPを許可しているのでサイトにアクセスできればDBに入れるということになるのでしょうか？

## お願いしたいこと

sgについて考えれば考えるほどわからなくなってしまいました。  
DBsgにマイIPのみを設定するのならわかるのですが、HTTPが絡むとセキュリティ的に良くないのではないかと思いました。  
考え方等間違いをご指摘いただけますと幸いです。  
よろしくお願いいたします。
CC BY-SA 4.0
2022-10-31T01:28:38.133
91910
2022-11-10T16:10:24.330
2022-11-01T07:01:19.157
19110
49430
question
aws network security
DBサーバーのセキュリティグループ(sg)に、webサーバーにアタッチされているsgを設定することについて
セキュリティには必要最低限の内容のみ許可するという考え方があります。

今回のケースで言うと、DB サーバを Web サーバからアクセスできるようにすることは基本的に必要なことで、そのために DB
サーバを用意するわけで、避けようがありません。ですので、必要最低限の内容と考えられます。

もちろん構成として、Web サーバと AP サーバを分けたり、Web サーバの前にロードバランサや CDN
を設けてセキュリティを高めるとかは考えられますが、サーバサイドアプリケーションを配置するサーバは間接的にでも外から外からアクセスできるようにする必要がありますし、DB
サーバにもアクセスできるようにする必要があります。

必要ではありますが、セキュリティ上のリスクが無いわけではありません。Web サーバや AP サーバに何かしらの脆弱性があり、サーバが乗っ取られると、そこから
DB サーバにアクセスでき、データを自由にアクセスされてしまう可能性はあります。

こういったリスクはファイアウォールでは守れないため、ファイアウォールで必要最低限の通信しかできないようにはするが、他の対策も必要に応じて十分する必要があるわけです。

> webサーバーのsgはHTTPを許可しているのでサイトにアクセスできればDBに入れる

例えば、アプリケーションに脆弱性があり、外部から任意のコマンドをWebサーバで実行できるようなことができてしまうと、DB
サーバにもアクセスできてしまうわけです。ですので、そのような事ができてしまわないようにする必要があります。
CC BY-SA 4.0
2022-11-10T16:10:24.330
92136
2022-11-10T16:10:24.330
5959
91910
answer