phpMyAdmin-2.9.x インストール と 認証タイプについて
phpMyAdmin をセットアップします。 前のページで説明している 管理者用、ローカルクライアント用 のポリシーに基づいて分けて説明します。2.0.x / 2.3.x / 2.6.xに関する設定は削除しました。 2.9.x で再編しています。
このページでは phpMyAdmin の設定に関して説明します。
phpMyAdmin 導入に必要なパッケージ
ここでは、RHEL FedraCore 2 / 4 と CentOS-4 / 4.4 で検証しています。記事修正にあたって、CentOS-4.4 クリーンインストール環境とパッケージとソースを利用します。
phpMyAdmin 設置前に行うこと
MySQL 自体初めて利用される方は、先に MySQL の root パスワードを設定しておく必要があります。外部に公開された Web サーバの場合、MySQL サーバがパスワードなしの状態でフルコントロールされてしまいます。
以下で説明しています。
参照 => MySQL の root パスワードを設定する
phpMyAdmin に必要なパッケージ
ここでは、RHEL ( FedoraCore2 / 4 / CentOS-4 /4.4 )で検証しています。Apache / MySQL / PHP-4 or PHP-5 以外に必要なパッケージは以下の通りです。
- php-mysql
- mod_auth_mysql-
- php-mbstring
yum 等、パッケージ管理ツールで事前にインストールしてください。
$ sudo yum install php-mysql
php モジュールを有効にするには httpd を再起動する必要があります。ここで検証した環境 MySQL 4.1.2 / PHP 4.3.9 / phpMyAdmin-2.9.0.2 です。
phpMyAdmin インストール
インストールといっても、PHP が動作可能な Webサーバの公開ディレクトリへ設置するだけです。以下の公式サイトからダウンロード出来ます。
入手先 => The phpMyAdmin Project
最新版を入手して下さい。
phpMyAdmin の認証方式について
phpMyAdmin は、2.6.x 以降、3つの認証方式が用意されています。
- config 認証 (認証無し)
- デフォルトの認証方式です。config.inc.php 内に、MySQL ユーザーアカウントを直接記述します。ネットに公開されたディレクトリにパスワードを直接記述するのは問題がある事は言うにおよびません。
- この場合、phpMyAdmin にアクセスしただけで認証無しに管理画面が標示されることになります。つまり認証を求めません。
- http 認証
.
- phpMyAdmin に接続する際、Webサーバが ID とパスワードを要求します。これは .htaccess で行なうBasic 認証と同じですが、MySQL で利用されるIDとパスワードを利用し、認証後、MySQLユーザの管理画面が表示されます。SSLに通信を限定する事でセキュリティを確保するようにして下さい。総当り攻撃には対応できないので、クライアント認証も検討します。こちらのポリシーでパスワードをブラウザに記憶させないのであれば、もっともセキュアだと思います。
- http 認証の具体的な設定例はこちらで説明しています。
- この認証は Apache の Basic 認証を利用するため、ネットワークを保護されないパスワードが流れる事になります。SSL との併用が前堤となります。Apache の Basic 認証との併用は出来ません。また、Cookie 認証に比べてパフォーマンス面で優れます。
- Cookie 認証
.
- cookie 認証では、認証コードを一定期間 cookie 内に取りこんで認証を可能にします。アクセスすると以下のような画面が標示されます。cookie に格納されるパスワードは Blowfish により暗号化され保存されます。特に IE に多い cookie 漏洩や通信の盗聴対策にはなりません。
- Cookie 認証の具体的な設定はこちらで説明しています。
- 度々問題になるブラウザのセキュリティホールによるcookie情報漏洩に関しては、cookie の賞味期限の配慮がされています。操作の無い常態が30分続けば再ログインを求める事が出来ます。
何れの場合も Apache (Webサーバ)側でのセキュリティ対策が必要になります。MySQLで扱うデータベースの内容にもよりますが、SSL による通信経路の暗号化は必要です。
参考URL
The phpMyAdmin Project で公開されている phpMyAdmin 日本語訳です。
参照 => phpMyAdmin 2.7.0-pl2 ドキュメント