Ubuntu12.04にphpMyAdminをインストールして保護する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.
代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
phpMyAdminについて
phpMyAdminは、Web上でMySQLを操作するための無料のWebソフトウェアであり、MySQL機能に便利なビジュアルフロントエンドを提供します。
設定
このチュートリアルの手順では、ユーザーが仮想プライベートサーバーに対するroot権限を持っている必要があります。 手順3と4で、ここを設定する方法を確認できます。
phpMyAdminを使用する前に、サーバーにLAMPをインストールする必要があります。 サーバーにLinux、Apache、MySQL、PHPスタックが’ない場合は、ここでセットアップするためのチュートリアルを見つけることができます。
ユーザーと必要なソフトウェアを入手したら、VPSへのphpMyAdminのインストールを開始できます。
phpMyAdminをインストールします
phpmyadminをインストールする最も簡単な方法は、apt-getを使用することです。
sudo apt-get install phpmyadmin apache2-utils
インストール中に、phpMyAdminが基本的な構成を案内します。 プロセスが開始したら、次の手順に従います。
- サーバーにApache2を選択します
- dbconfig-commonを使用してphpmyadminのデータベースを構成するかどうかを尋ねられたら、[はい]を選択します
- プロンプトが表示されたらMySQLパスワードを入力します
- phpmyadminへのログインに使用するパスワードを入力します
インストールが完了したら、phpmyadminをapache構成に追加します。
sudo nano /etc/apache2/apache2.conf
phpmyadmin設定をファイルに追加します。
Include /etc/phpmyadmin/apache.conf
apacheを再起動します。
sudo service apache2 restart
次に、youripaddress/phpmyadminに移動してphpmyadminにアクセスできます。 画面はthisのようになります
安全
残念ながら、古いバージョンのphpMyAdminには、リモートユーザーが最終的に基盤となる仮想プライベートサーバーのrootを悪用できるようにするなど、深刻なセキュリティの脆弱性がありました。 これらの攻撃の大部分は、Apacheのネイティブユーザー/パスワードの制限でディレクトリ全体をロックダウンすることで防ぐことができます。これにより、これらのリモートユーザーが古いバージョンのphpMyAdminを悪用することさえできなくなります。
.htaccessファイルを設定する
これを設定するには、最初に.htaccessファイルがphpmyadminディレクトリ内で機能するようにします。 これは、phpmyadmin構成ファイルで実行できます。
sudo nano /etc/phpmyadmin/apache.conf
ディレクトリセクションの下の「ディレクトリインデックス」の下に「AllowOverrideAll」という行を追加して、セクションを次のようにします。
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All [...]
.htaccessファイルを設定します
.htaccessファイルを許可すると、phpmyadminログインページにアクセスするためにもログインが必要なネイティブユーザーの設定に進むことができます。
phpmyadminディレクトリに.htaccessページを作成することから始めます。
sudo nano /usr/share/phpmyadmin/.htaccess
.htaccessファイル内でユーザー認証を設定してフォローアップします。 次のテキストをコピーして貼り付けます。
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/apache2/.phpmyadmin.htpasswd Require valid-user
以下に、各行の簡単な説明を示します
- AuthType:これは、パスワードのチェックに使用される認証のタイプを指します。 パスワードはHTTPを介してチェックされ、キーワードBasicは変更しないでください。
- AuthName:これは、パスワードプロンプトに表示されるテキストです。 ここには何でも入れることができます。
- AuthUserFile:この行は、パスワードファイル(次の手順で作成します)へのサーバーパスを指定します。
- Require valid-user:この行は、パスワードファイルで定義されたユーザーのみがphpMyAdminログイン画面にアクセスできることを.htaccessファイルに通知します。
htpasswdファイルを作成します
次に、有効なユーザー情報を作成します。
htpasswdファイルを作成することから始めます。 htpasswdコマンドを使用して、ブラウザからアクセスできない限り、選択したディレクトリにファイルを配置します。 パスワードファイルには任意の名前を付けることができますが、慣例では.htpasswdという名前を付けます。
sudo htpasswd -c /etc/apache2/.phpmyadmin.htpasswd username
パスワードの入力と確認を求めるプロンプトが表示されます。
ユーザー名とパスワードのペアが保存されると、パスワードがファイルで暗号化されていることがわかります。
apacheを再起動して終了します。
sudo service apache2 restart
phpMyAdminへのアクセス
承認されたユーザーのみがログインページにアクセスできるようになるため、phpMyAdminの安全性が大幅に向上します。 youripaddress / phpmyadminにアクセスすると、thisのような画面が表示されます。
生成したユーザー名とパスワードを入力します。 ログイン後、MySQLのユーザー名とパスワードを使用してphpmyadminにアクセスできます。