以下の内容はhttps://mattintosh-note.jp/entry/20251030/1761828628より取得しました。


WordPressのサイトにはCloudflareを使った方が良い

ホスティングサービスによっては WordPress 用の WAF が用意されている場合もあるけど、Cloudflare は入れた方が圧倒的に安全だと思う。

WordPress のサイトには毎日アホのように不正なアクセスが飛んでくる。主に xmlrpc.phpwp-login.php などに。

Cloudflare では国や ASN(簡単に言うとプロバイダの番号のようなもの)単位で許可やブロックの制御が出来るので IP アドレスでは対応しきれないような場合に非常に役に立つ。

特に、

あたりからの不正なアクセスが多い。オランダに関しては特に悪質なものも多いので国ごとブロックしてしまっていいと思う。

最近では Google 検索も汚染されていて駿河屋やコメリコーナンといったサイトに偽装したサイトが増えており、中には .co.jp.jp ドメインのようなものも存在し、確認してみるとトップページなんかは普通に企業やお店のページなんだけど裏で色々改変されているなんてのも見かける。

Cloudflare では下記のようなコードを書いてそれをブロック対象とすれば日本国内だけのアクセスに限定することが出来る。

not ip.src.country in {"JP"}

ただ、これでは Google や Bing などのボットも除外してしまうことになるためあまり実用的ではない。

少しカスタマイズして /wp-admin/wp-login.php といったパスへのアクセスを日本限定にすることもできる。なお、lower() は必須ではない。

(
    not ip.src.country eq "JP"
    and (
        starts_with(lower(http.request.uri.path), "/wp-admin") or
        starts_with(lower(http.request.uri.path), "/wp-json") or
        starts_with(lower(http.request.uri.path), "/wp-login.php") or
        starts_with(lower(http.request.uri.path), "/xmlrpc.php")
    )
)

既知のボット(cf.client.bot)や検証済みのボット(cf.verified_bot_category)なども使えるので下記のようにすれば、

つまり、「日本国外からのアクセスのうち、既知のボットまたは正規検索エンジンSEO 関連 Bot を除くすべてのアクセスをブロックする」というものになる。

(
    not ip.src.country in {"JP"}
)
and (
    not cf.client.bot
)
and (
    not cf.verified_bot_category in {
        "Search Engine Crawler"
        "Search Engine Optimization"
    }
)

日本国内の IP でもサクラのサーバーを利用してアクセスしてきたりもするので ipinfo.io や abuseipdb.com で調べて Hosting や Data Center になっている ASN はブロックしてしまってもいいと思う。Twitter 等と外部通信してたりする場合はそれらは許可する必要はあるけれど。

AWSAmazon)、Google Cloud Platform(Google)、Azure(Microsoft)のサーバーを使った攻撃は特に多いのでこれらの ASN からのアクセスの場合はボットのみ許可する方が良いと思われる。

(
    ip.src.asnum in {
        7224
        8068
        8070
        8075
        8987
        12076
        14618
        15169
        16509
        36040
        39111
        139190
        396982
    } and
    not cf.verified_bot_category in {
        "Search Engine Crawler"
        "Search Engine Optimization"
    }
)

上記の ASN と名称は下記の通り。Googlebot の IPBingbot の IP も参照されたし。

ASN 名称
7224 Amazon.com, Inc. (AMAZON-AS)
8068 Microsoft Corporation (MICROSOFT-CORP-MSN-AS-BLOCK)
8070 Microsoft Corporation
8075 Microsoft Corporation
8987 Amazon Data Services Ireland Ltd (AWS-GOVCLOUD)
12076 Microsoft Corporation
14618 Amazon.com, Inc.
15169 Google LLC
16509 Amazon.com, Inc.
36040 Google LLC
39111 Amazon Data Services Ireland Ltd
139190 Google Asia Pacific Pte. Ltd.
396982 Google LLC (GOOGLE-CLOUD-PLATFORM)

アナリティクスのイベントに出てきて邪魔だなぁという場合はリダイレクトを使って外部サイト(https://www.google.com/ とか)に飛ばせばイベント画面に出てこなくなるが、リダイレクトでは現時点では式ビルダーで cf.verified_bot_category が使えない。

cf.client.botSearch Engine CrawlerSearch Engine Optimization の中にもアクセスしてきてほしくないもの(Semrush や Ahrefs やら ChatGPT やら)もあると思うのでユーザーエージェントによるブロックなども併用する。

radar.cloudflare.com




以上の内容はhttps://mattintosh-note.jp/entry/20251030/1761828628より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14