まぬねこの足跡。。。

備忘録+たのしさ+ひっそりと

VPS phpMyAdminインストール + セキュリティ

環境

ちょこっとメモ

phpMyAdmin

  • データベース接続クライアントツール
  • MySQLサーバーをウェブブラウザで管理できる。PHP実装。
  • SQL文なしでも任意SQL文でもDB操作できる。


手順

1.phpMyAdminをインストール

※remiリポジトリ:php7.1関連のパッケージも一緒にインストール為

[root@localhost ~]# yum install --enablerepo=remi,remi-php71 phpMyAdmin
   :
Installed size: 110 M
Is this ok [y/d/N]: y ←「y」を入力
   :
Complete!  ←で成功

2.phpMyAdmin設定

設定ファイル(phpMyAdmin.conf)をバックアップ後、vim起動

[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# cp phpMyAdmin.conf  phpMyAdmin.conf.old
[root@localhost conf.d]# vim phpMyAdmin.conf

3.vim編集

「サーバからのアクセスのみ」⇒「どこからでもアクセスOK」に変更
「/Req」で検索後、16行目

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     Require local  //←編集
   </IfModule>

下記に変更

     #Require local
     Require all granted

4.サーバ再起動

[root@localhost ~]# systemctl restart httpd

ちょこっとメモ

phpMyAdmin

  • パスワードの設定・初期設定できる。
  • MariaDBMySQLから派生しているのでMySQLコマンドが使用可

5.phpMyAdmin使用確認

ブラウザで下記入力

http://xxx.xxx.xxx.xxx/phpmyadmin

※xxx.xxx.xxx.xxは VPSIPv4IPアドレス
下記表示で成功!!

6.phpMyAdminのURLを変更…セキュリティ対策1

このままでは、URLが簡単に推測できる為。変更せねば。。
設定ファイル(phpMyAdmin.conf)をvimで再起動。

[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# vim phpMyAdmin.conf

7.vim編集

任意名URLへアクセス

既存URLから任意名URLへアクセスできるようにする。
さらに、既存のURLはアクセスを禁止する。
http://xxx.xxx.xxx.xxx/phpmyadmin」→「http://xxx.xxx.xxx.xxx/任意なアクセス名」へ変更

下記の先頭から8行目あたり下記の部分を修正

修正前
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

     ↓

修正後
#Alias /phpMyAdmin /usr/share/phpMyAdmin  ←先頭に「#」追加
#Alias /phpmyadmin /usr/share/phpMyAdmin  ←先頭に「#」追加
Alias /任意なアクセス名 /usr/share/phpMyAdmin  ←この行は追記 任意のアクセス名を付ける

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
再起動
[root@localhost ~]# systemctl restart httpd

8.SSLにより通信内容を暗号化…セキュリティ対策2

https://~」のアクセスに変更。

「http://~」→「「https://~」のアクセスに変更。

ApacheSSL対応にする為、mod_sslインストール
[root@localhost ~]# yum install mod_ssl
    :
Is this ok [y/d/N]: y
    :
再起動してSSLを有効する
[root@localhost ~]# systemctl restart httpd

9.http通信のアクセス拒否設定

SSL証明書取得して「https://~」アクセス可能にしておく。

設定ファイル(phpMyAdmin.conf)修正

設定ファイルをvimで再起動。
[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost ~]# vim phpMyAdmin.conf    :
下記の先頭から13行目あたり下記の部分を追記
<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
   SSLRequireSSL  ←を追記 
再起動してhttp通信を無効する
[root@localhost ~]# systemctl restart httpd

10.適宜にphpMyAdminをバージョンアップ…セキュリティ対策3

最新のremiパッケージリストの取得。
[root@localhost ~]# yum check-update --enablerepo=remi
phpMyAdmin情報表示
[root@localhost ~]# yum info --enablerepo=remi phpMyAdmin
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp-srv2.kddilabs.jp
 * epel: ftp.riken.jp
 * extras: ftp-srv2.kddilabs.jp
 * remi: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: ftp-srv2.kddilabs.jp
インストール済みパッケージ
名前                : phpMyAdmin
アーキテクチャー    : noarch
バージョン          : 4.8.5
リリース            : 1.el7.remi
容量                : 25 M
リポジトリー        : installed
提供元リポジトリー  : remi
要約                : Web based MySQL browser written in php
URL                 : https://www.phpmyadmin.net/
ライセンス          : GPLv2+ and MIT and BSD
説明                : phpMyAdmin is a tool written in PHP intended to handle the
                    : administration of MySQL over the Web. Currently it can
                    : create and drop databases, create/drop/alter tables,
                    : delete/edit/add fields, execute any SQL statement, manage
                    : keys on fields, manage privileges,export data into various
                    : formats and is available in 50 languages
Installed Packagesよりも新しいAavailable Packegesがある場合
[root@localhost ~]# yum update  --enablerepo=remi phpMyAdmin