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

はじめに

多くのユーザーはMySQLのようなデータベース管理システムの機能を必要としていますが、MySQLプロンプトのみからシステムと対話することは快適ではないかもしれません。

phpMyAdminは、ユーザーがWebインターフェイスを介してMySQLと対話できるように作成されました。 このガイドでは、phpMyAdminをインストールして保護して、Ubuntu16.04システムからデータベースを安全に管理できるようにする方法について説明します。

前提条件

このガイドを始める前に、いくつかの基本的な手順を完了しておく必要があります。まず、Ubuntu16.04の初期サーバー設定の手順1-4で説明されているように、sudo権限を持つ非rootユーザーを使用していると仮定します。また、Ubuntu16.04サーバーにLAMP(Linux、Apache、MySQL、およびPHP)のインストールが完了したと仮定します。 これがまだ完了していない場合は、Ubuntu16.04にLAMPスタックをインストールするためのこのガイドに従うことができます。

最後に、phpMyAdminのようなソフトウェアを使用する場合、重要なセキュリティ上の考慮事項があります。

  • MySQLのインストールと直接通信します
  • MySQLの資格情報を使用して認証を処理します
  • 任意のSQLクエリの結果を実行して返します

これらの理由から、広く展開されているPHPアプリケーションであり、攻撃の対象となることが多いため、リモートシステム上でphpmyadminをプレーンなHTTP接続を介して実行するべきではありません。 SSL/TLS証明書で構成された既存のドメインがない場合は、Ubuntu16.04でLet’S Encryptを使用したApacheの保護に関するこのガイドに従うことができます。

これらの手順が完了したら、このガイドを開始する準備が整いました。ステップ1—phpMyAdminのインストール

開始するには、デフォルトのUbuntuリポジトリからphpMyAdminをインストールします。これを行うには、ローカルパッケージインデックスを更新し、aptパッケージシステムを使用してファイルをプルダウンし、システムにインストー:

  • sudo apt-get update
  • sudo apt-get install phpmyadmin php-mbstring php-gettext

インストールを正しく設定するために、いくつかの質問が表示されます。

警告:最初のプロンプトが表示されると、apache2は強調表示されますが、選択されません。 Apacheを選択するためにスペースをヒットしない場合、インストーラはインストール中に必要なファイルを移動しません。 スペース、タブを押し、次にApacheを選択するために入力します。

  • サーバーを選択するには、apache2を選択します。
  • データベースを設定するためにdbconfig-commonを使用するかどうかを尋ねられたらyesを選択します
  • データベース管理者のパスワードの入力を求められます
  • その後、phpMyAdminアプリケーション自体のパスワードを選択して確認するよう求められます

インストールプロセスは、実際にphpMyAdmin Apache設定ファイルをphpMyAdminアプリケーション自体

インストールプロセスは、phpMyAdminアプリケーション自体

インストールプロセスは、実際にphpMyAdmin Apache設定ファイルをphpMyAdminアプリケーション自体のパスワードを選択して確認するよう求められます。/etc/apache2/conf-enabled/ディレクトリ。

私たちがする必要があるのは、PHPmcryptmbstring拡張機能を明示的に有効にすることだけです。

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

その後、変更を認識するためにApacheを再起動する必要があります。

mcryptmbstring拡張機能は次のように入力して行うことができます。

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

その後、変更を認識するためにApacheを再起動する必要があります。

  • sudo systemctl restart apache2

サーバーのドメイン名またはパブリックipアドレスの後に/phpmyadminにアクセスして、webインターフェイスにアクセスできるようになりました/phpmyadmin:

https://domain_name_or_IP/phpmyadmin

phpMyAdminログイン画面

rootユーザー名とMySQLのインストール中に設定した管理パスワードを使用してインターフェイ

ログインすると、次のようなユーザーインターフェイスが表示されます。

phpMyAdmin user interface

ステップツー—phpMyAdminインスタンスを保護

phpMyAdminインターフェイスをかなり簡単に起動して実行することができました。 しかし、我々はまだ行われていません。 その遍在性のために、phpMyAdminは攻撃者のための一般的なターゲットです。 不正アクセスを防止するための追加の措置を講じる必要があります。

これを行う最も簡単な方法の一つは、アプリケーション全体の前にゲートウェイを配置することです。 これは、Apacheの組み込み.htaccess認証と承認の機能を使用して行うことができます。

許可するようにApacheを設定します。htaccessのオーバーライド

まず、Apache設定ファイルを編集して.htaccessファイルのオーバーライドの使用を有効にする必要があります。

Apache設定ディレクトリに配置されているリンクファイルを編集します。

  • sudo nano /etc/apache2/conf-available/phpmyadmin.conf

設定ファイルの<Directory /usr/share/phpmyadmin>AllowOverride Allディレクティブを追加する必要があります。

/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .

この行を追加したら、ファイルを保存して閉じます。変更を実装するには、Apacheを再起動します。

  • sudo systemctl restart apache2

作成します。htaccessファイル

アプリケーションで.htaccess使用を有効にしたので、実際にセキュリティを実装するために作成する必要があります。

これを成功させるには、アプリケーションディレクトリ内にファイルを作成する必要があります。 必要なファイルを作成し、root権限でテキストエディタで開きます。

  • sudo nano /usr/share/phpmyadmin/.htaccess

このファイル内に次の情報を入力する必要があります。

/usr/share/phpmyadmin/。htaccess
AuthType BasicAuthName "Restricted Files"AuthUserFile /etc/phpmyadmin/.htpasswdRequire valid-user

これらの行のそれぞれが何を意味するのか見てみましょう:p>

  • AuthType Basic:この行は、実装している認証タイプを指定します。 このタイプでは、パスワードファイルを使用したパスワード認証が実装されます。
  • AuthName:これは、認証ダイアログボックスのメッセージを設定します。 許可されていないユーザーが保護されているものに関する情報を取得しないように、この一般的なものを保持する必要があります。
  • AuthUserFile:これは、認証に使用されるパスワードファイルの場所を設定します。 これは、提供されているディレクトリの外にある必要があります。 このファイルはすぐに作成します。
  • Require valid-user:これは、認証されたユーザーのみがこのリソースへのアクセス権を与えることを指定します。 これは、不正なユーザーが実際に入るのを止めるものです。完了したら、ファイルを保存して閉じます。

    を作成します。認証用のhtpasswdファイル

    パスワードファイルに選択した場所は”/etc/phpmyadmin/.htpasswdhtpasswdユーティリティを使用して初期ユーザーに渡すことができます:p>

    • sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

    作成しているユーザーのパスワードを選択して確認するように求められます。 その後、入力したハッシュ化されたパスワードを使用してファイルが作成されます。

    追加のユーザーを入力する場合は、-cフラグを付けずに入力する必要があります。

    • sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

    phpMyAdminサブディレクトリにアクセスすると、設定した追加のアカウント名とパスワードの入力を求められます:

    https://domain_name_or_IP/phpmyadmin

    phpMyAdmin apacheパスワード

    Apache認証を入力すると、通常のphpMyAdmin認証ページに移動して他の資格情報を入力します。 これにより、phpMyAdminは過去に脆弱性に苦しんでいたため、セキュリティの追加レイヤーが追加されます。これで、phpMyAdminが設定され、Ubuntu16.04サーバーで使用できるようになりました。 このインターフェイスを使用すると、データベース、ユーザー、テーブルなどを簡単に作成できます。 構造体やデータの削除や変更などの通常の操作を実行します。

Related Posts

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です