WordPressの「/?author=1」をブロックする
本番環境のアクセスログを見てみたら「/?author=1」があったので調べてみたときの覚書。
環境: CentOS7.8, nginx 1.18.0
このアクセスは管理者ユーザーIDを知るためのハッキング手法。
ログを見た感じauthor=1, author=2, author=3と定期的に試している。
アクセス頻度は多くない。一日100件弱。
ログイン時に2段階認証をしているので無視してもいいのだけれど、簡単に対応できるならやってしまいたい。
参考サイト
nginxの設定ファイルだけで対応する。
上記サイトを参考に追記。
location / {
try_files $uri $uri/ /index.php?$args;# Deny ?author= attack
if ($args ~* author=) {
return 403;
}
$argsはGetパラメータが文字列で入っている。
「~*」は大文字小文字を区別しない正規表現。
Getパラメータに「author=」という文字列があれば拒否する設定。
全文はGistで。