特定のIPアドレスのみWordPress管理画面にアクセスを許可する方法
WordPressのアップデートやプラグインの更新で、「.htaccess」が勝手に書き換わる
WordPressのセキュリティ対策で管理画面へアクセスは、特定のIPアドレスのみアクセスできるように設定していますが、WordPressのアップデートやプラグインの更新の度に「.htaccess」が上書きされ特定IPのみアクセスする設定が消えてしまいます。
その都度、気がついた時に「.htaccess」のIPアクセス制限の記述を追記していますが、Apacheの設定ファイルのhttpd.confまたはVirtualHost設定に直接追加することで、WordPressのアップデートやプラグインの更新による設定の上書きを防ぎ事にしました
「.htaccess」ファイルで特定のIPアドレスのみ管理画面にアクセスする設定
特定のIPアドレスの制限の設定は、「.htaccess」ファイルに以下の設定を追加しています。特定のIPアドレスからのみアクセスを許可する設定です。
<FilesMatch "wp-login.php|wp-admin"> Require all denied Require ip x.x.x.x </FilesMatch>
「.htaccess」ファイルはWordPressのバージョンアップやプラグインの更新で上書きされることがあるため、より安全な方法としてhttpd.confやVirtualHost設定に直接設定を追加します。
「httpd.conf」または「VirtualHost設定」に設定を追加する
httpd.confまたはVirtualHost設定に、管理画面のみ特定のIPアドレスのみアクセスできる設定を追加します。
1.Apache設定ファイルを開く
私の環境ではWordpressを利用しているVirtualHostの設定は「/etc/httpd/conf.d/vhosts/example.conf 」のファイルで設定していますので、vimで編集します
$ sudo vim /etc/httpd/conf.d/vhosts/example.conf
2.VirtualHostセクションに管理画面のアクセス制限の設定を追加
VirtualHostセクション内の<Directory>セクションに、管理画面へのアクセスは特定のIPアドレスのみアクセスできる設定を追加します。
<VirtualHost *:443> ServerName example.com DocumentRoot /var/www/vhosts/example.com/html/ <Directory /var/www/vhosts/example.com/html/> Options FollowSymLinks MultiViews AllowOverride All Require all granted # wp-login.phpとwp-adminへのアクセスを特定のIPアドレスに制限する設定 <FilesMatch "wp-login.php|wp-admin"> Require all denied Require ip x.x.x.x </FilesMatch> </Directory> </VirtualHost>
3.Apacheを再起動
設定ファイルを編集したらApacheを再起動します
$ sudo systemctl restart apache2 # Ubuntu/Debianの場合 $ sudo systemctl restart httpd # CentOS/RedHatの場合
ディスカッション
コメント一覧
まだ、コメントがありません