【WordPress】 セキュリティを向上させるプラグイン

   2015/09/30   icon-clock-o読了時間:約20分2秒

WordPressを使ってブログやホームページを作っている方へ
今一度セキュリティや安全性を確認していただくための記事です。
下記目次よりご覧になりたい項目までジャンプできます。

 目次 

ログインエラー画面の例
他人のWordPressに侵入しようとしてエラーになっている状態の一例です。

プラグインのインストールの前に
セキュリティ向上のプラグインを入れる前に出来ること、しておきたいこと。

WordPress へのログイン履歴を保存するプラグイン【狂骨】
このプラグインをインストールしておくと、自分のWordPress編集画面に
誰がいつログインしたか(しようとしたか)という履歴を確認できるようになります。
上のログインエラー画面も【狂骨】によるものです。
  ∟ 閑話休題:妖怪が好き!
   【狂骨】【魍魎】などのプラグインの名前の由来と妖怪のお話。

プラグイン【Limit Login Attempts】で更にセキュリティ向上
繰り返しアタックしてくる不審者を締め出すためのプラグインのインストールと設定方法。
  ∟ リバースプロキシってなんだろう
    Limit Login Attemptsの設定の中に出てくるリバースプロキシの解説。

怪しいひとがドア(ログイン画面)をドンドン叩いている・・・

このブログはWordPressというオープンソース(無償公開)プログラムで出来ています。
弊社が借りているサーバーの中にWordPressのプログラムデータを置いて動作させているのですが、
設定変更や編集のためには自分のWordPressのログイン画面まで行ってIDとパスワードでログインする必要があります。

もちろん今日に至るまで、私ども以外がそのページから不正にログインしたことはありません。
IDはデフォルトの【admin】から変更していますし、パスワードをながーーくしているので
怪しい人が入れる確立は限りなく低いでしょう。
しかしブルートフォースアタックが流行っていたこともあり、
世の中何があるか分からないので、念のためにログイン履歴を確認できるプラグインを入れていました。
そしてある日、何気なくその履歴をのぞいたところ・・・

怪しいログインエラー
どこまで続くんだろう、と確認しながらうんざりしました。怖いですね某国…。
私どものブログやサーバーを乗っ取って面白半分で改竄されたりするんでしょうか。
それとも私どものデータを抜き取って何か犯罪的なことに使われちゃったりするんでしょうか。
とりあえずログインの扉を突破されなくて良かった、セキュリティって大事だなーと改めて思いました。

そこで、もしもWordPressをインストールしたばかりで
入れたはいいけど何が何だか良くわからない…と何の対策もしていらっしゃらない方が居たら大変なので
基本のセキュリティに役立つプラグインをご紹介したいと思います。

プラグインのインストールの前に

IDとパスワードを工夫しましょう

そもそもブルートフォースアタック( Brute Force Attack )とは
いわゆる『総当たり攻撃』(リンク先:Wikipedia)を行う自動プログラムによるクラッキングのことです。
WordPressを簡易インストールした場合、初期ID(ユーザー名)は皆さん同じ【admin (=管理者)】になっています。
これを変更せずに【admin】のままにしておくと、IDとパスワードの内、
不正ログインをしようとする相手にIDを最初から晒しているのと同じことです。
ブルートフォースアタックは初期ID【admin】を前提にしてパスワードを当てにかかってくる事が多いので、
ID【admin】・パスワード1234、なんて警戒心の欠片もない設定にしているとあっという間に突破されてしまいます。

IDは独自のものに変更して、パスワードは出来るだけ長くしておきましょう。
この組み合わせを自動プログラムで短期間突破できたら奇跡だな、と思うくらいの物がいいですね。

ここで大切なのは、ID、パスワードともに、英字だけや数字だけの並びにしないことです。
英字もしくは数字どちらかに限った組み合わせの場合、プログラムにクラッキングされる可能性が跳ね上がります。
英字と数字とを組み合わせ、出来るかぎりランダムに長い(しかし出来れば自分だけは忘れにくい)
パスワードを検討してくださいね。
大文字小文字も変えておくと尚良いのですが、私は上のしつこい攻撃を食らって以来
『 Limit Login Attempts 』(下記参照)というログインエラーを数回繰り返したら
一定時間ログインできなくなるプラグインを入れているため、
打ち間違えて自分が締め出されるのがイヤなので大文字小文字は変えていません。
より確かなセキュリティをと考えるのであれば、もちろん大文字小文字を織り交ぜていただいた方が安心です。

