1.プラグインをインストール
①SiteGuard WP Plugin
・大体のセキュリティ設定をやってくれる
【設定内容】
- インストール・有効化すると、まずはログインURLが変更されます。
プラグイン画面の上部「ログインURLを変更」をクリックし、任意のURLを指定。
- 管理画面へのアクセス制限を「ON」
- 画像認証「ON」
- 「XMLRPC防御」で「XMLRPC無効化」を選択して「ON」
②Edit Author Slug
・ユーザーIDを偽装させてログインIDを分かりにくくする
【設定内容】
- インストール・有効化します。(個別設定メニューは表示されません)
- 「ユーザー」から各ユーザー編集画面に入ると、最下部に入力画面が表示されます。
- 「投稿者スラッグ」の所で、ユーザー名でもパスワードでも無い名前をつけます。
- 念の為、『ニックネーム(必須)」の所に、任意の名前を入力します(管理者 など)
- 「ブログ上の表示名」のプルダウンを選択すると、4で設定した名前が選択できます。
これは、投稿ページに表示される名前を変更する方法でもありますが、ここを変更しないとそもそも投稿ページにユーザー名、つまりログインIDがそのまま表示されてしまうことになるので、変更は必須です。
また、何故ユーザーIDを変更するのかというと、
「http://***.com/
?author=1」というようにURLを入力すると、ユーザー番号1番の人のユーザーIDが丸見えになってしまうのです。
元々は、「ユーザー1番の人の投稿まとめページ」としても意味合いなのですが、ここでユーザーID、つまりログインIDが知れてしまったらあとはパスワードを総当りされてしまうということ。
そこで、今回のプラグインを追加することにより、もしユーザーIDが見られてしまったとしても、それは3で設定したログインIDとは全く別のものが表示される、という仕組みです。
③function.phpに追記
・ユーザーIDの表示を試みようとするアクセスURLを404ページエラーにする
【function.php】
//ユーザーIDの表示ページを404エラーにする
add_filter( 'author_rewrite_rules', '__return_empty_array' );
function disable_author_archive() {
if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
wp_redirect( home_url( '/404.php' ) );
exit;
}
}
add_action('init', 'disable_author_archive');
④adminを削除する
・wordpressを自動インストールした際は強制的に初期のユーザーIDが「admin」になってしまうが、新しくユーザーIDを作成して「admin」権限は削除する
⑤wp-config.phpのパーミッションを400に変更する
・外部からの不正書き換え禁止
⑥Disable REST API
・サイトURL/wp-json/でアクセスする際に表示される中身で悪さされる事象があった。
WP4.7以上なら修正済みだが、念の為プラグインを入れる
有効化するだけでOK
⑦basic認証
・ログインページにもう一段階認証ページを設ける
※サーバーのコントロールパネルから設定できるものは使用しない!
→htaccssが変に上書きされてしまう可能性があるため。
BASIC認証をかける手順
1.htpasswdファイルを作成する
↓ここでファイルの中身が作れる
https://kngy.net/htaccess_password_md5_hash/
※最後に改行
2.公開ディレクトリと異なる場所へhtpasswdをアップロード
3.wp-login.phpと同じディレクトリのhtaccessに以下を追記
※最後に改行
4.管理画面「wp-admin」フォルダ配下のhtaccessにも追記
※追記内容〜〜
サーバーのパスを調べる場合は、path.phpを配置してアクセスして中身を確認
※path.phpの内容〜〜
5..htpasswdと.htaccessのパーミッションは604
■webメール&ビジネスサーバー
BackWPup は最新バージョンだとエラーになる
3.4.5バージョンでインストール
backwpup→basic認証をかけていると動かない!
コメント
コメントを投稿