3

SQLクエリを保護するための効果的で安全な方法は何ですか?

要するに、プログラマーがクエリを実行するためにアプリケーションによって使用されるパスワードを見ないことを保証したいと思います。RSAやPGPのようなものが思い浮かびますが、アプリケーションのどこかにエンコードせずにパスワードの変更を実装する方法がわかりません。

私たちの環境は典型的なLinux/MySQLです。

4

2 に答える 2

1

これはプロセスの問題であり、コーディングの問題ではない可能性があります。

ソフトウェア開発では、実装プロセスとロールアウト プロセスを厳密に分離する必要があります。パスワードを含む構成ファイルには、ロールアウト前ではなく、ロールアウト中に実際のパスワードを入力する必要があります。プログラマーは開発環境のパスワードを使用して作業でき、ロールアウト チームはアプリケーションの完成後にそれらのパスワードを変更します。そうすれば、アプリケーションをコーディングしている人々に実際のパスワードが公開されることはありません。

プログラマーがライブ システムにアクセスできないようにすることができない場合は、構成ファイルを暗号化する必要があります。これを行う最善の方法は、プログラミング言語によって異なります。私は現在、ESAPI プロジェクトの適切な関数を使用して .properties ファイルを暗号化する Java アプリケーションに取り組んでおり、それをお勧めします。他の言語を使用している場合は、同等のメカニズムを見つける必要があります。

パスワードを変更する必要がある場合はいつでも、管理者が新しいファイルを生成して暗号化してから、ファイルをサーバーにコピーします。

最大限のセキュリティが必要で、システムの構成を復号化するためのキーを保存したくない場合は、システムの再起動時に管理者がキーを提供できます。ただし、ニーズによっては、これでは時間がかかりすぎる場合があります。

于 2011-04-07T21:04:52.810 に答える
0

プログラマーがログイン資格情報を含む構成ファイルにアクセスできず、デバッグまたは JMX インターフェースを介してそれらにアクセスできない場合、それは機能するはずです。もちろん、それは他の問題を引き起こしますが、それはあなたの要件を満たす可能性があります. (私は資格のあるセキュリティ評価者ではありませんので、PCI コンプライアンスについて確認してください。)

于 2011-03-24T19:46:11.463 に答える