国内のある地域で php と mysql を使用してデータをデータベースに保存し、別の地域でデータを取得する、かなり単純な Web アプリケーションの構築を始めたところです。データには、第三者がアクセスしてはならない個人情報が含まれます。また、第三者が積極的にその情報にアクセスしようとする場合もあります。証人の名前だとしましょう。これは、開発途上国で低予算で行われた、証人保護のないシステムです。
私が取りたい対策の 1 つは、データをデータベースに入れる前に匿名化することです。これが最も安全で低コストだと思います。それに加えて、ハッカーがこれらの人々のデータにアクセスする可能性を減らすために、どのような対策を講じることができますか?
データを保存する前に強力な暗号化を使用すると、データを入力するユーザーとデータを取得するユーザーが暗号化キーを持っている必要がありますよね? 多くの人がデータを入力/取得し、脆弱性を作成するため、これは問題です。キーがサーバー上 (コードなど) に格納されている場合は、あまり保護されませんよね? それとも、ハッカーに対してかなり安全なコードを作成できますか?
誰かが提案した場所を読みました:
Web サーバー<==>アプリケーション サーバー (DMZ 内)<==>データベース サーバー (第 2 ファイアウォールの背後) SQL インジェクションおよび同様の防御を排除および防止するアプリケーションを備えています。このようなシナリオでは、ハッカーはデータベース自体に近づくことはできません。
本当?そのためには 3 台の物理サーバーが必要ですか?