ウェブサイト検索

PhpMyAdmin ログイン インターフェイスに追加のセキュリティ層を追加する方法


MySQL は、Linux エコシステム上で世界で最も使用されているオープン ソース データベース管理システムですが、同時に Linux 初心者にとっては MySQL プロンプトから管理するのが難しいと感じています。

PhpMyAdmin は、Web ベースの MySQL データベース管理アプリケーションであり、Linux 初心者が Web インターフェイスを通じて MySQL を操作する簡単な方法を提供します。この記事では、Linux システムでパスワード保護を使用して phpMyAdmin インターフェイスを保護する方法を共有します。

この記事を進める前に、Linux サーバーへの LAMP (Linux、Apache、MySQL/MariaDB、および PHP) とPhpMyAdmin のインストールが完了していることを前提としています。そうでない場合は、以下のガイドに従って、それぞれのディストリビューションに LAMP スタックをインストールできます。

  1. Cent/RHEL 7 に LAMP と PhpMyAdmin をインストールする
  2. Ubuntu 16.04 に LAMP と PhpMyAdmin をインストールする
  3. Fedora 22-24 に LAMP と PhpMyAdmin をインストールする

最新バージョンの PhpMyAdmin をインストールする場合は、Linux システムに最新の PhpMyAdmin をインストールするこのガイドに従ってください。

上記の手順をすべて完了すると、この記事を始める準備が整います。

次の行をDebian または /etc/httpd/conf/httpd の /etc/apache2/sites-available/000-default.conf に追加するだけです。 CentOS の conf では、セキュリティ例外を確認したかつログイン ページにアクセスするに基本認証が必要になります。

したがって、これも証明書によって保護される追加のセキュリティ層を追加します。

推奨事項: PhpMyAdmin を保護するための HTTPS (SSL 証明書) のセットアップ

次の行を Apache 設定ファイル (/etc/apache2/sites-available/000-default.conf または /etc/httpd/conf/httpd.conf) に追加します。


<Directory /usr/share/phpmyadmin>
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>
 
<Directory /usr/share/phpmyadmin>
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/httpd/.htpasswd
    Require valid-user
</Directory>

次に、htpasswd を使用して、phpmyadmin ログイン ページへのアクセスを許可されるアカウントのパスワード ファイルを生成します。この場合は、/etc/apache2/.htpasswdtecmint を使用します。


---------- On Ubuntu/Debian Systems ---------- 
htpasswd -c /etc/apache2/.htpasswd tecmint

---------- On CentOS/RHEL Systems ---------- 
htpasswd -c /etc/httpd/.htpasswd tecmint

パスワードを 2 回入力し、ファイルのアクセス許可と所有権を変更します。これは、www-data または apache グループに属していないユーザーが .htpasswd を読み取ることができないようにするためです。


chmod 640 /etc/apache2/.htpasswd

---------- On Ubuntu/Debian Systems ---------- 
chgrp www-data /etc/apache2/.htpasswd 

---------- On CentOS/RHEL Systems ---------- 
chgrp apache /etc/httpd/.htpasswd 

http:///phpmyadmin に移動すると、ログイン ページにアクセスする前に認証ダイアログが表示されます。

推奨事項: デフォルトの PhpMyAdmin ログイン URL を変更して保護する

続行するには、/etc/apache2/.htpasswd または /etc/httpd/.htpasswd に有効なアカウントの認証情報を入力する必要があります。

認証が成功すると、phpmyadmin ログイン ページが表示されます。