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

2021-02-17

XAMPP-セキュリティー設定_eyecatch

インストール直後のXAMPPにパスワードの設定やIPアドレスによるアクセス制限といった最低限のセキュリティ設定を行う方法をまとめました。

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

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

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

この記事ではXAMPPの最低限のセキュリティ設定として、

  • MySQL(MariaDB)にパスワードを設定する
  • phpMyAdminのログイン方法を変更する
  • ローカル環境を構築したPCでしかアクセスできなくする

以上の3点を設定する方法を解説しています。

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


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

本記事で取り扱う作業と流れは以下です。

  1. 1.データベースにパスワードを新規設定する

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

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

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

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

太字のところがメインの作業となります。
「1-2と2-2」は参考です。飛ばしてもらってもOK!

では早速やっていきましょう!

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

始めに...XAMPPで使用されるデータベースはMySQLでしたが、その後MySQLから派生したより高性能なMariaDBというものに変更されました。

ただデータベースは同じように利用できるため、XAMPPのコントロールパネルの名前もMySQLとなっております。ここではMySQL≒MariaDBで問題ありません。

XAMPPのデータベースにパスワードを新規設定する方法です。

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

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・

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

「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

パスワード設定後はconfig.inc.phpの編集が必要

データベースにパスワードを設定した後は、エラーが発生するようになります。
そこで先ほど設定したパスワードとユーザー名の入力画面が出るように設定します。

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」パスワードに先ほどのコマンドラインインターフェイスで設定したパスワードを入力すればログインできます。

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

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

気になったので解決しときました。

XAMPPセキュリティ対策9

パスフレーズが短すぎますという警告が出ていた

phpMyAdminにログインするとページの下に何やらエラーが…

「設定ファイルの中に記述されているパスフレーズ(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ページは一般的にネットワーク経由でアクセス可能です」と言われている所以でしょうか?

実証実験

暇なので気になったので実験してみました。
同じ回線(同じWiFi)で繋がれているスマホからPCのローカル環境にアクセスできるかやってみます。

XAMPPセキュリティ対策13

XAMPPを使用するPCのIPアドレスを調べる

まずWindowsのコマンドプロンプトを立ち上げ「ipconfig」コマンドでローカル環境を構築したPCが使用しているIPアドレスを調べます。

ここでは「123.456.78.9」がパソコンで使用しているIPアドレスとします。

XAMPPセキュリティ対策14

続いて、パソコンのXAMPPを起動した状態でスマホでURLのlocalhostの部分を先ほどのIPアドレスに変更してアクセスします。

「http://localhost/wordpress」→「http://123.456.78.9/wordpress」

という感じ。アクセスできました。
XAMPPを構成した端末以外からでも一応ローカル環境にアクセスが可能ということで、セキュリティ的にはあまりよくないようです。

そこで念のためにIPアドレスでアクセス制限をかけておきます。

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

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

XAMPPセキュリティ対策15

コントロールパネルからhttpd.confを開く

コントロールパネルで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終了時エラー_eyecatch
XAMPP終了時に「応答なし」のエラーが出る時の対処方法。

続きを見る

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

続きを見る

-ソフト_サービス
-

site-logo
ありがとうございました!
良かったらシェアしてネ・w・
当サイトはピンバックを受け付けます。
  • この記事を書いた人
ザキ

ザキ

X:@sologaku

プログラミングに興味があり情報系の大学を卒業。

新卒で社会人になるも数年で退職し今はフリーランスとして生きています。

少しでも誰かの役に立てれば...と思い、当サイトでIT関係のハウツーを発信しています。


ソロ学運営者:ザキの自己紹介

© 2020 sologaku