2012-02-17 13 views
3

私は自分のPHPアプリケーションでAmazon Webサービスを使用しています。私のPHP Webサービスにリンクされているconfig.phpファイルに秘密awsアクセストークンを保存するのは安全ですか?秘密鍵をPHPファイルに保存する

コンテンツを見るためにファイルをダウンロードできませんでしたが、パケットスニッファなどを使用してキーとパスフレーズを読み取ることはできません。

Amazonは、awsクレジットを直接使用するのではなく、トークン自動販売機を使用して一時的なクレデンシャルを作成することを推奨していますが、実装をスキップできるようにしたいと考えています。

答えて

1

実行時にconfig.phpファイルがトークンを出力しない限り、安全である必要があります。特別な予防措置を講じるためには、config.phpファイルをWebサイトのルートディレクトリの下に置いて、ユーザーがそのファイルを実行しようとしてもできないようにします。

あなたのPHPはサーバー上で実行されており、トークンを含むクライアントに出力が送信されない限り、そのファイルの内容は決してクライアントに送信されません。したがって、コンテンツはサーバーから離れず、出力だけがスクリプトを実行するため、ファイルを読み取る方法がありません。

1

いいえクライアントにコンテンツを配信する前に、スクリプトがサーバー側でのみ実行されるため、不可能です。

唯一可能性のある違反は、誰かがサーバー自体をハッキングし、ファイルシステムからファイルを盗んだ場合です。

+0

最も成功した攻撃は、サーバー上にある:それは、などのGithubこの上

もっと読書にコミット、ウェブサーバの設定ミスにより、脆弱なデータを公開するのは非常に簡単です。 – zaph

3

「PHPファイルをダウンロードする」という点では、Apacheはそのようなことを防ぐことができますが、最初にWebにアクセスできないようにPHPルートをドキュメントルートの外に保存する必要があります。 )それは必要に応じてサーバー側で)。

"パケットスニッフィング"に関しては、安全な接続により、そのようなことが防止されます。 HTTPSを使用していることを確認してください。

-1

上記の推奨事項(Webサイトのパブリックディレクトリの外にconfigを保存する)に加えて、どこにもプレーンテキストとして保存するのではなく、パスワード/秘密を暗号化するのは良いテクニックです.envまたは*.ymlなどのパスワード)。 https://blog.fortrabbit.com/how-to-keep-a-secret

+0

暗号鍵は安全にどこに保存しますか? – zaph

+0

@zaph暗号化キーは同じコードベース(同じ設定ファイルにはない)に格納されているので、絶対に安全に保存することはできません。この手法は実際の暗号化ではなく難読化されていますが、私が述べたように、サーバの設定ミスなどの場合に秘密が簡単に公開されるのを防ぐことができます。 – elena

関連する問題