最終更新:2012-11-14 (水) 07:57:22 (4173d)  

phpMyAdmin
Top / phpMyAdmin

http://www.phpmyadmin.net/

ドキュメント

設定

  • /etc/phpMyAdmin?/config.inc.php
$cfg['blowfish_secret'] = 'phrase';

認証モード

http

  • バージョン 1.3.0 で導入されました。
  • HTTP認証? を経由することで、あらゆる有効な MySQL ユーザでログインできます。
  • HTTPS プロトコルを使わない限り、パスワードはプレーンテキストのままやりとりされる

cookie

  • バージョン 2.2.3 で導入されました。
  • クッキーを利用することで、あらゆる有効な MySQL ユーザでログインできます。
  • ユーザ名とパスワードは、セッションの間はクッキーに保管されます。
  • セッションが終わるとパスワードは破棄されます。
  • blowfish アルゴリズムで暗号化されてはいますが、パスワードは一時的にクッキーに保管されます。

config

  • config.inc.php

signon

管理ユーザ

  • 「HTTP」/「クッキー」モードでは管理ユーザが必要です。
  • このユーザは `mysql`.`user` (`Password` 以外の全カラム)、`mysql`.`db` (全カラム)、`mysql`.`host` (全カラム)、`mysql`.`tables_priv` (`Grantor` と `Timestamp` 以外の全カラム) テーブルについて、SELECT 特権のみを持つようにします。
  • また、config.inc.php ファイルの $cfg['Servers'][$i]['controluser'] と $cfg['Servers'][$i]['controlpass'] 項目には管理ユーザの情報を登録しなければなりません。
  • 下記の例では pma を管理ユーザ、pmapass を管理パスワードと想定していますが、これはあくまでも例です。ご自分のファイルでは設定を変えてください!
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO 'pma'@'localhost';

3.1.5

  • PHP 5.2以上が必要。yumで入れる場合はremiのリポジトリからPHPをアップデートする。

yumで入れる場合

/etc/httpd/conf.d/phpMyAdmin.conf

がlocalhostからしか見れないように設定されているので適時いじくる。

似たようなやつ

セキュリティ

  • phpMyAdmin?を最新版にバージョンアップする
  • インストール時に作成したコンフィグファイルを削除する
  • phpMyAdmin?に接続できるIPアドレスを制限する
  • IPSやWebアプリケーションファイアウォール(WAF)で防御する
  • 上記のいずれの対策も採用できない場合、phpMyAdmin?の停止を検討する

BLOB型

  • 表示タブの+オプションって中に「BLOB の内容を表示する」のがある。

関連