88042
Vercelの公式ドキュメントの記述についてですが、  
DBに接続する際のIPブロックについて違和感を感じる記述があったので、妥当な内容なのか教えてもらえないでしょうか。

<https://vercel.com/docs/concepts/solutions/databases>  
こちらのページの「Allowing & Blocking IP Addresses」の項目です。

下記のような記述があります。（Google翻訳）

① Vercelは動的IPであるため、接続先のIP許可リストについては「0.0.0.0」ですべてを許可する設定が必要

② セキュリティのためにIP許可リストのみに依存することは一般に効果がなく、不十分なセキュリティ慣行につながる

③
データベースを適切に保護するには、環境変数として保存された、少なくとも32文字の長さのランダムに生成されたパスワードを使用し、このパスワードを定期的にローテーションすることをお勧めします。

特に②について意外に感じ、逆にIP制限さえしていれば問題ないと思っていたのですが、IP制限だけでは不十分なのでしょうか？

VercelはIP制限せずに③のパスワード設定の対策だけやれば良いと書いていますが、逆に③の対策だけだと不十分で不安に感じるのですが、どうなんでしょうか？
CC BY-SA 4.0
2022-02-14T01:36:00.123
86326
2022-03-27T04:00:10.957
2022-02-14T01:41:27.050
50588
50588
question
database security
DBサーバーへ接続する際のIPブロックについて
この質問もそうなのですが、IPアドレスによる接続制御の効能を過大に捉える誤解が割と広まっています。Vercelのドキュメントもそういう問い合わせが多いために用意されたのだと想像します。この誤解が何に由来するのかわからないのですが、誤解してるほうはそれが正しいと思ってるのでその誤解を覆して納得してもらえるような説明をするのはなかなか難しいです。

> 特に②について意外に感じ、逆にIP制限さえしていれば問題ないと思っていたのですが、IP制限だけでは不十分なのでしょうか？

「不十分」とすら言えません。

仮にVercelのIPアドレスが特定できたとします。そのアドレスはVercelのユーザーが共用しているのですから、DBへのアクセスが誰(のアプリ)からのものかを特定することはできません。Vercelに悪意があるユーザーがいる可能性は排除できないので、適切な認証は必要です。

> 逆に③の対策だけだと不十分で不安に感じるのですが、どうなんでしょうか？

「不安」はわからないでもありませんが、それをを解消する手段として「IPブロック」が適切かどうかは検討する必要があります。そして多くの場合誤った手法です。

「認証」と「IPブロック」がそれぞれ何に対して保護を提供するのかについての理解も不十分なようです。業務データを取りあつかうとのことなので、事故が起きる前に知識のある業者さんに相談されることをお勧めします。
CC BY-SA 4.0
2022-03-27T04:00:10.957
88042
2022-03-27T04:00:10.957
5793
86326
answer