GNU/Linux >> Linux の 問題 >  >> Linux

CentOS8にphpMyAdminをインストールして保護する方法

phpMyAdminは、MySQL/MariaDBデータベースの管理に使用されるオープンソースのソフトウェアツールです。これは、Webブラウザを介してMySQLと対話する簡単な方法を提供します。 phpMyAdminは、コマンドラインからデータを管理することに慣れていないユーザーにとって非常に便利です。そのため、システム管理者は、さまざまな種類の攻撃からphpMyAdminを保護することが不可欠です。

このチュートリアルでは、CentOS8にphpMyAdminをインストールして保護する方法を紹介します。

前提条件

  • Atlantic.netクラウドプラットフォーム上の新しいCentOS8VPS。
  • サーバーで構成されているrootパスワード。

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 1GB以上のRAMを搭載したオペレーティングシステムとしてCentOS8を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

CentOS 8サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

dnf update -y

ステップ2– Apache、MariaDB、PHPをインストールする

開始する前に、次のコマンドを使用して、Apache、MariaDB、PHP、およびその他の必要なPHP拡張機能をインストールします。

dnf install httpd mariadb-server php php-cli php-json php-mbstring php-pdo php-pecl-zip php-mysqlnd -y

すべてのパッケージをインストールしたら、次のステップに進むことができます。

ステップ3–MariaDBルートパスワードを設定する

まず、MariaDBサービスを開始し、次のコマンドを使用して起動時に開始できるようにします。

systemctl start mariadb
systemctl enable mariadb

次に、次のスクリプトを使用してMySQLルートパスワードを設定します。

mysql_secure_installation

このスクリプトは、以下に示すように、MySQLルートパスワードを設定し、匿名ユーザーを削除し、rootログインをリモートで禁止し、テストデータベースとアクセスを削除します。

ルートの現在のパスワードを入力します(なしの場合は入力します):

Set root password? [Y/n] Y
New password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

ステップ4–phpMyAdminをインストールする

まず、次のコマンドを使用して、最新バージョンのphpMyAdminをApacheWebルートディレクトリにダウンロードします。

cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip

ダウンロードしたら、次のコマンドでダウンロードしたファイルを解凍します。

unzip phpMyAdmin-4.9.4-all-languages.zip

次に、以下に示すように、抽出したディレクトリの名前をphpmyadminに変更します。

mv phpMyAdmin-4.9.4-all-languages phpmyadmin

次に、phpmyadminディレクトリの所有権をapacheユーザーに変更します。

chown -R apache:apache /var/www/html/phpmyadmin

次に、config.sample.inc.phpファイルの名前を変更します。

cd /var/www/html/phpmyadmin
mv config.sample.inc.php config.inc.php

次に、ファイルを編集して安全なパスワードを定義します:

nano config.inc.php

以下の行を見つけて、以下に示すように、安全なパスワードで更新します。

$cfg['blowfish_secret'] = 'your-secure-password';

ファイルを保存して閉じます。次に、次のコマンドを使用してphpMyAdminのテーブルをインポートします。

mysql < sql/create_tables.sql -u root -p

完了したら、次のステップに進むことができます。

ステップ5–phpMyAdmin用にApacheを構成する

次に、phpMyAdmin用のApache仮想ホスト構成ファイルを作成します。

nano /etc/httpd/conf.d/phpmyadmin.conf

次の行を追加します:

Alias /phpmyadmin /var/www/html/phpmyadmin

<Directory /var/www/html/phpmyadmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
      Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /var/www/html/phpmyadmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require all granted
     </RequireAny>

   </IfModule>

   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>

</Directory>

ファイルを保存して閉じます。次に、Apacheサービスを開始し、次のコマンドを使用してシステムの再起動後に開始できるようにします。

systemctl start httpd
systemctl enable httpd

次に、Webブラウザーを開き、URL http:// your-server-ip/phpmyadminにアクセスします。次の画面にphpMyAdminWebインターフェイスが表示されます。

以前に作成したMySQLクレデンシャルを使用してログインします。

