これだけはやっとく!ワードプレスのハッキング対策
Web集客の仕組み化コンサルタント 林宏保です。
ワードプレスってホームページやブログを公開するのに最適!とお考えの方も多いと思います。
ですが、その「セキュリティ」について見落としてしまっている(見ないようにしている)人が多いのが現実なんです。
その結果、気づいたらハッキングされていた!ということに冗談ではなく、本当になる可能性があります。
それによって被害を受けるのは、自分だけではありません。
サイト停止で自分が営業機会を損失することもありますが、ブログの読者さんがお金を騙し取られてしまうことも実際にあります。
でもさ・・・いざとなったら、レンタルサーバー会社に交渉すれば何とかなるでしょう!
と思うかもしれませんが・・・残念ながら何ともなりません。というよりもレンタルサーバー会社は何もしてくれないんです。
それどころか、ハッキングされ、ウイルスに感染している疑いが晴れるまでサイトは停止。
修正したら再度公開してやる、というスタンスなのです。
はい、全部、数年前の私の経験談です(痛)。
ITのプロを自負していた自分でも、その対処はなかなか大変でした。。。。
あくまで一個人の意見ですが、サイトをハッキングされたら、専門家でない人がググりながらもとに戻せる可能性はほとんどありません。
であるならば!
せめて、ここで紹介することを「予防策」として、何も起きていないときに実施してほしい!
そう思って書きました。
これによってハッキング被害が少しでもなくなりますように!
それではどうぞ!
管理画面アタック対策
ID・パスワード変更(難易度:低)
ワードプレスの管理者用ID。
特に指定しなかった場合、ワードプレスをインストールした後、たいていの場合、
admin
という管理者ユーザのままで、管理画面にログインしているかと思います。
このadminユーザ、ハッカーにまず狙われる部分なので、これを変更します。
インストール時に指定した
admin
は名前の変更ができないので、
- ユーザ「admin」で管理画面にログイン
- 「権限グループ」=「管理者」で別名のユーザを新規追加
- ログアウト
- 作成した新ユーザでログインした
- 「admin」の削除
の手順で変更してください。
次は管理者用のパスワード。
管理者ユーザを変更しても、 パスワードがユーザ名と同じだと ハッキングされる可能性が高くなります。
というのも、ユーザ名は記事の投稿などで公開されてしまうからです。
たとえば管理者ユーザが 「admin1」だとして、
パスワードも「admin1」と設定すると・・・
これは、ハッカーがまず最初に試すパターンです。すぐに突破されてしまうでしょう。
次はワードプレスに設定しているドメイン名をパスワードにして試されます。
容易に想像できるものは、とにかくNGです。
パスワード 生成
でググってみれば、たくさんのパスワード生成サイトがありますので、そこで複雑なパスワードを作ってください。
それをパスワードに指定しましょう。
そして必ずメモして忘れないように(笑)
画像認証用プラグイン導入(難易度:中)
具体的には下記プラグインを導入します。
SiteGuard WP Plugin
こちらはインストール、有効化したら、「画像認証」機能を有効化しましょう。
下記のように管理者ログイン画面に画像認証がつきます。
またデフォルトで管理画面のURLが変更になりますが、ご自身がそのことを忘れてしまう可能性があるので無効にしておいてください。(よりセキュリティを強化したい、URLを覚えていられる、という場合はその限りではありません)
ファイルへのアクセス対策
海外からのアクセス制限(難易度:低)
レンタルサーバーで設定する機能になりますが、
おそらくどのレンタルサーバーにも管理画面に対して、海外からのアクセスを制限する機能がついています。
後ほど説明する『Wordfence』というプラグインを導入すると、
サイトの管理画面へのアタック、つまり、不正アクセスの試み
をレポートで知ることができます。
それを確認すると、不正アクセスは圧倒的に海外からのものが多い。それはもうビックリするくらいあります。
あなたが日本に住んでいて、日本からしか管理画面にログインする機会がないなら、
「海外IPアドレスからのアクセス」を制限してください。
これだけでもだいぶ不正アクセスを食い止めることができるはずです。
WAFの設定(難易度:低)
続いては、
Webアプリケーション・ファイアウォール(WAF)
と呼ばれる不正アクセスを検知、ブロックする機能についてです。
WAFを有効にすることでハッカーからの不正なアクセスを防ぐのに役立ちます。
ほぼすべてのレンタルサーバーでWAFを利用できるようになっています。
ですが、設定はセルフサービス。
ワードプレスをインストールしたときには有効になっていません。
ただ、安心してください。設定はそれほど難しくはありません。
ぜひトライしてみてください。
設定の仕方はレンタルサーバーごとに異なります。
マニュアルがあるはずなので、そこから探しても良いですが、
(レンタルサーバー名)+WAF
とググってみれば、だいたい出てきます。
さくら WAF
とか
ロリポップ WAF
とか
エックスサーバー WAF
とググってみてくださいね。
ファイル、フォルダのパーミッション最適化(難易度:中)
パーミッションというのは、ワードプレスがインストールされているレンタルサーバー上の
「ファイル」「フォルダ」
に対して
私/私の所属するグループの人/第三者
が
読む/書く/実行する
ことができる『権限』のことです。
ワードプレスをインストール後、次のようなファイル構成になります。
このパーミッションを
ファイルは 604=自分が読める・書ける+第三者が読める
フォルダは 705=自分が読める・書ける・実行できる+第三者が読める・実行できる
に設定します。
設定はFFFTPやFilezillaなどの「FTPソフト」からか、
レンタルサーバーの管理画面からになります。
例外として
ファイル:wp-config.phpは400(または600)
フォルダ:wp-content/themes、wp-content/uploadsが 705(ダメなら707)
となります。
レンタルサーバーにより若干異なることがあるので、設定後は、必ず動作確認しましょう。
.htaccessファイルの変更(難易度:高)
そしてココがワードプレスの設定の最大のキモ。
ハッカーたちに狙われるのは、このアクセス権限の甘さが原因だと言っても過言ではありません。
.htaccess
という名前のファイルの中身を変更します。
頭に以下を追加してください。
# wp-config.phpと.htaccessとerror_log、php.iniと.htpasswdをアクセス拒否
<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>
# wp-mail.phpとinstall.phpとxmlrpc.phpをアクセス拒否
<FilesMatch "^(wp-mail\.php|install\.php|xmlrpc\.php)">
Order allow,deny
Deny from all
</FilesMatch>
# wp-includesをアクセス拒否
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# ディレクトリ一覧の非表示
Options -Indexes
# フォームから不正なscriptタグを入力しても実行処理しない
Options +FollowSymLinks
RewriteEngine On
# <script> タグ
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# PHP グローバルに関連するもの
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# _REQUEST を変更しようとするもの
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
#マッチしたURLへのアクセスを禁止("403 Forbidden"のレスポンスを返す)
RewriteRule ^(.*)$ index.php [F,L]
ファイルの変更の手順は、
- FTPソフトからオリジナルファイルをパソコンにダウンロード
- ダウンロードして複製
- パソコン上でコードを修正
- FTPソフトでレンタルサーバーにアップロード
になります。
FTPソフトの代わりに、レンタルサーバーのファイル管理画面(ファイルマネージャー)からも可能です。
そしてもう一つ。
ワードプレスにアップされる
画像、プラグイン
が格納される
/wp-content/uploads/
というフォルダにも.htaccessファイルを配置します。
ただし内容は以下のように簡単なものでOKです。
# 画像ディレクトリでPHPの実行を防ぐ
<Files *.php>
deny from all
</Files>
ちょっと難しいな・・・と思ったら、わかりそうな人をつかまえてお手伝いをお願いしましょう。
使用していないプラグインの削除(難易度:中)
有名なプラグインは実は、ハッカーが攻撃の的にしやすい「穴」になります。
つまりそこにウイルスファイルを配置されて、そこから侵入されてしまうことがあります。
なんとなく入れているけど、全然使っていないプラグインがあれば、まずは『無効化』してみてください。
1ヶ月間たって、サイトの運用に支障がないなら、削除しましょう。
不正アクセス監視プラグイン導入(難易度:低)
次のプラグインを導入しましょう。
Wordfence Security – Firewall & Malware Scan
インストール、有効化したら、サイト全体を一度「スキャン」して、その時点でウイルスに感染していないかを確認しましょう。
有効化した後は、異常が発見された場合に、自動で登録したメールアドレスにアラートが来ますので、しっかり確認してくださいね。
また週次でレポートが送られてきますので、例えば海外からの不正なアクセスがないかどうかをチェックします。
仮に不正アクセスがあっても、自動でブロックしてくれます。
ただしすでにハッキングされ、サイトにウイルスが仕込まれている場合は、改ざんされてしまうので、ここで紹介している他の方法と一緒に使用してください。
ワードプレス、プラグイン、テーマの定期的なアップデート(難易度:中)
ワードプレスはソフトウェアなので、
バグ
と呼ばれるプログラムの欠陥の修正や、
新機能
が盛り込まれたアップデート(更新版)がリリースされます。
バグの中にはハッカーから攻撃されやすい
「脆弱性(ぜいじゃくせい)」
が含まれるため、定期的にアップデート(バージョンアップ)することが望ましいのです。
ただし・・・・
アップデートをすると、稀にではありますが、今まで動いていたものが動かなくなる、あるいは、今まで表示されていたものが表示されなくなってしまうということが起こることがあります。
そのため、ワードプレスを設定した業者さんから、
「アップデートしないでくださいね」
「触ってはダメですよ」
と言われる方が結構いらっしゃいます。
動かなくなってしまうリスクを避ける、という意図だと思いますが、それがかえってハッカーからの攻撃を受けやすくするという別のリスクを生んでしまいます。
なのでできるだけアップデートをしましょう。
ただしアップデートの前提として
定期的なバックアップ
をしてください。(後述をご参照ください)
バックアップは、いざというときに過去のある時点に戻すためにあります。
万が一のハッキング後対策
バックアップ用プラグイン導入と定期的なバックアップ(難易度:中)
バックアップとは、
システム異常や装置の故障などによるデータの破損に備えて、ディスクの内容を複製し、別の記憶装置やメディアに保存すること。
※出典:ASCII.jpデジタル用語辞典
ハッキングされたときにまず考えなくてはいけないのは、
ハッキングされる前の状態に戻すこと
です。それはどうやって??
というと、あらかじめ別のメディアに保存してある
「バックアップ」からの復元
になります。
バックアップがない場合は、
ハッキングされた状態から、一つずつウイルスを自力で取り除いて復旧させなくてはいけません。
これ、とっても大変なんです。
なのでバックアップは必ず取りましょう。
ワードプレスがインストールされたレンタルサーバーにあるファイルなら定期的にバックアップしているよ!
という場合も注意が必要です!
なぜなら、ワードプレスは
ファイルだけでなく、データベースにもコンテンツが格納されているからです。
このデータベースは、ファイルのあるフォルダとは別のところにあります。
なので、
ファイルとデータベース
この2つのバックアップが必要になります。
そこで、ワードプレスのプラグインである
BackWPUp
を導入してバックアップを取りましょう。
バックアップの頻度は週に1回、
10世代(=10週間前まで)もあれば良いでしょう。
そして、バックアップを保存する場所ですが、
できれば、外部メディアであるDropboxなどに保存します。
通常はレンタルサーバー上のワードプレスをインストールしたフォルダに置かれるのですが、
ハッキングされた場合、バックアップも何らかの操作されてしまう可能性があるからです。
BackWPupの設定画面から簡単に連携可能です。
転んだ後の杖としてぜひバックアップは取っておいてください。
ウイルス・クリーニング用プラグイン導入(難易度:低)
ハッキングされた後、ウイルスで汚染されたファイルをクリーニングするためのプラグインをあらかじめ導入します。
と言っても、前述の『Wordfence』がその役目を果たしてくれますので、すでに導入してあれば何もする必要はありません。
より強力にクリーニングしたい場合は別のクリーニング用プラグインを追加で導入します。
私は
Anti-Malware Security and Brute-Force Firewall
を入れています。
いかがでしたか?ちょっとむずかしいな・・・と思ったら迷わず、専門家に相談してください。
問題が起きると被害が読者に及んでしまうことをお忘れなく。
あなたのサイトを守るのは、レンタルサーバー会社の責任ではなく、あなたの責任です。
専門家に頼んだらお金はかかりますが、いざハッキングされて事故が起きたら、その何倍ものコストがかかります。
自分というブランド価値を損ねることにもなり、営業的な機会損失も計り知れません。
ワードプレスでサイトを作ったら、ハッキング対策をお忘れなく。
コメントする