WordPressログイン画面やアプリからIP制限するには

ブログ
ブログ未分類

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アドレス制限を受けなくなります。

コメント

タイトルとURLをコピーしました