こんにちは宮川(@miyakawa2449)です。
10回に分けてWordPressの脆弱性・改ざん対策を記事にしています。
前回は6.MySQL の管理ツール phpMyAdmin をインストールのお話でした。
今回はWordPressのMySQLツールについて記事です。
7.MySQLのrootユーザーは安全か?
WordPressのデータを管理するデータベースソフト「MySQL」に関するお話です。
WordPressを利用する環境条件の1つにMySQLがあります。
レンタルサーバーを借りるとMySQLが標準で付いてくるところがほとんどだと思いますが、場合によってはオプションになっているところもありますよね。
さて、これから紹介するのはVPS契約などでWebサーバーを自分自身で構築された方が特に気をつけなくてはいけない内容です。
レンタルサーバーで契約されてる場合は、サーバー会社が管理しているはずなので大丈夫だと思いますが、可能な場合は念のため検証しておくことをおすすめします。
■rootユーザーのパスワードを必ず設定
VPSでMySQLをインストールすると、rootユーザーは初期パスワードが空白のため、必ず設定をしましょう。
パスワードが空白のままMySQLを運用するのは非常に危険です。
mysqladmin -u root password
※ここでは構築の流れを全て説明はしません。簡単なコマンドだけご紹介します。
レンタルサーバーを借りている場合は必ずパスワードを設定された状態でMySQLは引き渡されます。
詳しくはレンタルサーバーの環境にしたがってください。
■WordPress用のデータベースを操作する専用ユーザーを用意する
VPSを利用されている方は、WordPressをインストールする前にデータベースを構築されていると思います。
mysql > create database wordpressDB;
※wordpressDBは仮のデータベース名です。センスのよい名前を考えましょう。
rootユーザーにデータベース管理をするよりは、専用ユーザーでデータベース管理をする方がよりセキュアな環境を構築できます。
データベースを操作するユーザー(xxuser)を作成し、操作権限を与えます。
mysql > create user 'xxuser'@'localhost' identified by '************';
mysqk > grant all on wordpressDB.* to 'xxuser'@'localhost';
1行目でユーザーの作成(xxuser)とパスワード(************)を設定しています。
このパスワードはWordPressのログインパスワードとは異なるパスワードを設定します。
面倒だからと言ってWordPressと同じパスードにはしないでください。
2行目でユーザー(xxuser)に対して、データベース(wordpressDB)の操作権限を与えています。
「localhost」も狙われやすいので、別の値に設定できばよりよいと思います。
※レンタルサーバーを借りている場合はプロバイダーの環境に従ってください。
■デフォルトデータベースは削除
VPS環境でMySQLをインストール時に、デフォルトデータベースとして次の3つ「information_schema」「 mysql」「 test」がインストールされています。
MySQLに対して次のコマンドを叩いて、この3つのデータベースが残っていれば削除しておきましょう。
mysql > SHOW DATABASES;
レンタルサーバーの場合はデフォルトデーターベース問題はないと思いますが、気になる方はご確認ください。
phpMyAdminなどのツールをWebサーバーに設置すればmySQLコマンドを使わずに簡単に確認できます。
■終わりに
VPSを契約されるような方はご自身でWebサーバー、PHP、MySQL、ファイヤーウォールなど全てを設定管理される方がほとんどだと思います。
このようにVPSでサーバーを契約すると単価は安くなりますが、ご自身の管理対象が一気に広くなります。
サーバー管理に自信があって、かつ、時間コストをかけられる人以外はVPS契約はお勧めしません。
月額980円でVPS契約をして、サーバー管理に毎日30分の時間をかけるか、1980円でレンタルサーバーを借りて、サーバー管理はプロバイダーに任せて管理時間0にするか。
コストを天秤にかけましょう。
私も一時期、さくらVPSを借りてWordPress運用していましたが、時間コストが問題で2, 3年でやめました。
いずれの契約を選んだとしても、WordPressの管理はユーザーの責任になりますので、怠らないようにしなくてはいけません。
以上、「MySQLのrootユーザーの設定や、デフォルトデータベースのお話」でした。
最後までお読みいただきありがとうございました。
宮川(@miyakawa2449)でした。
それではまた〜♪
コメント
[…] 前回は「7.MySQLのrootユーザの設定や、デフォルトデータベースのお話」のお話でした。 […]