PR

初心者が行ったワードプレスのセキュリティを高める5項目

初心者が行ったワードプレスのセキュリティを高める5項 DIGITAL

ワードプレスの初心者です。で、やってみようかなぁと思ってやりはじめてみたのですが、思ったよりも”面倒臭い”ですよね。。

何が面倒臭いかというと、”ワードプレス独特の使用感”っていうんでしょうか、これに慣れるまでどういうわけか結構苦戦しました。

さらに、ただワードプレスをインストールしてさぁどうぞ!というわけにもいかず、色々と設定もしていかないとある程度のまともな運用すら危うい状態なんじゃないかと。調べれば調べるほど出てきますしね。

で、私自身の備忘録代わりですが、とりあえず私が実際に行ったワードプレスのセキュリティ強化5項目をお知らせします。

ワードプレス初心者がまず行ったセキュリティ強化5項目



1:Akismetの設定

毎日何百件というスパム地獄に陥らない為のスパム対策プラグイン「Akismet」の設定を行いました。初めからプラグインに入ってるので、なんだこれ、大丈夫か?と思ったのですが、もはや対応必須っぽいです。これをやらないと毎日何百件というスパム地獄に…

初めて設定する方は登録やら何やら面倒な事もあるのですが、ワードプレスで別サイトを立ち上げる時に利用出来るので頑張って登録しておくといいと思います。

2:wp−config.phpへのアクセス制限

「wp-config.php」というのは大事な大事なデータが格納されている場所で、ここを外部の人にアタックされたら”ジ・エンド”。部外者お断り!のプログラムの設定をすることで防げるそうなので、wp-config.phpと同階層の.htaccessに以下の記述を追加しました。

以下が関係者以外立ち入り禁止になる記述だそうです。

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

3:ログイン画面URLの変更

皆さんはブルートフォースアタックというのをご存知でしょうか。ユーザー名、パスワードについて考えられる全てのパターンを片っ端から試行していく典型的&古典的なハッキング手法の事だそうです。

対策も典型的&古典的になるのですが、私が行ったのはそもそもログインページのURLを変更して用意にアクセスできない場所にしてしまおうという対策です。

やり方はこちらを参考にしました。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^enter/?$ /wp-login.php?123456789 [R,L]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^dashboard/?$ /wp-login.php?123456789&redirect_to=/wp-admin/ [R,L]
RewriteRule ^dashboard/?$ /wp-admin/?123456789 [R,L]
RewriteRule ^register/?$ /wp-login.php?123456789&action=register [R,L]
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/enter
RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/dashboard
RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/register
RewriteCond %{QUERY_STRING} !^123456789
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?123456789 [R,L]
</IfModule>

上記の記述をhtaccessに追記すればokです。

・123456789=変更後の文字列
・yoursitedomain=自分のサイトドメイン

この文字列の箇所を変更すれば、

http://yoursitedomain/wp-login.php

でのログインが出来なくなって、

http://yoursitedomain/wp-login.php?123456789

でログインできるようになります。

※サーバーのphpバージョン更新や、wordpressの更新等により、htaccessが上書きされる可能性があります。更新があった際は、旧ログインURLでのログインが出来ないようになっているか確認してみるといいと思います。

こちらのURLからログインできるようになります。その他、ログインページのアクセス制限、二段階認証など、様々な対策がありますが私のレベルではごにょごにょしていて難しそうだったので、とりあえずURLの変更だけを行いました。

また、使用しているレンタルサーバーによっては海外からのアクセスを制限したり、一定時間内になんどもアクセス&ログインを試みた場合はアクセスできなくするなどのセキュリティ対策が用意されている場合もあるので適時利用してみると良いと思います。

4:ワードプレスは最新版にしておく&あやしい提供元のテーマは使用しない。

まぁ、基本ですよね。アップデートってほったからしにしてしまいがちの人もいるかと思いますが、セキュリティ対策のまったくされていないwindowsXPで桃色サイトを律儀に巡回するようなものなので、常に最新版にしておく方が良さそうです。

5:SSL対応させる。

これもまぁ、基本ですよね。

というわけで、ワードプレス初心者の私が現時点で行っているセキュリティ対策です。「それだけでは危ない!」という事もあると思いますし、自分の身を守れるの自分だけしかいないので、随時セキュリティについては勉強して行こうと思います。

そして、実践したことがあれば都度追記していきます。