ワードプレスは無料ブログよりセキュリティ面で劣り、脆弱性がある、といったことを聞いたことはありませんか? そこで自分の資産であるワードプレスブログを守るためにできることを紹介します。
1、ログインユーザー名をブログに表示させない
ログインのユーザー名をもしブログのどこかに表示されていたらかなり危険です。例えばこのブログだと、記事下のユーザープロフィールや関連記事の上に誰が書いたのか名前が表示されるようになっています。
これがもし、ログインのユーザーと同じものを使っていたら外部に大事なパスワードのひとつを教えてあげてるのと同じことです。
もしログインのユーザー名が表示されているようだったら、管理者画面でニックネームを作成して、「ブログ上の表示名」をニックネームに指定すればユーザー名が非表示になります。
あとユーザー名を「Admin」といったありきたりなものにするのもアウトです。
2、ログインを二段階認証にする
最近すっかりお馴染みになったログイン時のツールといえば二段階認証。Gメールなどではもはや必要不可欠ですよね。
でもなぜかワードプレスにはあまり使われていません。よく考えると、メールはちゃんと保護しようとするのにブログはしないっていうのもおかしな話ですよね。
ワードプレスにも二段階認証のプラグインがあるので、安全対策をしたい人はぜひ使ってみてください。おすすはこちら。
3、ログインミスのヒントを無効にする
ログイン時にユーザー名、またはパスワードを間違えると、「エラー・ユーザー名(あるいはパスワード)が無効です」というメッセージが表示されます。
これもログイン、パスワードのどちらかが正しいことをハッカーに教えてしまう重要なヒントとなるので危険です。これを非表示にするにはfunction.phpに下記の記述を追加しましょう。
function no_wordpress_errors(){ return 'ハッキング行為はやめましょう!'; } add_filter( 'login_errors', 'no_wordpress_errors' );
これでヒントの代わりに「ハッキング行為はやめましょう!」のメッセージが表示されるようになります。この文章は自由に決めていいです。
4、ログインのURLを変更する
ワードプレスの管理者画面はデフォルトで、「www.domain.com/wp-admin」や「www.domain.com/wp-login.php」などになっています。
これをそのまま使っていると、誰でも簡単にログインページにアクセスできることになるのでとても危険です。
これを変更するには以下のコードを.htaccessにコピペします。
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^enter/?$ /wp-login.php?free [R,L] RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^dashboard/?$ /wp-login.php?free&redirect_to=/wp-admin/ [R,L] RewriteRule ^dashboard/?$ /wp-admin/?free [R,L] RewriteRule ^register/?$ /wp-login.php?free&action=register [R,L] RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php RewriteCond %{HTTP_REFERER} !^(.*)domain.com/wp-admin RewriteCond %{HTTP_REFERER} !^(.*)domain.com/wp-login\.php RewriteCond %{HTTP_REFERER} !^(.*)domain.com/enter RewriteCond %{HTTP_REFERER} !^(.*)domain.com/dashboard RewriteCond %{HTTP_REFERER} !^(.*)domain.com/register RewriteCond %{QUERY_STRING} !^free RewriteCond %{QUERY_STRING} !^action=logout RewriteCond %{QUERY_STRING} !^action=rp RewriteCond %{QUERY_STRING} !^action=register RewriteCond %{QUERY_STRING} !^action=postpass RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L] RewriteCond %{QUERY_STRING} ^loggedout=true RewriteRule ^.*$ /wp-login.php?free [R,L] </IfModule>
「domain.com」を自分のURLに置き換え、「free」の部分を好きな文字列にすれば完了です。
以上の場合だと、「www.affiliate-signal.com/wp-login.php?free」でログイン画面にアクセスすることができます。
こちらの記事を参考にさせていただきました。
>>セキュリティ向上のためのWordPress管理画面のログインURLカスタマイズ方法
5、データベースの接頭辞wp-を変える
ワードプレスのデータベースの接頭辞はデフォルトで「wp_」から始まるように設定されています。
これもデフォルトのものを使っていると、データベースにハッカーからの攻撃を受けやすくなるのであまりよくないです。
変更するには直接データベースをいじることもできますが、慣れていない人はプラグインを使うと簡単にできすよ。
僕が使ったのは「Brozzme DB Prefix」。使い方はすごく簡単で、インストールしたら「New Prefix」のところに好きな文字列を入力してボタンを押すだけです。
もちろん必ず、変更する前にデータベースのバックアップを取っておくようにしましょう。データベースの接頭辞を変更したらプラグインは削除して大丈夫です。
6、セキュリティプラグインをインストールする
ワードプレスにはセキュリティを強化するプラグインがあるので、それを利用するのもおすすめです。僕は「iThemes Security」を使っています。
使う前は気づかなかったんですが、結構、ブログには特定のファイルに過剰なアクセスとかがあってそれをこのプラグインは検知、ブロックしてくれます。やっぱり常に脅威にさらされているんですね。
まとめ 自分の資産ブログは自分で守ろう!サーバーに任せきりは危険
ワードプレスのセキュリティについては実は僕も結構甘く見ていました。サーバーがバックアップを取ってくれてるし、何かあってもリカバリーできるだろうと思っていたんです。
ところが最近、海外サーバーに放置していたブログのコンテンツが突然、全部文字化けする、という事態に陥ってしまいました。
ハッキングされたのかどうかは不明ですが、どうやらデータベースが改ざんされ、テキストの文字が全て「???????」に変えられてしまったのです。
もちろんサーバーに問い合わせをしました。そしてデータベースのバックアップをダウンロードしたんですが、バックアップのデータベースもすでに改ざんされた後のものしか残っておらず、結局修復ができず終いで泣きました。
そのサーバーはブラジルのサーバーだったので対応も最悪で、「サイトの管理は客に責任がある」との一点張りでほとんど話を聞いてくれませんでしたね。
僕が海外サーバーならサポートや安全面で信用できるサイトグラウンドを使うべきだ、というのはそういう理由があるんです。
ただ、こんな事態が起こるのはなにも海外サーバーだけじゃないですよ。日本のサーバーでもときどき何日もダウンしたり、大規模な障害が発生したり、ハッキングのリスクだってあります。
そんなときどこまで保障してくれるかは分からないので、やはり自分でできることは自分でやったほうがいいですよ。