1. 導入
phpMyAdminをセットアップした際、画面下部に「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」という警告が表示されることがあります。これは、Cookie認証を利用する際にパスワードを暗号化するための「鍵」が未設定であることを示すセキュリティ警告です。そのまま放置するとセキュリティ上のリスクがあるだけでなく、ログインセッションが不安定になる可能性があるため、速やかに解消する必要があります。
2. 基礎知識
phpMyAdminにおいて、blowfish_secretとは、ブラウザのCookieに保存されるセッション情報を暗号化するために使用される秘密鍵のことです。この値が空であると、認証用Cookieが保護されません。この設定は、phpMyAdminの動作設定を司るconfig.inc.phpというファイルに記述します。このファイルはインストール直後には存在せず、サンプルファイルをコピーして作成するのが一般的です。
3. 実装/解決策
設定の手順は非常にシンプルです。まず、phpMyAdminのインストールディレクトリ(Apacheのhtdocs配下など)に移動し、config.sample.inc.phpというファイルを探してください。これをコピーし、config.inc.phpという名前に変更します。その後、テキストエディタで開き、該当の変数を書き換えることで解決します。
4. サンプルプログラム
config.inc.phpファイル内の該当箇所を以下のように修正してください。32文字以上のランダムな文字列を設定するのが推奨されます。
// config.inc.php の該当箇所を編集します
// 32文字以上のランダムな文字列を設定してください
// このパスフレーズはログイン時に毎回入力するものではなく、システム内部での暗号化に使われます
$cfg[‘blowfish_secret’] = ‘a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6’;
// 修正後、ファイルを保存してWebブラウザを再読み込み(または再ログイン)してください
// これにより警告メッセージが消えます
5. 応用・注意点
現場で運用する際、以下の点に注意してください。
1. 文字数制限:
公式ドキュメントおよび警告内容の通り、32文字以上の文字列を設定してください。短すぎると脆弱性の原因となります。
2. 秘密の保持:
このパスフレーズは公開されるべきではありません。Gitなどのバージョン管理システムにソースコードをプッシュする際は、このファイルを含めない(.gitignoreに追加する)ようにしてください。
3. ログインできない場合:
設定を変更した後にログインできない場合は、ブラウザのCookieとキャッシュを一度クリアしてください。古い暗号化方式のセッション情報が残っていることが原因でエラーになることがあります。
この設定を行うだけで、セキュリティ警告は解消され、より安全な管理環境を構築できます。設定作業は非常に簡単ですので、ぜひ実施してください。

コメント