WordPressはインストールすると使えるようになりますが、初期設定ではセキュリティ対策はされていません。
アクセス数の少ない個人サイトは狙われにくいでしょうが、少しアクセスが増えて来た場合や、会社として運営する場合は最低限のセキュリティ対策が必要となっていきます。
この記事では、簡単にできる範囲である程度の効果のある方法を紹介します。対象は、個人サイトまたは中小企業サイト向けです。それ以上の規模になると、本格的に取り組む必要がありますので、別のページを探してください。
ユーザー名を知られなくする
ユーザー名が特定されると、パスワードが推測できればログインされてしまいます。実は初期設定で、URLの後ろに(?author=1)入力すると、リダイレクトされてユーザー名がフォルダ名として表示されてしまいます。
対策として、そのページにアクセスがあると、リダイレクトされて404ページに移動するようにします。
functions.phpに、下記を付け加えてください。
if( $_GET[‘author’] || preg_match(‘#/author/.+#’, $_SERVER[‘REQUEST_URI’]) ){
wp_redirect( home_url( ‘/404.php’ ) );
exit;
}
}
add_action(‘init’, ‘disable_author_archive’);
必要プラグイン
セキュリティを高めるプラグインは多くありますが、日本語で設定できて効果の高いのが、「SiteGuard WP Plugin」です。
プラグインの追加から、「SiteGuard WP Plugin」を検索してインストール後、有効にしてください。
画像の通り、設定箇所はたくさんあります。主に3つ紹介します。
管理ページの入り口の変更
初期設定のログインページは、/wp-login.php や /wp-admin/ ですが、
そのアドレスを、login_00000(任意の5桁)などに変更可能です。
これにより、入り口に辿り着けなくします。
ログイン回数制限
ログインに3回(設定可能)したときに、一定時間(設定可能)サイトを止めることができる。
これにより、総当たりプログラムによるログインを防ぎやすくなります。
画像認証
ログイン時に、画像認証を追加できます。やはり、総当たりプログラムによるログインを防ぎやすくなります。
ちなみに、パスワードが単純な4桁だった場合、3秒で解析可能だそうです。簡単な6桁でも数分、8桁でも数時間で解析可能です。
セキュリティをガチガチに高めると使いにくくなるので、必要のない機能は設定によりOFFにできます。大体3個~5個くらい設定しておけば無難でしょう。
また、完全にセキュリティを高めるには複数のプラグインを入れる方法もあります。デメリットとして、知識がいること、管理が大変になることと、英語の設定で分かりずらい点があります。
ファイルのパーミッション
WordPressの最も重要なファイルはwp-config.phpで、設定情報などが書かれています。初期に設定されているパーミッション(アクセス権)は(インストール方法にもよりますが)緩くなっています。
wp-config.phpのパーミッション
所有者のみ呼び出しか可能なのが、400です。
それでは表示されない場合もあるので、404のどちらかにします。
フォルダのパーミッション
フォルダのパーミッションも変えることもお勧めします。
フォルダ:705
WAFを有効にする
WAF(ウェブ・アプリケーション・ファイアウォール)の設定を有効にすると、Webサイトを不正な攻撃から守ることができます。設定は、契約しているレンタルサーバー側で行います。
下の画像はさくらインターネットですが、各サーバー会社のコントロールパネルにて設定箇所があります。
パスワードは推測されない8桁以上
上記の「ログイン回数制限」や「画像認証」導入すれば、総当たりプログラムによる攻撃は防げます。しかし、推測されやすいパスワードだと、ドンピシャで命中することもあります。
特に、1111や1234、誕生日や電話番号などは危険が伴います。
大文字や特殊記号の組み合わせで、より複雑にして、可能であれば桁数を増やすことをお勧めします。
常に最新版の利用
WordPressの本体や、テーマ、そしてプラグインも常に最新の状態にしてください。何かしらのセキュリティホールが見つかって改善した結果、更新として配布しているケースが多くあります。
更新方法は、管理画面にお知らせしてくれるので、気が付けばその都度行うとよいでしょう。
最新版にすることのデメリットはほぼありません。一部、プラグインが動作しなくなるケースもありますが、その場合は別のプラグインを探すなどの対応が必要です。
また、使っていないテーマやプラグインは標的にされるケースもあるため、削除しておいた方がよいです。
念のため定期的にバックアップを取っておく
万が一、攻撃されてファイルが破壊されても、バックアップを取っておけば大切な記事などを復元することができます。月に1回などのペース、投稿記事や画像はローカル環境に残しておくと安心です。
バックアップ方法は、プラグインを使う方法と、管理画面メニューのツール→エクスポートから行えます。
まとめ
ちょっとした心構えでできることばかりですので、WordPressを使うなら是非ともチャレンジしてください。