デフォルトのPhpMyAdminログインURLを変更して保護する方法


デフォルトでは、phpmyadminのログインページは http:// /phpmyadmin にあります。最初にやりたいことは、そのURLを変更することです。これは必ずしも攻撃者がサーバーを標的にするのを阻止するわけではありませんが、侵入が成功するリスクを軽減します。

これは隠すことによるセキュリティとして知られており、安全な手段ではないと主張する人もいますが、攻撃者を思いとどまらせ、侵入を防ぐことが知られています。

注:システムにPhpMyAdminがインストールされた状態でLAMPまたはLEMPのセットアップが機能していることを確認してください。インストールされていない場合は、PhpMyAdminを使用したLAMPまたはLEMPのセットアップに従ってください。

ApacheまたはNginxWebサーバーでこれを行うには、以下に説明する手順に従います。

CentOSの場合は/etc/httpd/conf.d/phpMyAdmin.confを開き、Debianの場合は/etc/phpmyadmin/apache.confを開き、Aliasで始まる行をコメントアウトします。

------------ On CentOS/RHEL and Fedora ------------ 
# vi /etc/httpd/conf.d/phpMyAdmin.conf

------------ On Debian and Ubuntu ------------ 
# /etc/phpmyadmin/apache.conf

次に、次のように新しいものを追加します。

# Alias /phpmyadmin /usr/share/phpmyadmin
Alias /my /usr/share/phpmyadmin

上記により、 http:// /my を介してphpmyadminインターフェースにアクセスできるようになります。別のURLを使用する場合は、上記のエイリアスを自由に変更してください。

同じファイルで、Require allgrantedディレクティブがDirectory /usr/share/phpmyadmin ブロック内に含まれていることを確認します。

さらに、ApacheがDebian/Ubuntuのphpmyadmin構成を読み取ることを確認してください。

------------ On Debian and Ubuntu ------------ 
# echo "Include /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf

最後に、Apacheを再起動して変更を適用し、ブラウザで http:// /my を指定します。

------------ On CentOS/RHEL and Fedora ------------ 
# systemctl restart httpd

------------ On Debian and Ubuntu ------------ 
# systemctl restart apache2

Nginx Webサーバーで、次のコマンドを入力して、PhpMyAdminインストールファイルのNginxドキュメントルートディレクトリ(つまり、/ usr/share/nginx/html)へのシンボリックリンクを作成する必要があります。

# ln -s /usr/share/phpMyAdmin /usr/share/nginx/html
OR
# ln -s /usr/share/phpmyadmin /usr/share/nginx/html

次に、phpMyAdminページのURLを変更する必要があります。次に示すように、シンボリックリンクの名前を変更するだけです。

# cd /usr/share/nginx/html
# mv phpmyadmin my
OR
# mv phpMyAdmin my

最後に、NginxとPHP-FPMを再起動して変更を適用し、ブラウザで http:// /my を指定します。

------------ On CentOS/RHEL and Fedora ------------ 
# systemctl restart nginx
# systemctl restart php-fpm

------------ On Debian and Ubuntu ------------ 
# systemctl restart nginx
# systemctl restart php5-fpm

phpmyadminインターフェイスを開く必要があります(下の画像を参照)が、 http:// /phpmyadmin ではNotFoundエラーページが表示されます。

データベースrootユーザーの資格情報を使用してログインしないでください。これらの資格情報がプレーンテキストで送信されることは望ましくないため、次のヒントでは、PhpMyAdminログインページの自己署名証明書を設定する方法について説明します。