ZAKI LABO(ザキラボ) Youtubeチャンネルもよろしくね!

自分のサイトはしっかり守ろう!簡単にできるからやっといた方が良い WordPress セキュリティ対策

自分のサイトはしっかり守ろう!簡単にできるからやっといた方が良い WordPress セキュリティ対策

ブロガーのみなさん。早速ですがWordPressのセキュリティは対策していますか?

記事を必死で書き、PV数を毎日気にして、収益を出してくれている自分のブログ。そんなブログがクラッカーの手によってめちゃくちゃにされたらどうでしょうか?テーマの改ざんだけならまだしも、WordPressサイトがクラックされると、もれなくデータベースまで弄くられます。

無数にあるデータベーステーブルのどこかにバックドアになるようなコードが埋め込まれ、知らぬ間に踏み台や、データ改ざんが行われていたり。データベースバックアップをしっかり取っていない限り、完全な復帰はまず無理だと思います。

そういったクラックされたサイトで、マルウェア等のコードを仕込まれたサイトはGoogleは検知し、アクセスを遮断もします。
それはすなわち、これまで育ててきた自分のサイトの評価が下がる事も意味しています。

  • データベースを改ざんされると復帰が難しい(改ざん箇所の特定がほぼ無理)
  • バックドア等で踏み台にされる事でサーバーリソースの以上消費
  • Googleによるアクセス遮断(SEO的損失)
  • 復旧に掛かるリソース 等

どうですか?これまで手塩にかけて作ってきた自分の城(ブログ)がこうなるとかマジで勘弁ですよね。

という訳で今回は、珍しく本業のWEB屋の目線から、簡単にできるセキュリティ対策を紹介していきます。
ちなみに、セキュリティについてはこれやってるから安全!というのはまず無いので、これから紹介するものはあくまで、クラックの可能性を下げるモノという認識で読んでいただければ幸いです。

今回使用するプラグイン

All In One WP Security & Firewall

今回、メインで使用するプラグインです。セキュリティの対策は色々と項目があるのですが、このプラグインでは様々なセキュリティを設定する事が出来ます。
項目が多いのでちょっと複雑に感じるかと思いますが、すべてをやる必要はなく、自分の環境に沿って選んで対策ができるので便利です。WEB最作の現場では、かなり有名なプラグインです。

今回の解説では、主にこのプラグインを使った設定をご紹介するので入れておきましょう。

ログインURLを変更する

まず、WordPressのログインURLは簡単にわかります。特にディレクトリを変えていなければ

http://example.com/wp/wp-login.php

がWordPressのログインURLです。/wp/の部分を変えていても、ソースを見れば簡単にわかります。まず、大切なログイン画面がむき出しになっているのは大問題だと思います。結構有名なサイトさんでもこれ全然対応してない事多いのです。

ログインのURLの変更はプラグインの方で簡単に変更出来ます。特にシステム的に不具合が出るような事も無いと思うので変えて起きましょう。

サイドメニュー>WP セキュリティ > 総当り攻撃 より

ログインURL変更

上記のように有効化にチェックをつけ、任意の英数字に変更する事ができます。これにより
http://example.com/wp/wp-login.php でアクセスをしてもログインページは表示されなくなります。

ログインURLは自分しか知らないはずなので、ログイン画面への総当り攻撃に対応出来ました!
※ちなみにこの設定をした後にあやまってhttp://example.com/wp/wp-login.phpにアクセスした場合、リダイレクトループが発生してログインが出来なくなる事があります。その場合はキャッシュを消すかブラウザ再起動をしましょう。

ログイン施行回数の制限

次に、ログイン施行を連続で行える回数を制限します。どういう機能かと言うと

ID/PWを一定数間違えた場合、同一IPから一定期間ログインを禁止する

という機能になります。いろんなWEBサービスでもこれは標準的に実装されていますね。それぐらい重要です。先程設定したログインURL変更とセットで行いましょう。総当り攻撃とは、パスワードを機械的にランダムで生成し、とにかく何度もログイン試す方法です。

