☆☆ 新着記事 ☆☆

2018年11月30日金曜日

ねこでもわかる 「さくら VPS」 を試してみる 第五回 -phpMyAdmin

サーバー・レンタルの大手 さくらのVPSが、ネコでもわかる!らしいので、初心者だけど試してみる。の第五回目。  今回は、phpMyAdminのインストールと設定。

参考にするのは、さくら公式の導入ガイド「ネコでもわかる!さくらのVPS講座」
ネコに分かって、人間様に分からない筈はないので、早速、やってみる。 の五回目。

第四回では、phpパッケージをインストールして、MariaDBもインストール。 データベースにアクセスできるまでの設定をした。

「今回はphpMyAdminのインストールと、そのセキュリティ設定について」という事らしい。

でも、これ必須じゃないね。 とりあえず、環境構築さえできれば良い人は、この回をスキップしてください。 自分は、、、、一応、やっておきます。

目次

1.  phpMyAdminをインストールする
2. セキュリティ対策1: 第三者に推測されにくいURLに変更する。
3. セキュリティ対策2: SSLにより通信内容を暗号化する。
4. セキュリティ対策3: こまめにphpMyAdminをバージョンアップする。

1.  phpMyAdminをインストールする

(1) Install

「ご存知の方も多いと思いますがレンタルサーバーではphpMyAdminというツールが用意されており、ブラウザから簡単にデータベースを操作できる。」とのこと。

これがない場合、データベースに接続するには、vpsにログイン後、更に、DBにログインするという二度の手間がかかったが、phpMyAdminがブラウザから直接、DBにアクセスできるらしい。

確かに、前回、MariaDBにCUI(コマンド・ライン)で接続するのはメンドーだったので便利そう。

「phpMyAdminのパッケージはepelリポジトリとremiリポジトリにありますが、remiリポジトリにしか存在しないphp7.1関連のパッケージをあわせてインストールする必要があるため、remiを使用することにします。」 とのこと。

どうやって、どこのレポジトリーに、何の、どのバージョンが入っているのか知れるのだろう?
という疑問を持ちつつ、言われた通りにroot userから、インストール作業に入る。

SSHでサーバーにアクセス。rootユーザで、以下を実行。

 # yum install --enablerepo=remi,remi-php71 phpMyAdmin

 Install  1 Package (+52 Dependent packages)
Total download size: 16 M
Installed size: 63 M
Is this ok [y/d/N]: y

と、表示されるので、y

一瞬で、complete!


(2) phpMyAdminの設定

phpMyAdmin.confを編集して、ローカル以外からのアクセスもできるようにします。

phpMyAdmin.conf  が格納されているディレクトリに移動し、対象ファイルのコピーを作り、
vim でファイルを開きます。

#cd /etc/httpd/conf.d/
 (conf.d directoryでファイルの確認をしてみる。)
 [root@localhost conf.d]# ls -a
.  ..  README  autoindex.conf  php.conf  phpMyAdmin.conf  userdir.conf  welcome.conf

 # cp phpMyAdmin.conf phpMyAdmin.conf.old
 (実行後、ファイルの確認をしてみる。)
 [root@localhost conf.d]# ls -a
 .   README          php.conf         phpMyAdmin.conf.old  welcome.conf
 ..  autoindex.conf  phpMyAdmin.conf  userdir.conf
# vim phpMyAdmin.conf

 (開くとこんな感じ)
 <Directory /usr/share/phpMyAdmin/>
    AddDefaultCharset UTF-8
    <IfModule mod_authz_core.c>
      # Apache 2.4
      Require local

この16行目付近の Require local を、以下のよう変更する。

#Require local
Require all granted

変更後、:wq で終了。

httpdを再起動して、設定を有効に。

# systemctl restart httpd

http://xxx.xxx.xxx.xxx/phpmyadmin に、アクセスしてアクセスできるか確認。


アクセスできました!

これで、ログインできますが、まず、セキュリティー対策をするそうです。


2. セキュリティ対策の実施

1) 第三者に推測されにくいURLに変更する。

http://xxx.xxx.xxx.xxx/phpmyadmin というURLは第三者が推測しやすく「サーバーにphpMyAdmnがインストールされている」ということを外部に知られてしまいます。 そこでURLを分かりにくくします。」

とのこと。

再び、 phpMyAdmin.confの編集です。

まず、
# cd /etc/httpd/conf.d/    <- 上から連続して作業している場合、このディレクトリーにいるので不要。
# vim phpMyAdmin.conf

Aliasに関する2つの行をコメントアウトして、3行目に新しいAlias行を追加

#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /phpMyAdminY2K18 /usr/share/phpMyAdmin

下線付の部分が、ブラウザ経由でアクセスするディレクトリーになる。
http://xxx.xxx.xxx.xxx/phpmyadminy2k18

設定が終わったらhttpdを再起動

# systemctl restart httpd

ブラウザでアクセスできるか、再確認で終了。



2) SSLにより通信内容を暗号化する。

・ApacheがSSLを使えるようにするために、mod_sslをインストールする。

root directoryで以下を実行。
# yum install mod_ssl

Install  1 Package
Total download size: 111 k
Installed size: 224 k
Is this ok [y/d/N]:
y


すぐ、終わる。

・変更を有効にするため、httpdを再起動
# systemctl restart httpd


ブラウザで再確認。

はい、
http://153.126.207.149/phpmyadminY2K18/ でも、
https://153.126.207.149/phpmyadminY2K18/ でも
アクセスできるようになりました。


httpsで接続する時、
「この Web サイトのセキュリティ証明書には問題があります。」というメッセージが出ますが、
これは、正式な証明書を利用していない「オレオレ証明書なので」、現段階ではしょうがない。


念のため、httpでのアクセスを禁止しておく。

# cd /etc/httpd/conf.d/
# vim phpMyAdmin.conf

*14行目付近にSSLRequireSSLを追加

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
   SSLRequireSSL
変更を有効にするため、httpdを再起動
# systemctl restart httpd

http:// でアクセスできなくなっていることを確認して、この項目を終了。


3.) こまめにphpMyAdminをバージョンアップする。

phpMyAdminは先述したとおり、たびたびツールの脆弱性が指摘されており、古いバージョンのまま使い続けるのはリスクがるので、定期的に、以下のチェックをしておく。

・最新のremiパッケージリストの取得
# yum check-update --enablerepo=remi

・phpMyAdminの情報を表示

Installed Packages
Name        : phpMyAdmin
Arch        : noarch
Version : 4.7.1
Release     : 1.el7.remi

・・・
Available Packages
Name        : phpMyAdmin
Arch        : noarch
Version : 4.7.2
Release     : 1.el7.remi
・・・
と、なる筈ですが、今回は最新版をインストールしたばかりなので、Available Packagesは表示されませんでした。

表示されれば、

# yum update --enablerepo=remi phpMyAdmin

で、アップデートをしておく。

これで第五回は終了です。



 

0 件のコメント:

コメントを投稿