WordPressで作ったブログを守るために、プラグインの「All In One WP Security」を使うことにしました。
設定画面などは全文英語です。公式には日本語化されていないようなのでそのままにしていたら、いくつかややこしいところがあったのでメモしておきます。
基本的には「これを有効にする」ってチェックするだけなので簡単でした!
もくじ
基本的にはチェックボックスをONにして保存するだけ
やることは単純で、ダッシュボードの「WP Security」設定にある全ページを確認して、「0/5」など進捗度合いがMAXになっていない箇所の完成度を上げていけばOKです。
大体の項目は「Check this If you…」と書かれたチェックボックスをONにして、「Save Settings」ボタンを押せば設定は完了します。
ニックネームを設定する
WP Security > User Accounts > Display Name
上の設定ページでは、「ログインに使っているIDをそのまま表示しちゃダメ! ニックネームを使いなさい」みたいなことが書かれています。
ダッシュボードの「ユーザー>あなたのプロフィール>ニックネーム(必須)」にユーザー名(ID)と異なる文字列を入力して、すぐ下の「ブログ上の表示名」をニックネームに設定しておけばOKです。
ログインを制限する
WP Security > User Login > Login Lockdown
このページには項目がたくさんありますね。
大体デフォルトのままでOKです。
- 「Enable Login Lockdown Feature(ログインロックダウン機能を有効にする)」のチェックボックスをONにしましょう。
- 「Instantly Lockout Specific Usernames(特定のユーザー名を即座にロックアウト)」に入力した文字列のIDでログインしようとした人を、ブロックすることができます。
私はとりあえず「admin」と入れてます。他には、例えばIDが「taro」だけどニックネームは「花子」にしてる、なんて方は、「hanako」をブロックしておくと良いでしょう。要するに不正にログインしようとする人が入れそうな文字列を先回りして設定しておくわけです。
うっかり正しい自分のIDを入力しないようにしましょう! - 「Notify By Email(メールで通知)」のチェックボックスをONにしておくと、「Max Login Attempts(最大ログイン試行回数)」に設定した回数ログインに失敗した時にメール通知を受け取ることができます。
時間経過で強制ログアウトさせる
WP Security > User Login > Force Logout
ここでは、一度ログインしたユーザーを、一定時間後に強制ログアウトさせる設定ができます。
利用する場合はチェックボックスをONにし「Logout the WP User After XX Minutes(XX分後にWPユーザーをログアウトする)」に任意の時間(分)を入力します。
(例: 24時間に設定したい場合は 840)
データベースの接頭辞を変更する
WP Security > Database Security > DB Prefix
WordPressを設置する際にDB(データベース)の接頭辞を「wp_」以外に設定していればここの設定はクリアできます。
デフォルト値の「wp_」のままにしておくのは、敵に自宅の住所を明かしているようなものです。
「wp_」のままの場合はリネームしましょう。
phpMyAdminでデータを書き換える
接頭辞を変更する場合は、まずphpMyAdminを開いて次のデータの名称を、「wp_〜」から「xxx_〜」に変更します。
(「xxx」の部分は好きな文字列に変更してください)
テーブル | フィールド | 変更前 |
---|---|---|
wp_options | option_name | wp_page_for_privacy_policy wp_user_roles |
wp_usermeta | meta_key | wp_capabilities wp_user_level wp_dashboard_quick_press_last_post_id wp_user-settings wp_user-settings-time |
上の変更が済んだら、次のSQL文を実行します(「xxx」の部分は好きな文字列に変更してください)
ALTER TABLE wp_commentmeta RENAME TO xxx_commentmeta;
ALTER TABLE wp_comments RENAME TO xxx_comments;
ALTER TABLE wp_links RENAME TO xxx_links;
ALTER TABLE wp_options RENAME TO xxx_options;
ALTER TABLE wp_postmeta RENAME TO xxx_postmeta;
ALTER TABLE wp_posts RENAME TO xxx_posts;
ALTER TABLE wp_termmeta RENAME TO xxx_termmeta;
ALTER TABLE wp_terms RENAME TO xxx_terms;
ALTER TABLE wp_term_relationships RENAME TO xxx_term_relationships;
ALTER TABLE wp_term_taxonomy RENAME TO xxx_term_taxonomy;
ALTER TABLE wp_usermeta RENAME TO xxx_usermeta;
ALTER TABLE wp_users RENAME TO xxx_users;
使用しているプラグインによっては、他にも変更が必要な箇所があるかもしれません……。
接頭辞の変更はなるべく早い段階で行った方が良いです。
wp-config.phpを編集する
既存のデータ名を変更するだけだと相変わらず「wp_〜」にアクセスしようとしてしまうので、設定を変更する必要があります。
FTPでwp-config.phpを開いて、table_prefix変数の値を「wp_」から変更しましょう。
ソース内を「wp_」で検索するとすぐ見つかりますよ。
この後サイトに正常にアクセスできて、ログインもうまくいっていれば、作業は成功しているはずです。
データベースをバックアップする
WP Security > Database Security > DB Backup
ここの「Enable Automated Scheduled Backups(自動スケジュールバックアップの有効化)」をONにすると、定期的にデータベースをバックアップしてくれるようになります。
「Send Backup File Via Email(バックアップ ファイルを電子メールで送信する)」をONにしてローカルにファイルを保存しておけば、ますます安心できますね。
パーミッションを適切に設定する
WP Security > Filesystem Security > File Permissions
ここはおそらく何もしなくても「20/20」になっていると思いますが、もしそうでない場合は、表の「Recommended Action」列にあるボタンを押してみましょう。
ブラックリストを作成する
WP Security > Blacklist Manager
特定のIPアドレスをブロックしたくなったら、ここで設定できます。
ログインページのURLを変更する
WP Security > Brute Force > Rename Login Page
「Enable Rename Login Page Feature(ログインページの名前変更機能を有効にします)」をONにすると、ログインページを「Login Page URL」に入力したURLに変更できます。
入り口じゃなさそうな文字列を設定しておけば、不正にアクセスされにくくなるでしょう。
ログインに必要なパラメータを設定する
WP Security > Brute Force > Cookie Based Brute Force Prevention
「Enable Brute Force Attack Prevention(ブルートフォース攻撃の防止を有効にする)」をONにすると、「Secret Word」に指定したパラメータを付与しないとログインできなくなります。
設定後は下記のようにアクセスする必要があります。
http://サイトドメイン/?xxx=1
必要に応じて次のチェックもONにしておきましょう。
- My Site Has Posts Or Pages Which Are Password Protected (私のサイトには、パスワードで保護された投稿やページがあります)
- My Site Has a Theme or Plugins Which Use AJAX (私のサイトにはAJAXを使用するテーマまたはプラグインがあります)
フォームの送信に一手間かけさせる
WP Security > Brute Force > Login Captcha
ここでは、ログインにまつわるフォームを送信する際に reCAPTCHA または簡単な計算をさせるように設定でき、自動化ソフト等による機械的なログイン操作を妨害できます。
reCAPTCHAを使用するには「Google reCAPTCHA」というプラグインを有効にする必要があります。
簡単な計算というのは、次の画像のようなかんじです。
ホワイトリストを作成する
WP Security > Brute Force > Login Whitelist
ここではログイン可能なIPアドレスを限定できます。
自宅のIPアドレスをたまに変更するようにしている場合など、限定できない時は無理に利用する必要はないと思います。
注意すべき項目は以上です。
基本的には、設定画面を全部見ながらチェックを入れていくだけで各種機能が有効になります。
この記事へのコメントはありません。