ウェブサイト検索

PhpMyAdmin を保護する: デフォルトのログイン URL を変更する


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

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

: PhpMyAdminLAMP または LEMP がセットアップされていることを確認してください。システムにインストールされていない場合は、PhpMyAdmin を使用して LAMP または LEMP をセットアップします。

Apache または Nginx Web サーバーでこれを行うには、以下で説明する手順に従ってください。

Apache で PhpMyAdmin ログイン ページを変更する

RHEL ベースのディストリビューションでは、/etc/httpd/conf.d/phpMyAdmin.conf または Debian ベースのディストリビューションの /etc/phpmyadmin/apache.conf を開いてコメントします。 エイリアスで始まる行を削除します。

vi /etc/httpd/conf.d/phpMyAdmin.conf
OR
/etc/phpmyadmin/apache.conf

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

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

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

同じファイルで、ディレクトリ /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 で PhpMyAdmin ログイン ページを変更する

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

最後に、NginxPHP-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 では見つからないエラー ページが表示されるはずです。

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