macoblog

「ゲーム × プログラミング」で生きていく

毎週金曜夜22時〜LIVEやってます

WordPressのセキュリティ対策まとめ+ハッキング被害を受けた話

WordPress

WordPressユーザー

サイト管理者
「WordPressでセキュリティ対策について調べるとたくさんありすぎる、とりあえずどうすれば一番いいのか用途に合わせて教えてもらえると助かるんだけど、、、」

こんな要望に応える記事になります。
本記事では、WordPressのセキュリティ対策について解説しています。初心者の方でも簡単に出来て安全な方法をピックアップしております。

「ハッキングされる前に読もう」

目次【本記事の内容】

スポンサードサーチ


まさか自分のサイトをハッキングする奴なんて、、、

まさか自分のサイトをハッキングする奴なんて、、、

ハッキング被害の話はいらない、セキュリティ対策について早く知りたいという方は読み飛ばしてください。
>>WordPressのセキュリティ対策まとめ

「セキュリティを破られた」「ハッキングされた」なんてのはよく聞きますが、他人事のように考えていませんか?

まさかよりによって自分のサイトが狙われるなんてと思っている方は要注意、ネット上にある以上「まさか」なんてのは通じません、普通に起こりうることです。

知人のサイトがハッキングされた話

誤解を招かないよう先に言っておきます、本記事を書いている私はハッキング被害を受けたことはありません、WEBでご飯を食べている人間がハッキングされたなんて笑えませんので、、、

ハッキングを受けたのは知人のサイトで、ちょうど先月の出来事でした、まさか自分の周りからハッキング被害を聞くことになるとは。

メールで総当たり攻撃を受けていると通知があり、最終的にハッキングされまして、投稿した記事の半分以上が勝手に削除されたようです。

知人は「記事が削除された」と残念がっていたものの、それ以外特に何もなさそうと安心していました。しかし、このパターンがハッキング被害で一番怖いんです。

被害箇所を特定できて安心しない事

今回の場合「記事が削除される」という被害を受けた事が分かりました、これって分かりやすいですよね、投稿した記事が半分以上消えていれば誰でも気付くと思います。

ハッキングした人間はなぜ分かりやすい部分に手を加えたのか、他の部分から気を逸らすためとは考えられませんか?

記事削除に気を引かせておいて、本命はファイル内にバックドアを仕掛けること、また侵入できる入り口を用意することが目的だった可能性も否定できません。

「ハッキングされた > 記事を消された > 記事を復元した」これで終わりと考えるとまた被害に遭います、可能であれば全ファイル改ざんされていないかチェックしましょう。

それがメンドクサイならセキュリティ対策はしっかりしましょうという話です。

WordPressのセキュリティ対策まとめ

WordPressのセキュリティ対策まとめ

WordPressでしておくべきセキュリティ対策について解説。

共通して気を付けること

目的が何であれ、WordPressでサイト構築している以上気を付けなければいけない事がいくつかあります。

その1:ユーザーIDは推測されにくいものを用意する

これってよく聞くことなんですが、意外と守っていない方が多いんですよね。

[admin],[webmaster]なんかは論外ですね、ここを推測しにくいものに変えるだけでセキュリティの強度はグッと上がります。

その2:パスワードは10文字以上+数字

8文字以下はハッキングしてくださいと言っているようなものです、ハッキング被害を受けた知人はパスワード8文字で突破されています。

「自分で考える = 推測しやすい」とも言えますので、一番良いのはパスワード生成ソフトなどで不規則な文字列を用意してもらうこと、自分で入力するのは難しくなりますが、セキュリティ強度は段違いです。

その3:アップデートをしっかりする

WordPress本体やプラグインの更新はほったらかしにせずしっかり行いましょう、更新プログラムには必ず意味があります。

アップデートには機能追加だけでなく、セキュリティ周り(脆弱性へのパッチ)も含んでいるのでそのままにしているのは危険です。

その4:プラグインの使用は極力控える

WordPress本体がセキュリティ対策をしていても、プラグインに脆弱性が見つかればそこがセキュリティの穴となります。

