WordPressのセキュリティを高めるための初心者用実践リスト

NO IMAGE

セキュリティについて調べると、それぞれについてバラバラに詳しく記載してたので、網羅的に集めてみました。

セキュリティと言えば、Akismet Anti-Spamのプラグインは使ってると思います。無料でスパムから守ってくれます。私の別のサイトは一年間で3万回以上「悪意のあるログイン」をブロックしてくれてます。

[speech_bubble type=”think” subtype=”L1″ icon=”namida.jpg” name=”著者”]結構、攻撃されてるかも?![/speech_bubble]

それだけでなく、テーマやプラグインは、Wordpress公式のものを利用する。WordPress本体やテーマ・プラグインは、最新版にしておく。サイトをSSL化する。これらをやっとかないと渋谷のスクランブル交差点で裸で立ってるのと同じです。

初心者がもう一つ必ず入れたいプラグイン

それは、All In One WP Securityです。

このプラグインを使えば何も考えずセキュリティを上げることができます。使い方はいろいろなサイトで紹介してますので、下記以外はそちらのサイトを参考にして下さい。

しかし、それでは意味も分からず作業するだけで馬鹿みたいだし、設定した後、自分がログイン出来なくなることもあります。そこで、セキュリティの核となる設定とその意味を紹介します。

WP Securityを使ってログイン画面のサイトをデフォルトから変更

サイト乗っ取りは、アカウントのログイン名とパスワードを探し当てて、単純にログインする事です。

ですので、まず初めにログイン画面のサイトを分からなくすればアカウントが知られても普通にログインが出来なくなります。

要は、玄関を見えなくするのと同じです。

ワードプレスのログイン画面のサイトは「ドメイン名/wp-admin/です。これだとサイトを閲覧してる誰でもがそのサイトのワードプレスのログイン画面を開ける事ができます。

ログイン名も投稿アーカイブを見れば分かります(後述)。後はパスワードをソフトウェアを使って無限に試行錯誤すれば簡単に開く事になります。

そこで、All In One WP Securityを使ってログインサイトurl末尾の/wp-adminを自分のオリジナル名に設定しましょう。なお、ログインした後の管理画面のサイトは/wp-adminに戻ります。

ワードプレスの設定>WP Security>Brute Force>Rename Login Pageのページを開けます。下段のチェックを入れて、その下のテキストボックスにあなたの好きな英数を入れてSaveSettingのボタンを押す。メモを忘れずに。

なんの変化もありませんが、設定終了です。

ログアウトした後、ログインするときに/wp-admin/のurlで入ると404が出ます。そこで、urlの中のwp-adminを、上記のメモしておいた英数に手入力で変更しましょう。

すると、ユーザー名入力無しの、いつものログイン画面が開きます。でもパソコンは覚えてますのでプルダウンから選べます。

投稿者に記載されているユーザー名(=管理者のログイン名)をニックネームに変える

一人でサイトを運営し、投稿してる場合、投稿も管理者のアカウントの一つで行なっている事でしょう。それだと投稿にアカウント名が投稿者として記載されてしまっています。

これだと、ログイン画面でログイン名が分かってしまうので、これではパスワードだけが守りの盾となってしまいます。

要は、玄関の鍵穴が丸見えの状態と同じですね。

一番簡単な回避方法は、投稿用のユーザーを新規登録してそのアカウントで投稿するくせをつければ、管理者のアカウント名が投稿につかなくなります。

初心者の方に是非確認してみてほしい事

しかし、これだけだと過去の投稿から丸見えで、アウトになってしまいます。一度下記のurlに自分のドメインを入れて試してみてください。

「http://Webサイトアドレス/?author=1」を入力

すると

http://Webサイトアドレス/author/ログイン名

が表れて、ログイン名が分かってしまいます。

そこで、Edit Author Slugというプラグインをインストールしました。

インストールしたらワードプレスのユーザー>あなたのプロフィールに行きます。そして一番下の「投稿者スラッグ」の欄を「カスタム設定」に切り替えて好きな英数を入力。プロフィールを更新のボタンでログイン名がかわります。

次にワードプレスの設定>Edit Author Slugのページへ。

投稿者ベースの欄を「author 」から好きな英数に変更。

