Settings.phpのdbパスワードはプレーンテキストとして保存されます。そのパスワードを暗号化する方法はありますか?
私のクライアントは、ファイルのアクセス許可が適切であるにもかかわらず、セキュリティ上のリスクがあると言っています。
セキュリティは常に妥協の問題です。問題は常に、どのような脅威から防御したいか、そしてどの程度の障害に対処するかです。
たとえば、DBパスワードを要求する小さなスクリプトを作成し、それを(APC/APCuを使用して)共有メモリに保存してから、Drupal settings.php
からDBパスワードを読み取ります。もちろん、Apacheの再起動では、DBパスワードを指定する必要があります。しかし、どのファイルにもパスワードがありません。妥協、参照してください?
誰かが任意のPHP=コードを実行できた場合、確かにパスワードを取得できますが、とにかくそれほど重要ではありませんよね?
これは特にDrupalの質問ではありません。 [〜#〜] owasp [〜#〜] のセキュリティ基準に応じて、パスワードを平文で保持しているsettings.phpはリスクと見なすことができます(通常の場合、通常Drupal環境では当てはまりません)
これは 情報セキュリティスタック交換のスレッド でトピックについて説明していますが、私の意見では少し偏執的であり、ほとんどのオプションはサイトの速度を低下させます。
これを行うことは可能です。私はこれを自分のウェブサイトに実装し、これに関する投稿もここに書きました:
http://techrappers.com/post/3508/how-secure-settingsphp-file-drupal
上記の記事では、PHPスクリプトとAES-256-CBC暗号化方式を使用して、settings.phpファイル内に暗号化パスワードを実装する手順を順を追って説明しています。