ステップ6–phpMyAdminを保護する

このセクションでは、phpMyAdminWebインターフェイスを保護するためのさまざまな方法を紹介します。

phpMyAdminのアクセス場所を変更する

phpMyAdminインターフェイスのアクセスURLを変更することをお勧めします。 phpmyadmin.confファイルを編集して変更できます:

nano /etc/httpd/conf.d/phpmyadmin.conf

次の行を見つけます:

Alias /phpmyadmin /var/www/html/phpmyadmin

次の行に置き換えます:

Alias /securelocation /var/www/html/phpmyadmin

ファイルを保存して閉じてから、Apacheサービスを再起動して変更を実装します。

systemctl restart httpd

これで、URL http:// your-server-ip/securelocationを使用してphpMyAdminインターフェイスにアクセスできます。

特定のIPからのphpMyAdminを許可する

phpMyAdminに特定のIPアドレスからのみアクセスできるようにすることは常に良い考えです。

これを行うには、phpmyadmin.confファイルを開きます:

nano /etc/httpd/conf.d/phpmyadmin.conf

次の行を見つけます:

     <RequireAny>
       Require all granted
     </RequireAny>

次のように置き換えます:

<RequireAny>
    Require ip your-client-ip-address
    Require ip ::1
</RequireAny>

ファイルを保存して閉じてから、Apacheサービスを再起動して変更を実装します。

systemctl restart httpd

phpMyAdminインターフェースには、指定したIPアドレスからのみアクセスできるようになりました。

パスワードプロテクトphpMyAdminインターフェース

基本認証を設定することで、phpMyAdminにパスワード保護のレイヤーを追加することもできます。

まず、次のコマンドを使用して認証ファイルを作成します。

htpasswd -c /etc/httpd/.htpasswd phpadmin

以下に示すように、安全なパスワードを入力してください:

New password:
Re-type new password:
Adding password for user phpadmin

次に、phpmyadminディレクトリ内に.htaccessファイルを作成します。

nano /var/www/html/phpmyadmin/.htaccess

次の行を追加します:

AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user

終了したら、ファイルを保存して閉じます。

次に、phpmyadmin.confファイルを編集し、.htpasswdファイルを使用するようにApacheを設定します。

nano /etc/httpd/conf.d/phpmyadmin.conf

「AddDefaultCharsetUTF-8」の行の下に次の行を追加します。

    AllowOverride All

ファイルを保存してから、Apacheサービスを再起動して変更を実装します。

systemctl restart httpd

ステップ7–phpMyAdminをテストする

この時点で、phpMyAdminインターフェイスはパスワード保護の追加レイヤーで保護されています。テストするには、Webブラウザーを開き、URL http:// your-server-ip/securelocationを入力します。以前に作成したログイン資格情報を入力するように求められます:

ユーザー名とパスワードを入力し、 OKをクリックします ボタン。 phpMyAdminログインページにリダイレクトされます:

MySQLのユーザー名とパスワードを入力し、移動をクリックします。 ボタン。次の画面にphpMyAdminWebインターフェイスが表示されます。

結論

上記のガイドでは、CentOS 8にphpMyAdminをインストールして保護する方法を学びました。これで、phpMyAdminインターフェイスが追加のパスワード保護で保護されました。この方法を使用して、Atlantic.NetVPSホスティングプランでサーバーを保護できます。

VPSホスティングサービスと仮想プライベートサーバーの詳細をご覧ください。


Linux
  1. Debian9にphpMyAdminをインストールして保護する方法

  2. UbuntuにphpMyAdminをインストールして保護する方法

  3. CentOS8にMongoDB4をインストールして保護する方法

  1. CentOS7にphpMyAdminをインストールする方法

  2. CentOS8にphpMyAdminをインストールする方法

  3. RHEL 8 /CentOS8にphpMyAdminをインストールする方法

  1. CentOS7でApacheを使用してphpMyAdminをインストールして保護する方法

  2. Ubuntu18.04LTSにphpMyAdminをインストールして保護する方法

  3. CentOS8にphpMyAdminをインストールして保護する