WordPressとプラグインを最新の状態に保ちましょう

WordPressやプラグインの開発者さん達は日々試行錯誤し、
安全性を上げたり機能を増やしたりとユーザーにとって有益な開発を行ってくれています。
管理画面で更新のお知らせが出たら、出来るだけ早くアップデートを行いましょう。
ちなみに、テーマのアップデートを行うとfunctions.phpファイルが変更されて
他のプラグインで使っていたショートコードが消えてしまい上手く動かなくなって困ることがあったりします。
あらかじめ元のファイルをダウンロードして保存するか、どこかに内容をコピーして
後で見比べて修正や復元が出来る状態にしておきましょう。

wp-config.phpのパーミッションを設定しましょう

WordPress の公式オンラインマニュアルwp-config.php の編集にも記載されているとおり、
wp-config.php ファイルは、WordPressの環境設定やデータベースの設定を行なう重要なファイルです。
そのため、WordPressをインストールした後に初期の設定で色々編集されていると思います。

パーミッションとは、そのファイルを使用する人間を“オーナー” “グループ” “その他”の3つに分類して
それぞれに権限(呼出・書込・実行)を与えるもの(=アクセス権)です。
例えば、通常であれば“オーナー”には全ての権限を与えても問題ないので、ほとんどのファイルに対して
『呼出・書込・実行』全ての権限を与えているはずです。
逆に“その他”の人達に書込権限を与えないようにしたり、“オーナー”以外は呼出もできないようにしたりと
パーミッションの設定によってファイル自体を保護することができます。
初期のwp-config.phpに設定されているパーミッションは644や705になっていると思います。
例えばこれを400にすると、そのファイルを“オーナー”を含む全ての人が書込禁止となるので一番安全かなと思います。
ご自身の使用環境(レンタルサーバーなど)によって最適なパーミッションは異なる場合がありますので
まずは詳細を確認してからパーミッションを変更してくださいね。

上記の対策を行っていることを前提として、いよいよ次はセキュリティ対策のプラグインのご紹介です。

WordPress へのログイン履歴を保存するプラグイン【狂骨(きょうこつ)】

まずはログイン履歴の監視をしましょう。
【狂骨】は誰がいつ自分のWordPress編集画面にログインしたか(しようとしたか)という履歴を
確認することができる、とても有り難いプラグインです。
この履歴に残っているのが管理者である自分自身や、ログイン権限を与えた社内の人だったりすれば問題はありません。
しかし上記のように、どこの誰かも知れない履歴が残っていると注意が必要です。

こちらのプラグインの作者・をかもと様がこちら→プラグイン【狂骨(きょうこつ)】の記事にて
詳細を紹介してくださっているので合わせてご確認ください。

WordPressのプラグインページ”Crazy Bone” からインストールして有効化すると、ログイン履歴を記録していってくれます。
現在ログインしているIPアドレス以外のIPアドレスからログインされた場合には
WordPressのダッシュボード(管理画面)の右上(こんにちは、○○さん!と表示されている辺り)に
警告のメッセージが出ます。
自宅PCで誤字を修正していて、翌日会社のPCでログインしたらこの警告が出たので一瞬びっくりしてしまいました ∑(・_・;)

IPアドレスについてのご説明はこちら ⇒ グローバルIPアドレスを調べてみよう

もしも怪しいひとが履歴に残っていたら

不正ログイン:エラー
このようにログインエラーで入れていないなら一安心ですが、念のためセキュリティを見直してみましょう。

怪しいひとの侵入をリアルタイムで見つけたら

警告メッセージでどこの誰か分からない侵入者にログインされてしまったことに気づいたなら、
大急ぎで対処しましょう。ちょっと泳がしておいてみよう、なんて呑気に構えていると
使っているのが共有サーバーだった場合に隣近所の人たちにも多大な迷惑を掛ける事になります。
それでなくてもどのファイルに何をされるか分からないので、
同じサーバーに置いてある自社HPの情報やデータを持っていかれたり書き換えられたら困りますからね。