そんなのめったに当たらないだろう…ていうのは大間違い。実際、WordPressをクラックされるのはこの手法が本当に多いです。
クラックされた後にアクセスログを見ると、短い時間に無数にログインを施行しています。BOTを使ってやってるので、自動でノーガードならば

1日しないぐらいで簡単に破られるんじゃないでしょうか?

サイドメニュー>WP セキュリティ > ユーザーログイン より

ログイン施行回数の制限

とりあえず「ログインロックダウン機能を有効化」にチェックを入れるだけでも効果があります。これを設定する事で、同一のIPが連続でログインを行う事を防げます。一定数間違えた場合は、ロッグダウン状態になり、そのIPからはログイン自体を禁止します。

また、メールで通知を利用すると、ロックダウンを検知したさいに管理者宛にメールで知らせる事も出来ます。アタックが行われている事がわかり、その後の対策もしやすいのでONを推奨します。

この対策は、前述したログインURLとセットで行う事でより、ログイン画面を強固にできるので必ず設定しておきたいです。
ただし、アタック側も、こういった機能があるのはわかっているので、一定期間でIPを変える等を行うため完璧ではありません。
あくまで、アタックの回数をへらすものです。

ユーザーIDを秘匿する

これは以外といろんなサイトで対応していない事が多いです。実はWordPressは管理者のIDを簡単に知る事が出来ます。自分のサイトのURLのお尻に

/?author=1

という文字列をコピペして、アクセスしてみましょう。すると、無対策だと、該当するユーザーID番号のユーザーが書いた記事の一覧が表示されるはずです。

そしてそこにはガッツリユーザーログインIDが表示されています。

このIDがバレる事で総当り攻撃が破られる可能性がグンと上がります。だってあとは機械的にPWを生成して総当りすればいいだけなんで。

この”/?author=1″というクエリーで表示される、ユーザーページをアクセス不可にしてしまうという対策です。

これに関しては、前述したプラグインでは出来ず、使っているテーマ内のfunctions.phpにコードを記載する必要があります。

function disable_author_archive_query() {
  if( preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING']) ){
    wp_redirect( home_url() );
    exit;
  }
}
add_action('init', 'disable_author_archive_query');

上記コードをfunctions.phpに追加しましょう。テーマによっては記載するphpの終了タグを確認する必要があるのでご注意ください。
※間違えるとたぶんサイトが真っ白になります。その時は戻して確認しましょう。

最後に

というわけで、とりあえず最低限やっといた方がよいセキュリティ項目をご紹介しました。割とブロガーさんのサイトを見ているとこの辺をノーガードで運営している方が多いです。毎月収益を出してくれている自分のかわいいかわいいブログをそんなぞんざいに扱ってはいけない!!!!

最後に、どう対策していてもクラッカー達は何かしら方法を見つけてアタックを行います。プラグインやWordPressを最新にしておく事もセキュリティの一つです。(なかなかプラグインは難しいけどね)

というわけで、最終手段はアタックを受けていない期間のバックアップからのレストアになります。この場合記事の巻き戻りも起こりますしできればしたくありません。しかし、万が一クラックをされた場合、クラックされたデータベースから悪意のあるコード等を完全に取り除くのは不可能だと考えます。

というわけで対策と共にせめて月イチのバックアップは自動で取って起きましょう。

オススメのプラグインは以下です。

 

BackWPup – WordPress Backup Plugin

自動で取得するスケジュール機能の他、使用しているオンラインストレージに定期的にアップロードする事も可能です。最低でも、サーバー内にバックアップファイルを毎月取るような設定はしておきましょう!


セキュリティ対策は他にも沢山あります。IP制限をしたり、国の制限をしたり等が割とポピュラーですかね。ただ、レアケースですがプロキシーが挟んでるケースとか色々環境によりけりな部分もあるんで、とりあえず今回紹介した3つぐらいは最低限やっておきましょう。

以上!!

雑記カテゴリの最新記事