XAMPP(ザンプ)のセキュリティー設定方法!データベースのパスワード設定からIPアドレスの制限まで。

2021-02-17

インストール直後のXAMPPに最低限のセキュリティー設定をする方法のまとめです。

以前のバージョンのXAMPPは専用のセキュリティーページが設けられており、ブラウザから視覚的に分かりやすく設定できたのですが、現在の最新バージョン(令和3年2月時点)のXAMPPではセキュリティーページは廃止されておりShellというコマンドベースを使って設定していくことになります。

XAMPPを使ってWordpressをローカル環境に構築する方法は別の記事にまとめておりますので、必要な方はそちらもご参照ください。

【関連記事】XAMPPを使ってWordPressをローカル環境に構築する方法。オフラインでも使えるテスト環境は素敵に無敵!

この記事ではXAMPPの最低限のセキュリティー設定として
・MySQL(MariaDB)にパスワードを設定する
・phpMyAdminのログイン方法を変更する
・ローカル環境を構築したPCでしかアクセスできなくする

以上の3点を設定する方法を解説しています。
ローカル環境なので本番サイト程のセキュリティーは不要かと思いますが、これらの設定はすぐに終わるので悪意のあるプログラムに攻撃されるリスクを少しでも減らしておきましょう。

XAMPPのセキュリティー設定方法

事前に準備するものは正常動作しているXAMPPだけで大丈夫です。
Shellというコマンドベースもこちらに付属していますので問題なし。
phpファイルの編集作業もありますがメモ帳などで対応可能です。

本記事の作業の流れは以下です。
1.データベースにパスワードを新規設定する
1-2.データベースに設定したパスワードを変更する
2.phpMyAdminのログイン認証形式を変更する
2-2.非公開パスフレーズを設定する
3.Apacheのhttpd.confファイルでIPアドレスを制限

「1-2と2-2」は参考です。飛ばしてもらってもOK!

MySQL(MariaDB)にパスワードを設定する

XAMPPで使用されるデータベースはもともとMySQLでしたが、その後MySQLから派生したより高性能なMariaDBというものに変更されました。
しかし、同じように利用できるため、XAMPPのコントロールパネルの名前もMySQLとなっております。ここではMySQL≒MariaDBで問題ありません。

XAMPPのデータベースにパスワードを新規設定する方法です。
「XAMMPのインストール」から読んでもらっている方はコチラです!

では早速設定していきましょう!

XAMPPセキュリティ対策1

ApacheとMySQLを起動

まずはXAMPPのApacheとMySQLが起動していることを確認。していない場合はStartを押して両方起動する。

続いてShellボタンをクリックしてコマンド端末を起動し、一行ずつコマンドを入力していきます。
画像が離れると分かりにくくなりますので各コマンドの内容は割愛しますね。

XAMPPデータベースパスワード新規設定1

mysql > binフォルダに移動

cd mysql\bin

上のコマンドを入力してエンターを押します。(コピペでOK)

XAMPPデータベースパスワード新規設定2

MySQL(MariaDB)にログイン

mysql -u root

続いて上のコマンドを入力してエンター、最後にMariaDB [(none)]>と出ればOK!

XAMPPデータベースパスワード新規設定3

パスワードを新規設定する

set password=password('新規パスワード');

新規パスワードはもちろん任意のパスワードで!半角コロンの中に入れて入力し、エンターを押す。

XAMPPデータベースパスワード新規設定4

DBの新規パスワード設定完了

「Query OK」と出ればデータベースの新規パスワードの設定完了です。

XAMPPデータベースパスワード新規設定5

MySQL(MariaDB)からログアウト

quit

上のコマンドを入力してエンターを押し、データベースからログアウトしましょう。冷たくByeされたらOKですw

1-2.データベースに設定したパスワードを変更する

「set password」で入力したデータベースのパスワードを変更する方法です。

XAMPPに設定してあるデータベースのパスワードの変更方法です。
インストール直後の方は先ほどの新規設定のみでOKなので
phpMyAdminのログイン認証形式を変更する」に進んで下さい。

