先日札幌で WordPress のカスタマイズについてお話をしてきました。
その中で「 狙われるWordPress 」というお話をしたのですが、「そもそもなぜそんなことが必要のなのか」というところから認識の差を感じました。
今回はサイバーセキュリティ対策の必要性を訴えるため、その意味と初歩の対策を記事にまとめます。
なぜセキュリティ対策が必要なのか
狙われる WordPress
WordPress はどなたでも低コストでホームーページを持つことができる大変便利なツールです。
公式によると、なんと世界のWebサイトの27%がWordPressで構成されているといいますから、驚くほどのシェア率です。
しかし、この 「簡単にはじめられる」ことが罠になっている と感じます。
「とりあえず始めた」けれどもスパムがひどく、サイトを泣く泣く閉鎖ししたという声も聞きました。
先日もまた「不正ログイン」に対する警告のお知らせが耳に入りました。
攻撃者からすると初心者のブログは何も対策をしておらず、狙いやすいのだと思います。
WordPress に対する不正ログインなどの攻撃は、ブログの規模を問いません。
「趣味のブログだから」
「小さくやるから」
ブログの規模や種類は一切 関係なく、攻撃に晒されるものだということはぜひご認識を改めてください。
攻撃されるとどうなるのか
もし不正にログインされた場合、あなたのブログがどうなるのか。
例として次のようなことが考えられます。
- アカウントが奪われログインできなくなってしまう
- 記事が全て削除されてしまう
- 記事の一部が書き換えられてしまう
記事が全て無くなっていたら嫌でも気がつきますね。
そうではなく、記事の一部が書き換えられていた場合は気がつきにくく、じわじわと傷が広がる場合もあります。
たとえば意図しない内容になっていたり、変なリンクが追加されていたり。
もしそうなってしまった場合、下手をするとあなたのブログは信用は失ってしまうことになりかねません。
対策について
それでは対策方法を記載いたします。
この記事では初歩の対策として、「比較的簡単にできて効果が高い」と思われるものに絞っております。
最新バージョンを使う
プログラムには不具合(バグ) がつきものです。
このようなプログラムの不具合などによる、プログラムの弱点を脆弱性(ぜいじゃくせい)
といいます。
WordPress を利用するメリットの一つは「更新が頻繁であり、脆弱性の対処も比較的早い」ことが挙げられます。
よく言われることですが、WordPress、テーマ、プラグインは常に最新のものを利用するようにしてください。
また、可能であれば WordPress を組み立てているプログラム言語の PHP
をはじめ、周辺のソフトについてもバージョンアップできる環境であることが望ましいです。
パスワードを見直す
WordPress の管理ツールにログインするためには、標準状態ではアカウントとパスワードの2つを入力しますね。
まずはパスワードを強化し、簡単にログインできないよう敷居を上げることが必要です。
パスワードとして次のようなものを設定されている場合は、早急に見直しされることをおすすめいたします。
- 123456 などの単純な数字
- password や login といった
- 自分の名前や誕生日などの推測容易な文字列
パスワードは数字、アルファベット、記号をそれぞれ用い、文字数を多くしてください。 また、定期的なパスワードの交換が望ましいです。
WordPress では、かんたんに強力なパスワードを生成する機能がすでに備わっています。
管理メニュー [ ユーザ > あなたのプロフィール ] に遷移し、アカウント管理にある「パスワードを生成する」ボタンをクリックしてください。

ボタンクリックでパスワードが生成されます。

これでも十分強力ではありますが、さらに2、3文字をご自身で書き換えたものをパスワードとして設定するとなお良いでしょう。
入力する手間を厭わず、複雑なパスワードを設定することはかなり効果がありますよ。
先ほどのパスワード例は SplashData さんの調査を参考にしています。
毎年「危険なパスワード」のワーストランキングを公表しているんですよね。
Announcing our Worst Passwords of 2016
https://www.teamsid.com/worst-passwords-2016/
アカウントを隠蔽する
パスワードを強化しても、ログインするためのもう一つの情報であるアカウント名が漏れてしまうと、攻撃は容易になります。
実は WordPress 標準では、そのアカウント名が簡単にチェックできる状態になっているのです。

