1

PHPを介してopensslとmysqlの暗号化を使用しています。現在、PHPのソースコードでキーを書いていますが、それほど安全ではないと思います。誰かがソース(おそらくFTP)を取得すると、暗号化が破られます。では、Linuxサーバーに暗号化キーをどのように保存しますか?別のWebサーバーを使用してキーを保存することはできません。

4

2 に答える 2

2

Apacheを使用していると思います。

シークレットデータをの環境変数に入れ、/etc/apache2/envvars所有者をrootに設定し、アクセス許可を400に設定します。

攻撃者は、あなたの鍵を手に入れるためにサーバーを危険にさらす必要があります。

Apacheの起動時に秘密を要求するスクリプトを作成することもできます(煩わしいですが、さらに安全です)。

ルートアクセス権を持つ人はいつでもあなたのキーを取得することができ、それらからそれを隠そうとすることは単なるプラセボであることに注意してください。

プラセボソリューション:

  • 同じアプリケーション内のHTTPSページにキーをPOSTするまで、デフォルトでアプリケーションをアイドル状態にし、キーをグローバル変数に保存して、ビジネスを続行します。PHPプロセスのライフサイクルを考慮する必要があります(プロセスが終了したら、キーを再送信する必要があります)。
于 2012-07-31T18:39:15.777 に答える
0

(あなたの質問とコメントによると)あなたの最善の策は、ディレクトリスペースのどこかにキーを貼り付けることだと思います。それらがwww-rootなどの下にないことを確認してください。適切なファイル権限を使用してください(サーバー設定によって異なります)。

于 2012-07-31T18:54:24.460 に答える