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

前書き

多くのユーザーは[MySQL](https://cloud.tencent.com/product/cdb?from=10680)のようなデータベース管理システムの機能を必要としていますが、MySQLプロンプトを介してシステムと対話するだけではありません。

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

準備 ##

このガイドの使用を開始する前に、いくつかの基本的な手順を完了する必要があります。

sudoコマンドを使用できる非rootアカウントを持つUbuntu サーバーがセットアップされ、ファイアウォールがオンになっています。サーバーをお持ちでない学生は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs?from=10680)を使用して実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。

また、Ubuntu 16.04サーバーへのLAMP(Linux、Apache、MySQL、およびPHP)のインストールが完了していることを前提としています。

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

これらの理由と、攻撃をターゲットにすることが多い広く展開されているPHPアプリケーションであるため、phpMyAdminは通常のHTTP接続を介してリモートシステムで実行しないでください。 ドメイン名をお持ちの場合、Webサイトを保護する最も簡単な方法は、無料の信頼できる証明書を提供する[Tencent Cloud SSL Certificate Service](https://cloud.tencent.com/product/ssl?from=10680)を使用することです。 【TencentCloudSSL証明書インストール操作ガイド】(https://cloud.tencent.com/document/product/400/6814?from=10680)を設定します。 ドメイン名をお持ちでない場合は、最初にここにアクセスすることをお勧めします[ドメイン名を登録](https://dnspod.cloud.tencent.com/)。この構成をテストまたは個人使用に使用する場合は、ドメイン名を購入せずに自己署名証明書を使用できます。自己署名証明書は同じタイプの暗号化を提供しますが、ドメイン名検証のアナウンスはありません。自己署名証明書については、[Apacheの自己署名SSL証明書の作成](https://cloud.tencent.com/developer/article/1165840?from=10680)と[Nginxの自己署名SSL証明書の作成方法](https://cloud.tencent.com/developer/article/1160294?from=10680)の2つの記事を参照してください。

これらの手順を完了すると、このガイドの使用を開始できます。

**ステップ1-phpMyAdmin **をインストールする##

まず、デフォルトのUbuntuリポジトリからphpMyAdminをインストールします。

これを行うには、ローカルパッケージインデックスを更新してから、 aptパッケージングシステムを使用してファイルをドロップダウンし、システムにインストールします。

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

これにより、インストールを適切に構成するためにいくつかの質問が表示されます。

**警告:**最初のプロンプトが表示されると、apache2が強調表示されますが、は選択されませんスペースキーを押してApacheを選択しなかった場合、インストーラーはインストール中に必要なファイルを移動しません。 ** Space tab Enter **を押し、Apacheを選択します。

インストールプロセスでは、実際にphpMyAdminApache構成ファイルが / etc / apache2 / conf-enabled /ディレクトリに追加され、ディレクトリが自動的に読み取られます。

必要なのは、PHPの mcryptおよび mbstring拡張機能を明示的に有効にすることだけです。これは、次のコマンドを入力して実行できます。

sudo phpenmod mcrypt
sudo phpenmod mbstring

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

sudo systemctl restart apache2

これで、サーバーのドメイン名または / phpmyadminで終わるパブリックIPアドレスにアクセスして、Webインターフェイスにアクセスし、次の操作を実行できます。

https://domain_name_or_IP/phpmyadmin

これで、MySQLのインストール中に設定された rootユーザー名と管理パスワードを使用してインターフェースにログインできます。

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

ステップ2-phpMyAdminインスタンスを保護する

phpMyAdminインターフェイスを簡単に起動して実行できます。ただし、まだ完了していません。 phpMyAdminはどこにでもあるため、攻撃者に人気のあるターゲットです。不正アクセスを防ぐために、追加の対策を講じる必要があります。

最も簡単な方法の1つは、アプリケーション全体の前にゲートウェイを配置することです。これを実現するために、Apacheの組み込みの .htaccess認証および承認機能を使用できます。

.htaccessオーバーライドを許可するようにApacheを構成します

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

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

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

構成ファイルに必要です<Directory /usr/share/phpmyadmin>以下に示すように、 AllowOverrideAllディレクティブを`セクションに追加します。

< 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

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

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

これらの行の意味を確認しましょう。

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

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

パスワードファイル用に選択した場所は「 / etc / phpmyadmin / .htpasswd」です。これで、このファイルを作成し、 htpasswdユーティリティを使用して最初のユーザーをファイルに渡すことができます。

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

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

他のユーザーを入力する場合は、以下に示すように、** -cフラグ**なしでこれを行う必要があります。

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

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

https://domain_name_or_IP/phpmyadmin

Apache認証を入力した後、通常のphpMyAdmin認証ページに入り、他の資格情報を入力します。 phpMyAdminは過去に脆弱性に対して脆弱であったため、これによりセキュリティの層が追加されます。

結論として ##

これで、phpMyAdminが構成され、Ubuntu16.04サーバーで使用できるようになります。このインターフェイスを使用すると、データベース、ユーザー、テーブルなどを簡単に作成し、構造やデータの削除や変更などの日常的な操作を実行できます。

その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。

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

Recommended Posts

Ubuntu16.04にphpMyAdminをインストールして保護する方法
Ubuntu16.04にphpMyAdminをインストールして保護する方法
Ubuntu 16.04 /18.04にPycharmとIpythonをインストールする方法
Ubuntu16.04にNATSをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu18.04にGitLabをインストールして構成する方法
Ubuntu18.04にAnsibleをインストールして構成する方法
Ubuntu18.04にCurlをインストールして使用する方法
Ubuntu18.04にComposerをインストールして使用する方法
Ubuntu18.04にWineをインストールして使用する方法
Ubuntu16.04にElasticsearchをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
Ubuntu20.04にComposerをインストールして使用する方法
Ubuntu14.04にBaasBoxをインストールして使用する方法
Ubuntu18.04にVNCをインストールして構成する方法
Ubuntu16.04にSphinxをインストールして構成する方法
Ubuntu14.04にOrientDBをインストールして構成する方法
Ubuntu16.04にPostgreSQLをインストールして使用する方法
CentOS6にphpMyAdminをインストールして構成する方法
Ubuntu12.04にAppScaleをインストールして構成する方法
Ubuntu16.04にDockerをインストールして使用する方法
Ubuntu14.04にPostGISをインストールして構成する方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu14.04でNginxを保護する方法
Ubuntu20.04にMariaDBをインストールする方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法