WordPress の管理画面にIPアドレス制限 【Apache 2.4系】

WordPress の不正アクセスで多いのは管理画面でログインできる「wp-login.php」にアクセスが多いです。ログで確認すると海外からアクセスが多いので、WAF(Web Application Firewall)のModSecurityを導入しましたが、関係のないアクセスもブロックしているような気がするので一旦サービスが停止しました。

Apacheのログや、ModSecurityのログを見ていると、Wordpressのログイン画面の「wp-login.php」のアクセスが多いので、このファイルへのアクセスは特定のIPアドレスだけアクセスできるようにしてセキュリティ強度を高めることにしました。

WordPressの設置(インストール)されているディレクトリにある「.htaccess」を以下のように変更すると、下記の場合だと「192.168.10.50」のIPアドレスだけ「wp-login.php」のログイン画面のアクセスと管理画面の設定があるwp-adminのディレクトリにアクセスできます。それ以外のIPアドレスはアクセスできません

以下の設定はApache 2.4系の書き方です。

# apache 2.2系だと以下の書き方になります。
<FilesMatch "wp-login.php|wp-admin">
  Order deny
  allow Deny from
  all Allow from 192.168.10.50
</FilesMatch>

# 上記のApache 2.2系の書き方でも動くかと思いますが、
# Apaceh2.4系からIP制限の書き方は変わっているので、下記の書き方の方がいいと思います
<FilesMatch "wp-login.php|wp-admin">
  Require all denied
  Require ip 192.168.0.50
# 複数の場合は、以下のように複数書いていきます
  Require ip 192.168.10.80
  Require ip 192.168.12.150
</FilesMatch>



 

LinuxCentOS 7,CentOS 8,CentOS 9

Posted by admin