はい、アカウント名がそのまま表示されてしまっています。
この対策は2つあります。
ニックネームを設定する
管理メニュー [ ユーザ > あなたのプロフィール ] に遷移すると、名前欄に「ニックネーム」という項目があります。
アカウント生成直後、ニックネームはアカウント名と同一のものが設定されています。
これを任意に変更して「ブログ上の表示名」から、ニックネームを選択してください。

これで投稿者名に、ご自身で設定したニックネームが表示されます。

しかしまだ完全ではありません。
この状態でも、ニックネームにマウスカーソルを当てると、ステータスバーにアカウント名の表示を確認することができます。
アカウントにスラッグを設定する
WordPress には投稿者の記事一覧を表示する、「投稿者アーカイブ」というページがあります。
アカウント名はここにも表示されてしまいますので、前述のプロフィール設定だけでは対策になりません。
これに対しては、便利なプラグインがあります。
https://ja.wordpress.org/plugins/edit-author-slug/
Edit Author Slug をインストール、有効化すると、管理メニュー [ ユーザ > あなたのプロフィール ] に「Edit Author Slug」という項目が追加されます。
「カスタム設定」を選択し、任意のアルファベットを設定しましょう。

「プロフィールを更新」すると、投稿者アーカイブの UR Lには設定したスラッグが適用されます。
なお、WordPress のバージョンによっては 最初から admin
というアカウントが用意されていることがあります。
これは最も狙われるこのアカウント名です。 admin というアカウントでブログを運用されている方は新しくアカウントを作成し、adminというアカウントを削除することを強くおすすめいたします。
主要なファイルを守る
WordPress には、心臓部とも言えるデータベースへの接続情報が記録された wp-config.php というファイルがあります。
これを外部から操作、閲覧できると外部から簡単にデータベースが操作されてしまいます。
ファイルが閲覧できないように 適切に権限を設定することが望ましいです。
権限の設定には FTPソフト や SSL通信できるソフトがあることが望ましいのですが、そこまでするのは敷居が高いですね。
セキュリティ対策に必須の定番のプラグイン All In One WP Security & Firewall を使って対策します。
https://ja.wordpress.org/plugins/all-in-one-wp-security-and-firewall/
まずこのプラグインをインストール、有効化します。
主要ファイルの権限設定
プラグインをインストールするとメニューに 「 WPSecurity 」が追加されます。
その中の「 Filesystem Security 」をクリックすると次の画面が表示されます。

「 Set Recommended Permissions 」をクリックするだけです。
これは簡単ですね!
ログインページを隠蔽する
当記事の最後の対策です。
All In One WP Security & Firewall でログインページにも対策を行いましょう。
wp-login.php の対策
WordPress を利用しているサイトはどれもプログラムのファイル構成が同じです。
そのため、全くの部外者であっても[サイトURL]/wp-login.php
にアクセスすればログイン画面を開くことが可能です。
難易度は高めですが、ログインページを変更することで、管理メニューの入り口を隠すことが可能です。
管理メニュー「 WPSecurity > Brute Force 」に遷移します。

- 「 Enable Rename Login Page Feature 」にチェックを入れる
- 「 Login Page URL 」を任意に設定する
- 「 Save Settings 」をクリックし保存する
この後 wp-login.php にアクセスすると次の画面が表示されます。

もちろん、設定したログインページの URL を直接入力するとログインページが表示されますよ。
しかし、 設定したURLは忘れないよう、必ずメモをしてください。
xmlrpc.php の対策
もう一つ、ログイページではありませんが、ログインが可能なファイルがあります。
それが xmlrpc.php
です。
これはブログの機能であるピンバックなどを行うためのファイルなのですが、このファイルを有効にしていると、攻撃を受ける頻度が高くなります。
一部機能は制限されますが、私はアクセスを禁止する設定をおすすめしております。
管理メニュー「 WPSecurity > Firewall 」に遷移します。

- 「 Completely Block Access To XMLRPC 」にチェックを入れる
- 「 Save Basic Firewall Settings 」をクリックし保存する
同様に、次の設定にもチェックを入れるとより良いですね。
- Enable Basic Firewall Protection
- Block Access to debug.log File
これで対策は完了です。
おわりに
WordPress が大変便利なツールであることは間違いありません。
PCやスマホにウィルスソフトを入れるように、WordPress にもウィルス(攻撃)の対策が必要なのです。
悲しい思いをする前に、設定を見直してみてはいかがでしょうか。