先日札幌で WordPress のカスタマイズについてお話をしてきました、tomita@atuwebです。

その中で「 狙われるWordPress 」というお話をしたのですが、「そもそもなぜそんなことが必要のなのか」というところから認識の差を感じました。

今回はサイバーセキュリティ対策の必要性を訴えるため、その意味と初歩の対策を記事にまとめます。

なぜセキュリティ対策が必要なのか

狙われる WordPress

WordPress はどなたでも低コストでホームーページを持つことができる大変便利なツールです。
公式によると、なんと世界のWebサイトの27%がWordPressで構成されているといいますから、驚くほどのシェア率です。

しかし、この 「簡単にはじめられる」ことが罠になっている と感じます。
「とりあえず始めた」けれどもスパムがひどく、サイトを泣く泣く閉鎖ししたという声も聞きました。

先日もまた「不正ログイン」に対する警告のお知らせが耳に入りました。
攻撃者からすると初心者のブログは何も対策をしておらず、狙いやすいのだと思います。

WordPress に対する不正ログインなどの攻撃は、ブログの規模を問いません。

「趣味のブログだから」
「小さくやるから」

ブログの規模や種類は一切 関係なく、攻撃に晒されるものだということはぜひご認識を改めてください。

攻撃されるとどうなるのか

もし不正にログインされた場合、あなたのブログがどうなるのか。

例として次のようなことが考えられます。

  • アカウントが奪われログインできなくなってしまう
  • 記事が全て削除されてしまう
  • 記事の一部が書き換えられてしまう

記事が全て無くなっていたら嫌でも気がつきますね。
そうではなく、記事の一部が書き換えられていた場合は気がつきにくく、じわじわと傷が広がる場合もあります。

たとえば意図しない内容になっていたり、変なリンクが追加されていたり。
もしそうなってしまった場合、下手をするとあなたのブログは信用は失ってしまうことになりかねません。

対策について

それでは対策方法を記載いたします。

この記事では初歩の対策として、「比較的簡単にできて効果が高い」と思われるものに絞っております。

最新バージョンを使う

プログラムには不具合(バグ) がつきものです。
このようなプログラムの不具合などによる、プログラムの弱点を脆弱性(ぜいじゃくせい)といいます。

WordPress を利用するメリットの一つは「更新が頻繁であり、脆弱性の対処も比較的早い」ことが挙げられます。

よく言われることですが、WordPress、テーマ、プラグインは常に最新のものを利用するようにしてください。

また、可能であれば WordPress を組み立てているプログラム言語の PHP をはじめ、周辺のソフトについてもバージョンアップできる環境であることが望ましいです。

WordPress の更新通知
WordPress の更新通知
このようなアラートが表示された場合は、速やかにバージョンアップを実施してくださいね。

パスワードを見直す

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 には投稿者の記事一覧を表示する、「投稿者アーカイブ」というページがあります。

アカウント名はここにも表示されてしまいますので、前述のプロフィール設定だけでは対策になりません。

これに対しては、便利なプラグインがあります。

Edit Author Slug
https://ja.wordpress.org/plugins/edit-author-slug/

Edit Author Slug をインストール、有効化すると、管理メニュー [ ユーザ > あなたのプロフィール ] に「Edit Author Slug」という項目が追加されます。

「カスタム設定」を選択し、任意のアルファベットを設定しましょう。

あなたのプロフィール Author Slug 設定
あなたのプロフィール Author Slug 設定

「プロフィールを更新」すると、投稿者アーカイブの UR Lには設定したスラッグが適用されます。


なお、WordPress のバージョンによっては 最初から admin というアカウントが用意されていることがあります。

これは最も狙われるこのアカウント名です。 admin というアカウントでブログを運用されている方は新しくアカウントを作成し、adminというアカウントを削除することを強くおすすめいたします。

主要なファイルを守る

