このところ、WordPressを狙った大規模な攻撃が行われています。
こちらの記事によると
According to reports, they are seeing a large botnet with more than 90,000 servers
attempting to log in by cycling different usernames and passwords against the WordPress access points:
wp-login.php and /wp-admin.
とのことで、/wp-login.phpと/wp-adminディレクトリが狙われているとのことです。
その対策として、こちらの記事では
admin という管理者ユーザ名を変更すること *2
簡単に推測できない強力なパスワードを設定すること
の2つを推奨しています。これらも対策として非常に基本的かつ重要なことですが、会社などで利用しているのであれば、会社のIPアドレスからのみログインできるように制限を加えればより安全ですね。
そこで、nginxとapacheのIP制限についてまとめたいと思います。
nginxの場合
下記内容をnginx設定ファイルに追記します。
server { # wp-adminのIP制限。allow~に続いて許可するIPアドレスを書きます。 # deny all;の行は消してはいけません。 location /wp-admin { allow xxx.xxx.xxx.xxx; allow yyy.yyy.yyy.yyy; deny all; } # wp-login.phpのIP制限。wp-adminの場合と内容は一緒です。 location = /wp-login.php { allow xxx.xxx.xxx.xxx; allow yyy.yyy.yyy.yyy; deny all; # PHPを動作させるための設定も忘れずに書きます fastcgi_pass x.x.x.x:yyyy; などなど。。。 } } |
共通して注意したいのは、
deny all; |
をallowより先に書いてはいけません。denyが現れた段階で残りのallow行は無視されます。
wp-adminの制限はわかりやすいと思います。wp-login.phpですが、ここでは「=」修飾子を使って制限対象を「/wp-login.php」に限定しています。今回のように対象となるファイルが決まっている時には、この書き方のほうが直感的でわかりやすいと思います。また、IP制限の記述だけですとPHPとして動作しなくなるので、忘れずにPHPの設定を書いておきましょう。
設定を書き換えたら「/path/to/bin/nginx -t」を実行して設定ファイルにミスがないか確認をします。問題なければnginxを再起動します。
apacheの場合
.htaccessが使えるようであれば、下記内容を/wp-admin/に設置します。
order deny,allow deny from all allow from xxx.xxx.xxx.xxx |
また、wp-login.phpのあるディレクトリの中に下記内容で.htaccessを設置します。
<Files "wp-login.php"> order deny,allow deny from all allow from xxx.xxx.xxx.xxx </Files> |
動作確認
nginx、apacheのいずれの場合も、
- 許可されたIPアドレスから接続できること
- それ以外のIPアドレスからアクセス出来ないこと
を確認しましょう。
おまけ
WordPressのプラグインで、特定のIPアドレスから何度もログインしようとした場合に、そのIPアドレスを一定時間ブロックするものもあるようです。
固定IPアドレスがなくて制限をかけられない場合は、このようなプラグインを使うのもひとつの手です。
PICK UP
-
タグ: コラム, サテライトオフィス, テレワーク, ブログ, リモートワーク, 新しい働き方, 新しい暮らし・社会
コーポレートITが取り組む「快適・安全なリモートワーク」【前編】 -
タグ: CART RECOVERY, ITreview, shutto翻訳, コラム, 自社サービス
「shutto翻訳」「CART RECOVERY」「さぶみっと!メール配信」、ユーザーの満足度と認知度の高さでアワードを受賞!~「ITreview Grid Award 2022 Spring」 -
タグ: コラム, サテライトオフィス, テレワーク, ブログ, 新しい働き方, 新しい暮らし・社会
有楽町 森の本社オフィスがオープンしました! -
タグ: D-Lenz, DMP, DirectEngine, コラム, ニュース
【無料ウェビナー開催】データ統合プラットフォームによるデータ活用 最新事例〜お客さまをファンにするエンゲージメント・コミュニケーション〜 -
タグ: Webサイト多言語変換サービス, Webサイト改善, shutto翻訳, クラウドサービス, コラム, 自社サービス
Webサイト自動翻訳ツール【shutto翻訳】が人力翻訳機能「プロ翻訳」をリニューアル!株式会社ポリグロットリンクと連携 -
CRMツール【DATA CAST】DM自動印刷・自動発送機能をリリースしました!