これを解決するのに一番手っ取り早いのが、使用するプラグインの数を減らす事、数が多いとメンテナンスも大変ですしサイトも重たくなったりで良いことがありません。

便利さを取るかセキュリティを取るかよく考えてみてください、ちなみに私は10個以下で収まってます、これについてはWordPressのおすすめプラグイン9選+1。WEB系エンジニアが語るが参考になるかと。

個人で管理する場合

個人でサイトを管理している場合は2段階認証を導入するだけでセキュリティ強度をガチガチにできます、本サイトでも導入しています。

Google Authenticator

ユーザーIDとパスワードが分かっても二段階認証を突破できなければ無意味です、攻撃対象にもなりにくくなります、無理に攻撃するより二段階認証を設定していないサイトを狙った方が遥かに楽ですからね。

複数人で管理する場合

複数人でサイトを管理する場合は二段階認証だと不便なのでオススメできません、代わりにAll In One WP Security & Firewallを使ってセキュリティ強度を上げましょう。

細かく設定できるのでかなりセキュリティを強くすることができます、全て設定する必要はなく、これから挙げる箇所を設定するだけでも十分効果が得られます。

ログイン時のセキュリティ強くする

ログイン時のセキュリティ強くする

User Login > Login Lockdown

上記を参考に設定してください、設定項目については簡単に解説しておきます。

  • Enable Login Lockdown Feature:設定を有効化する(これを選択しておかないと設定できない)
  • Max Login Attempts:ログインの最大試行回数の設定(3回くらいが目安)
  • Login Retry Time Period (min):ログイン試行時間
  • Time Length of Lockout (min):ログイン試行失敗時のロックアウト時間(30分から60分が目安)
  • Instantly Lockout Invalid Usernames:特定のユーザーIDでログインしようとした際にロックアウトさせる
  • Instantly Lockout Specific Usernames:ロックアウトさせるユーザーIDの登録(1行に1ユーザーIDを記述する)

ログインリンクを変更する

ログインリンクを変更する

ログイン画面のリンクは/wp-admin/となっているので誰でもアクセスできます、このリンクをオリジナルのリンクに置き換えることでセキュリテイを上げることができます。

Brute Force > Rename Login Page

「Enable Rename Login Page Feature」にチェックを入れて、下の「Login Page URL」に/wp-admin/の代わりとなる文字列を入力します。
(例:cmsと入力しSaveすると、ログインリンクは〇〇.com/cms/になる)

WordPress内のファイル編集・追加・削除を検知させる

WordPress内のファイル編集・追加・削除を検知させる

Scanner > File Change Detection

  • Enable Automated File Change Detection Scan:設定を有効化する
  • Scan Time Interval:スキャンの実行間隔を設定する
  • File Types To Ignore:スキャン対象外の拡張子を登録、一行に拡張子を一つずつ(拡張子の例:jpeg,jpg,png,gif,css,scss,map,po,mo
  • Send Email When Change Detected:設定の有効化、検知した際の送信先メールアドレスの登録

※バックアップフォルダを設定している場合は「Files/Directories To Ignore」にそのフォルダを設定する。

とりあえず今挙げたものを設定しておけば安心です、今回解説しなかった箇所も設定しておくと尚良し、詳細についてはググってください。

スポンサードサーチ


海外からのアクセスをブロックする正しい方法

海外からのアクセスをブロックする正しい方法

セキュリティ対策として色々解説してきましたが、もう一つオススメの方法があります。

それは、海外からのアクセスをブロックすることです。

WordPressサイトがハッキング攻撃を受ける時はほとんどが海外からなので、それを断ち切ることで狙われない様にするというのが狙いです。

ただ一つだけ注意する点があります、ブロックするページはログインページのみです、海外からのアクセスを全ページブロックするのは大きな間違いです。

海外からのアクセスをブロックする時は、必ず「wp-login(wp-admin)」に限定して行うようにしましょう。

サーバー管理画面から簡単に設定出来るはずなので一度ご利用のレンタルサーバーを確認してみてください、なければhtaccessを使って設定する方法もありますのでご安心を。

ってな感じで記事は以上になります。