必要な方が少なそうなので簡略して一気にいきます!
XAMPPのApacheとMySQLを起動し、Shellアイコンをクリックしてコマンドラインインターフェイスを起動し、コマンドを打ち込んで既存のパスワードを変更します。

XAMPPデータベースパスワード変更1

XAMPPデータベースパスワード変更

cd mysql\bin

でフォルダ移動。

mysql -u root -p

パスワードが設定されている場合は「-p」を付けます。
エンターを押すとパスワードの入力が求められるので、設定してあるパスワードを入力してMySQL(MariaDB)にログインする。

use mysql;

で使用するデータベースを選択。

alter user 'root'@'localhost' identified BY '変更後のパスワード';

を実行してパスワードを変更する。

quit

でログアウト。

WordPressのデータベース情報の編集

XAMPPデータベースパスワード変更2

データベースのパスワードを変更した際のエラー

XAMPPのデータベースを含め、Wordpressに使用しているデータベースの情報を変更するとサイトアクセス時に「データベース接続確立エラー」が出てしまいます。

XAMPPデータベースパスワード変更3

wp-config.phpのデータベースのパスワードも変更する

WordPressは「wp-config.php」というファイルにデータベースに接続するための情報を保存しておりますので、こちらを新しいパスワードに書き換えます。
XAMPPの場合は

C: > xampp > htdocs > wordpress > wp-config.php

にあります。インストール先を変更している場合は変わってます。
コチラを開いて35行目あたり(画像参照)の「define( 'DB_PASSWORD', '');」の「''」の中にあるパスワードを設定したものに変更しましょう。
(今回の例ではパスワードは設定していないので空になっています。)

phpMyAdminのログイン認証形式を変更する

さて、XAMPPのデータベースのパスワードを設定しましたので続いてphpMyAdminのログイン認証方法を変更しましょう。

XAMPPセキュリティ対策2

XAMPPのコントロールパネルより「MySQL欄のAdmin」をクリックするとphpMyAdminのトップページに飛ぶことが出来ます。

インストール直後のパスワードを設定していない状態だと、そのまま管理画面にログインした状態でページが開きましたが...

XAMPPセキュリティ対策3データベースにパスワードを設定したことにより、エラーが発生するようになりました。
こちらをユーザー名と先ほど設定したパスワードが必要な画面が出るように設定します。

XAMPPセキュリティ対策4

ApacheとMySQLを停止する

phpファイルを編集するので、いったんApacheとMySQLを停止します。
インストールしたxampp内の「config.inc.php」というファイルにログイン情報が保存されていますのでコチラを編集します。

C: > xampp > phpMyAdmin > config.inc.php

と辿り、開きます。(メモ帳などでOK)

XAMPPセキュリティ対策5

config.inc.phpを書き換える(前)

画像を参考に「'auth_type'」と「user」の値をそれぞれ書き換えます。

config → cookie
root → 削除
XAMPPセキュリティ対策6

config.inc.phpを書き換える(後)

書き換えが完了したら、保存して閉じましょう。

再度XAMPPのコントロールパネルからApacheとMySQLを起動し、MySQLの欄にあるAdminボタンをおしてphpMyAdminページを開いてみます。

XAMPPセキュリティ対策7

ログイン画面が出現します。
XAMPPセキュリティ対策8
ユーザー名は「root」パスワードに先ほどのコマンドラインインターフェイスでぺちぺちと設定したパスワードを入力すればログインできます。

2-2.非公開パスフレーズを設定する

コチラはおまけです。やってもやらなくてもXAMPPは動きます。

気になったので解決しときました。
XAMPPセキュリティ対策9ログインすると何やらエラーが…
「設定ファイルの中に記述されているパスフレーズ(blowfish_secret)が短すぎます」
とのこと。

セキュリティー向上のために自分の持っているファイルに秘密の非公開パスフレーズを設定し、そのフレーズをもとに暗号化します。

といった内容かな?簡単に消せたので報告。
先ほど「cookie」と書き換え「root」を削除するために編集したphpファイルをもう一度開きます。

C: > xampp > phpMyAdmin > config.inc.php
XAMPPセキュリティ対策10