さらに、一番下段の「一括更新」の欄をチェックする。すると、「投稿者スラッグ構造」という欄がでてきます。そこのプルダウンからデフォルト以外から選択して、変更を保存のボタンで終了です。

ここまで来れば、あなたは初心者卒業

ついでに「http://Webサイトアドレス/?author=1」に入力されたら、ホームページにジャンプするようにfunction.phpに下記をコピペすると良いです。

ワードプレスの外観>テーマ編集の画面でfunction.phpを探して、最下段にコピペ

// 投稿者アーカイブ非表示リダイレクト
function author_archive_redirect() {
if( is_author() ) {
wp_redirect( home_url());
exit;
}
}
add_action( ‘template_redirect’, ‘author_archive_redirect’ );

初心者でも簡単/WP Securityを使ってデータベースのプレフィックスを変更する

これはプラグインのAll In One WP Securityで変更できます。データベースを分かりやすく言うとサイトに掲載している内容や情報を収納している棚みたいなもので、その名前の前の部分がすべてwp_となっているので、それを変えようということです。

ワードプレスの設定>WP Security>Database Security>DB Backupのページを開きます。まずは、Create DB Backuo Nowのボタンでバックアップを取ってから、「DB prefix」のタブへ移動。

下のチェックと入れて、下のボタン「Chang DB prefix」を押します。何か反応するかもしれませんが、その後すぐ他のところに移動してこのページに帰ってきます。点数が10/10となっていたら成功です。もし成功していなかったら、あきらめて放置します。ここは無理は禁物です。

ついでに、ワードプレスのバージョン情報も消しておきましょう。手作業では消しきれないというコメントもあるので、プラグインに頼ります。

ワードプレスの設定>WP Security>Database Security>Setting>WP Version Infoの画面でチェックを入れて、Save Settingsボタンを押すだけです。

これから下は、レンタルサーバーによって多少違うので参考程度に。

ファイルのパーミッションの設定を変える

サーバーにあるファイルのwp-cofig.phpとか.htaccessの読み取りとか書き込みの権限の設定を変えるということです。

ほとんど、素人の私は分かりませんでした。どうもFTPサーバーで覗けるファイルのようです。(FTPサーバーが??という方はここから「WordPressブログ初心者向けの説明なのに、まったく分からない単語:「FTPサーバーにアップ」て、なに?」

FTPサーバーアプリで右クリック。そのリストの中からChange Permissionを見つけました。ファイルの属性でプロパティみたいなもののようです。要はパーミッションの日本語は「許可」ですから。

その数字には桁ごとに意味があって、調べると諸説ありましたが、あまり厳しくすると何か困るかもと思い、私は下記のように設定しました。

.htaccessは604

wp-cofig.phpは600(ワードプレスorg推奨だそうですから)

wp-config.phpのファイルに入れないよう.htaccessに書き込む

要は、このファイルにアプローチできなければ良いので、それを実行します。

FTPサーバーの「wp-config.php」と同じ階層に「.htaccess」ファイルを作成し(既にある場合は作成しない)、「.htaccess」ファイルに下記をコピペします。

<files wp-config.php>
order allow,deny
deny from all
</files>

ワードプレスとテーマ、プラグインを自動更新する

WordPress本体やテーマ・プラグインは、最新版にしておくこと、それも1週間以内にと言われても実際できないですよね。確かセキュリティ上問題が発見されたからアップデートしてるのもあるみたいで、結構、サイトでは脅されてます。

そこで、自動更新のためのhtml をfunction.phpの一番下の行に下記をコピペしました。(function.phpはもちろんダウンロードしてバックアップしてから、コピペ、アップロードしてくださいね)

//プラグインの自動更新を有効化
add_filter( ‘auto_update_plugin’, ‘__return_true’ );
//テーマの自動更新を有効化
add_filter( ‘auto_update_theme’, ‘__return_true’ );
//ワードプレスのメジャーアップグレードの自動更新を有効化
add_filter( ‘allow_major_auto_core_updates’, ‘__return_true’ );

function.phpの場所は、themeの直ぐ下だったと思います。

私が借りてるレンタルサーバーはバックアップがしっかり取られてるので安心ですが、皆さんは自己責任でお願いします。