このところ、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
-

タグ: Amplitude, EC改善, LTV最大化, コホート分析, コラム, データドリブン, ファネル分析, プロダクト分析, リテンション分析, 行動データ活用, 高速PDCA
【Amplitude入門シリーズ第3弾】迷走する施策評価から脱却する。データ起点で「次の打ち手」を最速で導く、LTV最大化の高速PDCA -

タグ: DKIM, DMARC, SPF, カスタムドメイン, コラム, ブランド信頼性, メールマーケティング, メール配信, 到達率向上, 認証設定, 迷惑メール対策
メルマガ配信で独自ドメインが必須な理由とは?フリーメール利用のリスクと到達率への影響 -

タグ: Amplitude, ai, アプリ改善, イベントレポート, イー・エージェンシー, グロース, コラム, データ分析, プロダクト分析, ユーザー行動分析, リテンション
【イベントレポート】Amplitude Tokyo Meetup supported by e-Agency〜データが導いた逆転劇~ある企業のグロースストーリー -

タグ: エンゲージメント向上, コラム, ノーリプライ, メールマーケティング, メール配信, ユーザーコミュニケーション, リレーション構築, 受信者体験, 返信誘導, 送信元メールアドレス
まだ「no-reply」を使っていますか?迷惑メール判定を招くリスクと送信専用の代替策 -

タグ: Amplitude, ECサイト, ltv, コホート分析, コラム, データ分析, ファネル分析, プロダクト分析, リテンション分析, 行動分析, 顧客体験
【Amplitude入門シリーズ第2弾】「なぜ売れない?」に終止符を打つ。 LTV向上のボトルネックを特定する、3つの「行動分析」手法 -

タグ: エンゲージメント, コラム, コンテンツ最適化, メールマーケティング, メール心理学, ユーザー行動, 心理トリガー, 配信戦略, 開封率向上
「届いた数」で満足しない!FCMとGA4でプッシュ通知の成果を「参照元/メディア」まで深掘り分析



