最終更新:2012-11-14 (水) 07:57:22 (4196d)
phpMyAdmin
Top / phpMyAdmin
ドキュメント
設定
- /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
yumで入れる場合
/etc/httpd/conf.d/phpMyAdmin.conf
がlocalhostからしか見れないように設定されているので適時いじくる。
似たようなやつ
- http://phpspot.org/blog/archives/2008/09/phpmysqlphpmyad.html
- Adminer
- phpFlashMyAdmin?
- flashmyadmin?
- MySQLPHPGrid?
- PHP Mini Admin
- SQL Buddy
セキュリティ
- phpMyAdmin?を最新版にバージョンアップする
- インストール時に作成したコンフィグファイルを削除する
- phpMyAdmin?に接続できるIPアドレスを制限する
- IPSやWebアプリケーションファイアウォール(WAF)で防御する
- 上記のいずれの対策も採用できない場合、phpMyAdmin?の停止を検討する
BLOB型
- 表示タブの+オプションって中に「BLOB の内容を表示する」のがある。