WordPress には、心臓部とも言えるデータベースへの接続情報が記録された wp-config.php というファイルがあります。

これを外部から操作、閲覧できると外部から簡単にデータベースが操作されてしまいます。

ファイルが閲覧できないように 適切に権限を設定することが望ましいです。

権限の設定には FTPソフト や SSL通信できるソフトがあることが望ましいのですが、そこまでするのは敷居が高いですね。

セキュリティ対策に必須の定番のプラグイン All In One WP Security & Firewall を使って対策します。

All In One WP Security & Firewall
https://ja.wordpress.org/plugins/all-in-one-wp-security-and-firewall/

まずこのプラグインをインストール、有効化します。

主要ファイルの権限設定

プラグインをインストールするとメニューに 「 WPSecurity 」が追加されます。
その中の「 Filesystem Security 」をクリックすると次の画面が表示されます。

WPSecurity Filesystem Security 画面
WPSecurity Filesystem Security 画面

「 Set Recommended Permissions 」をクリックするだけです。

これは簡単ですね!

ログインページを隠蔽する

当記事の最後の対策です。

All In One WP Security & Firewall でログインページにも対策を行いましょう。

wp-login.php の対策

WordPress を利用しているサイトはどれもプログラムのファイル構成が同じです。

そのため、全くの部外者であっても[サイトURL]/wp-login.php にアクセスすればログイン画面を開くことが可能です。

難易度は高めですが、ログインページを変更することで、管理メニューの入り口を隠すことが可能です。

管理メニュー「 WPSecurity > Brute Force 」に遷移します。

WPSecurity Brute Force 画面
WPSecurity Brute Force 画面
  • 「 Enable Rename Login Page Feature 」にチェックを入れる
  • 「 Login Page URL 」を任意に設定する
  • 「 Save Settings 」をクリックし保存する

この後 wp-login.php にアクセスすると次の画面が表示されます。

WPSecurity にて対策後のログイン画面
WPSecurity にて対策後のログイン画面

もちろん、設定したログインページの URL を直接入力するとログインページが表示されますよ。

しかし、 設定したURLは忘れないよう、必ずメモをしてください。

xmlrpc.php の対策

もう一つ、ログイページではありませんが、ログインが可能なファイルがあります。
それが xmlrpc.php です。

これはブログの機能であるピンバックなどを行うためのファイルなのですが、このファイルを有効にしていると、攻撃を受ける頻度が高くなります。
一部機能は制限されますが、私はアクセスを禁止する設定をおすすめしております。

管理メニュー「 WPSecurity > Firewall 」に遷移します。

WPSecurity Firewall 画面
WPSecurity Firewall 画面
  • 「 Completely Block Access To XMLRPC 」にチェックを入れる
  • 「 Save Basic Firewall Settings 」をクリックし保存する

同様に、次の設定にもチェックを入れるとより良いですね。

  • Enable Basic Firewall Protection
  • Block Access to debug.log File

これで対策は完了です。

おわりに

WordPress が大変便利なツールであることは間違いありません。

PCやスマホにウィルスソフトを入れるように、WordPress にもウィルス(攻撃)の対策が必要なのです。
悲しい思いをする前に、設定を見直してみてはいかがでしょうか。

atuweb では WordPress のセキュリティ対策などご相談を承っております。 「お問い合わせ」よりご連絡ください。


Web担当者のためのセキュリティの教科書

株式会社アズジェント/中山貴禎
出版社:エムディエヌコーポレーション  発売日:2017-03-02

Amazonで詳細を見る

エンジニアのためのWordPress開発入門 (Engineer's Library)

野島 祐慈,菱川 拓郎,杉田 知至,細谷 崇,枢木 くっくる
出版社:技術評論社  発売日:2017-01-26

Amazonで詳細を見る

2017年09月28日:画像のキャプションを設定
2017年09月23日:ニックネーム変更のスクリーンショットを追加
2017年09月19日:見出しレベル誤りを修正