爆速で解決!迷惑ボットをブロックしてサイトを守る最強の方法
How to Block Some of the Bots
How to Block Some of the Bots
サイトに悪さをするボットをブロックして、リソースの無駄遣いを防ぐための実践的なTipsを紹介します。
410エラーとレスポンスボディに「Sec-Fetch-Mode:」という文字列。これボットだって判断されてるのか?ありがとう!読むものも見るものもないから移動するわ。(うわっ、今のウェブって最悪だな!)
169.254.169.254に対して偽のcpanelサブドメインを追加するアイデアはいいな。そうすればスクリプトキディたちが自分のホスティングプロバイダーをポートスキャンし始めて、結果としてフラグを立てられたりBANされたりするだろうし。
もしこれが読めないなら、アーカイブ版が https://archive.ph/d3236 にあるぞ。
このHNのコメント欄(それに自分自身の接続試行)を見る限り、まともなトラフィックまで全部弾かれてるみたいだな。
記事の内容は素晴らしいね。個人的には、ボット問題の「デフォルトの回答」としてCloudflareが使われている現状が大嫌いなんだ。歴史上最も成功したMITM攻撃になってるからね。インターネットを維持するためには、こういう記事が必要だよ。あと、このスレッドで著者が付け加えている説明も最高に面白い。あなたは文章が上手いね。
自分のサイトへのトラフィックの99%以上はボットかエージェントだろうな。あまりに無意味だし、サイトが実際より忙しそうに見えるからページカウンターを外そうかと考えていたところだ。ただ、もし万が一、本をダウンロードしたり読もうとしたりする本物の人間までブロックしてしまうことになったら嫌だから、何もできないでいるんだけど。
「承認済み」のユーザーエージェント以外をブロックしようとするのは、既得権益化したブラウザの独占を助けてディストピアを助長しているだけだ。これこそ、RMSのような人たちが何十年も前から警告していたことだよ。問題があるなら、トラフィック量やリクエスト頻度で制限をかけるべきだ。(それに、俺もサイトにアクセスできない。いや、そんなのには従わないぞ。でも、決意のある奴ならDRMと同じで結局突破してくるはずさ。)
自分はfail2banを使ってるけど、かなりいい仕事をしてくれるよ。ただ、最初の数ヶ月は自分の環境に合わせて調整するために注意を払う必要があるけどね。自分はfailregex = ^<HOST> - \S+ [] ".*?" 40[034] という単純なフィルタを使っていて、何か検知したら特定のリストに追加するようにしている。今のところ約80個の正規表現があって、これですべてのトラフィックを止められてる。長らく40[034]フィルタをすり抜けるようなものは来ていないよ。もちろん、fail2ban(や今回のOPの解決策)の問題は、ロードバランサーやプロキシを通している場合に元のIPを取得する方法が必要で、手間がかかるってことだね。
これは自分自身も公開サイトを運営していて、かつ自分のツール用に他サイトをスクレイピングしている側の意見だけど、なんでみんなそこまでボットを気にするの?キャッシュ付きのWordPressなら、今どきの格安VPSでも秒間1000リクエストくらいさばけるぞ。まともな静的サイトならその10倍はいけるはず。ブログを配信するのにラムダかなにか使ってるの?単なる強迫性障害?それとも脆弱性保護?それともクローリングが本当にサービスに影響を与えていた昔の古い習慣かな?
どうやら私はボットらしいので、この記事を読むことができません。