もしもあなたが権限を持つ管理者さんであれば、急いで全てのデータをダウンロードしてバックアップを取って、
その後サーバー上から今入れているWordPressの全てを抹消しましょう。
そして新しくWordPressをダウンロードし、バックアップしたファイルの内容との差異を確認して
怪しいものを取り除きつつ、大丈夫なデータを入れ直しつつ、再度イチからWordPressを構築しましょう。

見た感じ何も変わったことがなければ、何もそこまでしなくても・・・と思われるかもしれませんが
一度IDとパスワードを破られた(知られた)からには、時間差で動作するプログラムを仕掛けられていたり、
少しずつ中身をいじられたりと、その先どんな被害を与えられるか解りません。
ベッドの下に刃物を持った強盗が居るのを知っていて、そのベッドに寝たくなんてないですよね。
そんなスリルとサスペンスを敢えて味わいたいなら止めはいたしませんが(´・ω・`; )
でも共有サーバーをお使いの場合にはその強盗がベランダ伝いに隣近所に行くことも忘れないでくださいね。
また、もしも突破されたらこうなる、セキュリティは大事だよ、という一例として
こちらも合わせてご覧ください。⇒ ※不正アクセスとレンタルサーバーのお話

また、をかもと様は狂骨以外にも便利なプラグインを提供してくださっています。
S3 にメディアを自動アップロードするプラグイン【絡新婦(じょろうぐも)

WordPress で二段階認証を可能にするプラグイン【魍魎(もうりょう)
特にこの【魍魎】は通常のWordPressログインの後、メールなどでワンタイムパスワードを発行して
2回目のログインを要求するものなので、更にセキュリティを向上させたい方は導入をご検討ください。

閑話休題:妖怪が好き!

 | ̄ ̄ ̄|
⊂・∀・ ⊃_
 .i    iノ 人_ノi
  ヽ__しノヽ>´

ここまで並べればお好きな方にはすぐ分かると思いますが、プラグインの名称が
京極夏彦氏の著した小説・百鬼夜行シリーズのタイトルにちなんだ妖怪の名前になっています。

『絡新婦の理』 『狂骨の夢』 『魍魎の匣』ですね。
この三作の中なら個人的に『狂骨の夢』が一番好きなので、
お世話になっているプラグインの名前がこれでとても嬉しいです。
たまにシリーズ通して読み返したくなるのですが、京極氏の本はどれも分厚い上に
シリーズも長く続いているので時間と勢いが要ります…。
(狂骨は確か約1000ページ、仰向けで寝転んで読むと腕が鍛えられます。しかもこれでも比較的短い方だったはず)

また、それぞれのプラグインのバナーデザインは、京極氏の小説の挿絵と同じく
狩野派の絵師・鳥山石燕(とりやませきえん)による画図百鬼夜行が使われています。
石燕は現象や空想に名前と形を与え、『日本の妖怪』という存在を確立し、
現代の妖怪モノと呼ばれる漫画(水木しげる先生が代表ですね)や小説などの創作物に多大な影響を与えています。
画図百鬼夜行はしっかりした画集はもちろん、安価な文庫版も発行されているので興味がお有りの方は是非ご覧ください。
石燕は江戸時代後期の画家であり、創作した図画はパブリックドメイン
(保護期間を満了した知的創作物、権利保持者が権利を放棄した知的創作物など)となっていますので
ネット上でも多く画像が出回っています。
水木しげるロードでテンションが鰻登り、いつか岩手の遠野にも行きたい妖怪好きな私としては
頑張ってちゃんとした画集を買いたいところです。

おどろおどろしいもの、グロテスクなものも中には有りますが、
多くは妙に愛嬌のある画風で描かれていますのでそんなに怖くはありません(たぶん)
幽谷響(やまびこ)や獺(かわうそ)、猫又あたりは、わっるーい顔をしてはいますがちょっと可愛い。
逆柱(さかばしら)を見ると、子供の頃に天井の木目が人の顔に見えて怖かったことを思い出したりもします。

ちなみに、石燕が江戸時代に身近な現象や伝承を妖怪として描いたように
現代でも密かに新しい妖怪を人々は生み出しています。
近代の有名どころではトイレの花子さんや、人面犬、口裂け女などでしょうか。
ごく最近だとこんな妖怪も。
妖怪リモコン隠しとは(出典:ニコニコ大百科)
もちろんこれはジョーク記事ですが、リモコン隠しは割とネット上で人々に認知されています。

誰かが「あれ?リモコンどこいった?クーラーつけられないんだけど!」となった時に
自分の子供にふざけて「これは妖怪リモコン隠しの仕業だな」と言ったとしましょう。
するとその子は、「妖怪リモコン隠しというオバケがいるんだ」となんとなく納得し
そしてその子が大人になって同じようにリモコンが見当たらない時に自分の子供に…
それを何代も続け、百年、二百年と口伝えに、もしくは本の中で、或いはネット上で生き続ければ
それは立派な日本の妖怪になるのでは無いでしょうか。

私は日頃『リモコン隠し』以外に、『逆さUSB』『イヤホン絡ませ』あたりに悩まされています。
USBケーブルを差し込もうとしたらコネクタに刺さらず、「あれ、ちゃんと向きを確認したはずなのに…逆だったか」と思って
逆さにして差し込もうとしたらやっぱり入らない、もう一度逆さにしたら入った!さっき入らなかったのはなんでだ!?
それが妖怪・逆さUSBの仕業。
家のパソコンに繋いでいるイヤホンが、いつも同じ向きでしか使っていないはずなのになぜかくねくねグルグルし始め、
最終的に結び目ができていたりするのは妖怪・イヤホン絡ませの仕業。そうとでも思わないと納得できない…

しかしつい最近上下の無いUSBが開発されたので、妖怪・逆さUSBはその内に居なくなってしまうのかもしれません。
果たして今いる妖怪のうち、百年後に生き残っている妖怪はどれくらい居るのでしょうか。
自分の目で生き残った妖怪達を確認できないのがとても残念です。

閑話が長くなってしまいました。
次は繰り返しアタックしてくる不審者を締め出すためのプラグインのお話です。

プラグイン【Limit Login Attempts】で更にセキュリティ向上

【Limit Login Attempts】は、ログインエラーを数回繰り返したら
一定時間ログインできないようにロックをかけるプラグインです。
ログイン入力のやり直しを許可する回数や、ロックをかける時間を指定できてとても使いやすく助かっています。
インストールページはこちら ⇒ WordPressのプラグインページ “Limit Login Attempts”

【Limit Login Attempts】設定方法

Limit Login Attempts

接続方法の確認

上の画像内にも書いてありますが、試しに右のリバースプロキシにしたところ、エラーっぽいメッセージが出ました。

It appears the site is reached directly (from your IP: ○○○)
○Direct connection     ●From behind a reversy proxy

Current setting appears to be invalid. Please make sure it is correct.
Further information can be found here



たぶん自分でリバースプロキシの設定をしていない限りはこのエラーっぽいメッセージが出るんじゃないでしょうか。
確かにいくら思い返してみてもリバースプロキシ込みの契約をしたりとか
自分でリバースプロキシの設定をしたりとか、そんなハイレベルな事をした覚えはありません。
プロキシの設定どうこうは私にはまだまだ遠い境地なので、ひとまずリバースプロキシの
後ろに隠れることは諦めて、左の●Direct connection(直接繋ぐ)にしておきます。
これがデフォルトなので別に問題ないとは思うのですが、何か問題が発生したらここでご報告いたしますね。

リバースプロキシってなんだろう

リバースプロキシ 【 reverse proxy 】とは
ある特定のWebサーバーの代わりにクライアント(ユーザー)からのアクセスを受け付ける代行(プロキシ)サーバーのひとつで、Webサイトを運営する側のネットワークに設置されるもののこと”
(出典:IT用語辞典バイナリ



らしいです。一体なんのことやら…(*´д`)??

あちらこちらのサイトさんを巡って私が理解したところによると↓こんな感じ?
プロキシの仕組み
リバースプロキシサーバーを使うということは、万が一サイバーアタックをかけられたとしても
表立って存在が知られているのがリバースプロキシサーバーだけなので
それ以上の追撃をされず、メインのWebサーバーにはなんの問題もない、ということですかね。

要するに
Webサーバー 「ふはは、かかったな!m9(・∀・) そのサーバーはリバースプロキシ、つまり影武者だ!」
みたいなことなんでしょうか(なんか違うような気もしますが)
結局よくわからないので今はそっとプロキシのことは忘れて、新たなお役立ちプラグインを探す旅に出ようと思います。

 良かったら押してみてください♥

  • このエントリーをはてなブックマークに追加
  • Pocket