本記事には広告が含まれています。
最低限やるべきセキュリティ対策
最低限やるべきセキュリティ対策
- アドレス(URL)の設定
- wp-config.php へのアクセスを制限
- 海外からのアクセスをブロック
- コメント、ピンバックの停止
- ユーザーID、パスワードは、推測されにくいものを設定
- 表示名をニックネームに変更する
- プラグイン「SiteGuard WP Plugin」の導入
- Akismet Anti-Spam (アンチスパム)
アドレス(URL)の設定
独自SSLを導入済みの場合は、WordPressのアドレス(URL)の設定を「http://〜」から「https://〜」に変更しておいて下さい。
- WordPress管理画面(ダッシュボード)にログイン
- 【設定】【一般】で、「一般設定」画面を開く
-
WordPress
アドレス(URL)」と「サイトアドレス(URL)」の入力内容が「http://〜」になっていたら、「https://〜」に変更する。
wp-config.php へのアクセスを制限
wp-config.php
は、各種設定情報(データベースサーバーのIDやパスワードなど)が生で記述されている重要なファイルですので、外部からアクセスされると大変危険です。
対策としては、.htaccessファイル
に下記のように記述し、wp-config.php
へのアクセスを制限する必要があります。
海外からのアクセスをブロック
ハッキング攻撃のほとんどは海外からです。
そのアクセスをブロックすることで、ハッキングのリスクをかなり回避できます。
ここで注意しておきたいポイントとしては、ウェブサイト全体をブロックして「鎖国」しないこと。
ブロックするのは、「wp-admin」ディレクトリと「wp-login.php」ファイルへのアクセスのみです。 エックスサーバーなら簡単に設定できます。
WordPressのインストール方法の記事に説明がありますので詳しくをそちらをご覧ください。
コメント、ピンバックの停止
コメント機能が不要であれば、機能を停止しましょう。 「設定 →
ディスカッション」の「投稿のデフォルト設定」のチェックを全て外すと完全に停止できます。
不正アクセス防止策というよりは「コンテンツ改ざん防止策」の意味があります。
ユーザーID、パスワードは、推測されにくいものを設定
基本ですが、結構やってない人が本当に多い。
WordPressのユーザーIDは、推測されにくいものにする必要があります。
「admin」「webmaster」は論外ですし、ドメイン名にするのも「推測されにくいもの」という観点で避けた方が良いでしょう。
パスワードはランダムに10文字以上の英数字を織り交ぜた文字列を設定すべきです。
パスワードは8文字以内だとハッキングされやすいというデータもあります。
表示名をニックネームに変更する
WordPressは、ログインに使用する大切なユーザー名がブログの投稿者名として表示されてしまいます。
ログイン情報の露出を避けるため、ユーザーのプロフィールに「ニックネーム」を設定し、「ブログ上の表示名」を「ニックネーム」に変更しましょう。
プラグイン「SiteGuard WP Plugin」の導入
WordPressのセキュリティ関連のプラグインは多数存在して機能も似通っているため、どれが良いのか選定に迷ってしまいます。
また日本語対応していない海外製品が多いのも選定を難しくする要因です。
私がおすすめするのは、日本のセキュリティ会社が開発した国産のプラグイン「SiteGuard WP Plugin」です。
<機能一覧>
管理ページアクセス制限 | ログインしていない接続元から管理ディレクトリ(/wp-admin/)を守ります。 |
---|---|
ログインページ変更 | ログインページ名を変更します。 |
画像認証 | ログインページ、コメント投稿に画像認証を追加します。 |
ログイン詳細エラーメッセージの無効化 | ログインエラー時の詳細なエラーメッセージに変えて、単一のメッセージを返します。 |
ログインロック | ログイン失敗を繰り返す接続元を一定期間ロックします。 |
ログインアラート | ログインがあったことを、メールで通知します。 |
フェールワンス | 正しい入力を行っても、ログインを一回失敗します。 |
XMLRPC防御 | XMLRPCの悪用を防ぎます。 |
ユーザー名漏えい防御 | ?author=数字 のアクセスによるユーザー名の漏えいを防止 |
更新通知 | WordPress、プラグイン、テーマの更新を、メールで通知 |
WAFチューニングサポート | WAF (SiteGuard Lite)の除外リストを作成します。 |
詳細な設定方法や説明は開発元のウェブに丁寧に記載があるのでこちらをご覧ください。
プラグイン「Edit Author Slug」でユーザーIDを隠す
WordPressのインストール時に「ユーザー名」は推測されにくいものを設定するように書きましたが、実は下記のようにブログのURLの後に /?author=1
と入力すると、ブラウザのURLにユーザー名が表示されてしまいます。
https://サイトのURL/?author=1
WordPressはインストールして何も対策していないと、ログインに必要な「ユーザー名」と「パスワード」のうち1つが簡単にバレます。
Edit Author Slug の「ユーザー名漏えい防御」を設定することで、https://サイトのURL/?author=1
と入力しても、ニックネームが表示されるようになるため、ログインに必要なユーザー名を隠すことができます。
Akismet Anti-Spam (アンチスパム)
WordPressでコメント可能にしている場合は、スパムコメント対策が必要です。
一般的には「管理者がコメント1つ1つを確認し、スパムでなければ承認して公開する」という手順を行います。
これを自動化するのが「Akismet Anti-Spam (アンチスパム)」です。
定期的なメンテナンス
定期的なメンテナンス
- WordPressのバージョンは常に最新にアップデートする
- プラグインの定期的なチェック
- 定期的な自動バックアップ
WordPressのバージョンは常に最新にアップデートする
WordPressは機能改善やバグ修正、セキュリティ対策のため、頻繁にバージョンアップを行っています。
新しいバージョンにアップデートせず、脆弱性を放置したまま古いバージョンで運営を続けると、匿名ユーザーからの攻撃の標的にされ、不正ログイン等の危険性が高まります。
脆弱性のある古いバージョンのWordPressを自動的に検出して攻撃するBOTも存在します。
WordPressは常に最新のバージョンを保つことを心がけてください。
プラグインの定期的なチェック
プラグインに関しては3つの脆弱性対策があります。
不要なプラグインの削除
使用しなくなったプラグインやWordPress本体のバージョンアップに伴って動作しなくなったプラグインは削除しましょう。不要なプラグインの使用はサイトが重くなるだけでなく、セキュリティホールの原因にもなります。
更新されていないプラグインは要注意
WordPress本体がセキュリティ対策をしていても、プラグインに脆弱性が見つかればそこがセキュリティホールの原因となります。前回のアップデートから1年以上経過しているプラグインは、開発が停止する可能性もありますので注意が必要です。
公式プラグイン以外は使用しない
WordPressのプラグイン追加画面から探せるプラグインを使用しましょう。ここに登録されているプラグインは公式にレビューされ、一定のセキュリティ基準が担保されています。
定期的な自動バックアップ
WordPressの記事は大切な資産です。
バックアップ体制を整えておくと、人的ミスで誤って削除してしまった場合も安心です。
プラグインを使ったバックアップ
エックスサーバーのバックアップサービス
UX先生