WordPressは世界で一番使われているCMSです。
なので、世界で一番ハッキングに狙われやすいです。
セキュリティをアップするために、IPアドレスによるアクセス制限をしましょう。
.htaccessファイルでIPアドレスによるログイン画面のアクセス制限
まずは、wordpressの直下フォルダにある
./.htaccess
ファイルでIPアドレス制限をしましょう。
SetEnvIf Request_URI ".*" UnlimitedWpLogin
SetEnvIf Request_URI ".*" UnlimitedWpComment
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<Files "wp-login.php">
order deny,allow
deny from all
allow from <アクセス制限したいIPアドレス>
</Files>
<Files "xmlrpc.php">
order deny,allow
deny from all
allow from <アクセス制限したいIPアドレス>
私は、
- wp-login.php
- xmlrpc.php
に対し、アクセス制限することにより、webブラウザによるwp-login.phpの管理画面へのアクセスを制限しつつ、
CMSアプリからの、xmlrpc.phpへの直接アクセスもIPアドレス制限します。
念のため./wp-admin/.htaccessもIPアドレス制限をする
念のため、wp-admin配下もIPアドレスによるアクセス制限をしましょう。
order deny,allow
deny from all
allow from <アクセス制限したいIPアドレス>
<FilesMatch "(admin-ajax.php)$">
Satisfy Any
order allow,deny
allow from all
deny from none
</FilesMatch>
これでwordpressアプリからも通常ログインのIPアドレス制限は出来るのですが
これで、wordpressアプリからの通常ログイン(ユーザー名・パスワードによる)もIPアドレス制限が出来ります。
しかしwordpress.comアカウント連携からWordpressアプリログイン可能
wordpressでJetpack連携している場合、wordpress.comアカウント連携有効化するとログイン出来てしまいます。
これは、二つの設定が必要です。
まずは、WorpdressアプリでIPアドレス制限がされた状態でサイト追加します
次に、wordpressの設定でWordpress.comアカウントとの連携をします
まず前提として、Jetpackプラグインが入っており、wordpress.comアカウント連携が出来ていることが前提となります。
Jetpackから上記画面のように、「ユーザーがwordpress.comアカウントを使ってこのサイトにログインすることを許可する」を有効にしましょう。(不要でした)
jetpackは、Automattic社(wordpressの会社)が提供している、”wordpressに絶対入れといたほうが良い”管理プラグインになります
最後に、wordpressアプリで設定を追加し承認します
wordpress.comアカウントと連携できていない場合、上のようなwordpressアプリの状態です。
「統計情報」をクリックしましょう。
その後、wordpress.comアカウントでログイン処理をしますと、
wordpress.comアカウントに登録しているメールアドレスに承認メールが飛びます。
メールを受信し、受信したメールに書かれているURLをクリックしますと、承認完了です。
wordpressアプリの画面は、上記のように変更され、
.htaccessのIPアドレス制限を受けなくなります。
コメント