phpMyAdmin非公開パスフレーズの設定(前)

こちらの「'blowfish_secret'」の中に'xampp'という文字列が入っていますが、これがパスフレーズ。
短すぎますとあるので調べてみると32文字以上にすればOKらしい。

XAMPPセキュリティ対策11

phpMyAdmin非公開パスフレーズの設定(後)

覚える必要はないのでネットで文字列ランダム生成システムなるものをお借りして適当な英数字の組み合わせを32文字分作ってぶち込みました。

XAMPPセキュリティ対策12再度アクセスしてみると消えてました。めでたしめでたし。

ローカル環境にアクセスできるIPを制限する

ここまでのセキュリティー設定でひとまず安心ですが、更にApacheのhttpd.confファイルでIPアドレスを制限し、ローカル環境を構築したパソコンでしかアクセスできないように設定変更します。

セキュリティーについてあまり詳しくないのですが、XAMPPを使ってローカル環境を構築したパソコンがオンラインで更にApacheとMySQLが起動している状態だと同じ回線を使用しているユーザーがアクセスできるようです。

PCを仮想WEBサーバーにしているのでlocalhostの代わりにそのパソコンが使用しているIPアドレスを直接指定してあげればページにアクセスが可能です。

つまるところこれが「これらのXAMPPページは一般的にネットワーク経由でアクセス可能です」と言われている所以でしょうか?

実証実験

暇なので気になったので実験してみました。
同じ回線(同じWi-Fi)出繋がれているスマホでローカル環境にアクセスできるかやってみます。
XAMPPセキュリティ対策13まずWindowsのコマンドプロンプトを立ち上げ「ipconfig」コマンドでローカル環境を構築したPCが使用しているIPアドレスを調べます。
「123.456.78.9」がパソコンで使用しているIPアドレスとします。
XAMPPセキュリティ対策14続いて、パソコンのXAMPPを起動した状態でスマホでURLのlocalhostの部分を先ほどのIPアドレスに変更してアクセス。
「http://localhost/wordpress」→「http://123.456.78.9/wordpress」
という感じ。アクセスできました。

Apacheのhttpd.confファイルでIPアドレスを制限する

XAMPPをインストールしている端末からしかアクセスできないように設定してみます。

XAMPPセキュリティ対策15

コントロールパネルでApacheのConfigを右クリック、Apache(httpd.conf)を開く。

Listen 80となっている部分に#を付けてコメントアウトし、その下に↓を追加して保存する。
(Listen 80は削除してもOK)

Listen 127.0.0.1:80

※保存してもApacheを再起動しないと設定が有効になりません。

これでローカル環境を持つパソコン自身でしかアクセスできなくなります。

ちなみにこの「127.0.0.1」というのはローカルループバックアドレスと呼ばれ、自分自身を指す特別なIPアドレスになります。
「localhost=127.0.0.1」で置き換えることが可能ですヨ!

XAMPPセキュリティ対策18再度スマホで「http://123.456.78.9/wordpress」にアクセスするとうまくいきました!

まとめ

XAMPPでやっておきたい最低限のセキュリティー設定方法のまとめでした。

僕が初めてインストールしたときはセキュリティー設定ページがあってとても分かりやすかったのですが、今はコマンドを叩かないとできないようになったんですね~便利な機能をなくしてしまうなんて大人の事情でしょうか...とてもいいソフトなのですが敷居が上がると大変ですね。

長文お付き合いありがとうございました・w・

前記事のXAMPPのインストール方法から読んできてもらっている方は、途中で必須ではない内容も入っていて見にくかったかもしれませんね...

■インストール途中の方はこちらから戻れます。
次の項目(WordPress用のデータベースを作成する)

■関連記事

XAMPP終了時エラー1
【解決】XAMPP終了時に「Error: Cannot create file~アクセスが拒否されました」とエラーが出る。

続きを見る

Wordpress_画像がフルサイズしかない1
WordPressの画像にフルサイズしかない!特にXAMPPの初期設定ではフルサイズのみで他の画像サイズが作成されない。

続きを見る

-Wordpress

© 2021 ソロ学