“SB Intuitions Corp”という怪しいリクエストのブロック

Webサーバー サイトの管理
nginx サイトへの怪しいアクセス
ユーザーエージェントが "SB Intuitions Corp"をブロック
 
ユーザーエージェントが "Mozilla/5.0 (compatible; SB Intuitions Corp./0.1)"という、怪しいパターンのリクエストが大量に押し寄せ、急激なレスポンスの低下とアクセスログがパンクしそうになるという障害に見舞われる。
 
"SB Intuitions Corp"という怪しいリクエストをブロックした記録
 
以下、"SB Intuitions Corp"という怪しいリクエストをブロックした記録。
 
 

 

スポンサー リンク

 

 
 
 
 
 
1. 怪しいリアクセスログの内容
 
以下は、大量のログの中から1件のみを抽出した例。
 
●ホスト名またはサーバー名: $host > arakoki70.com
●クライアントIPアドレス: $remote_addr > 221.110.152.1
●認証ユーザー名: $remote_user > -
●リクエストの日時: $time_local > [23/Jan/2025:11:21:09 +0900]
●リクエストの詳細: $request _uri> "GET /www.google.com/analytics/analytics
 URI: > /www.doubleclickbygoogle.com
    /marketingplatform.google.com/about/tag-manager
    /marketingplatform.google.com/about/tag-manager
    /marketingplatform.google.com/about/tag-manager
    /www.doubleclickbygoogle.com
    /wp-content/themes/twentyseventeen-child
    /highlight/styles/tomorrow-night-blue.css
 プロトコル: > HTTP/1.1"
●ステータスコード: $status > 404
●レスポンスボディサイズ: $body_bytes_sent > 146
●リファラ(参照元URL): $http_referer >  "http://arakoki70.com/www.google.com/analytics/analytics
  /www.doubleclickbygoogle.com
  /marketingplatform.google.com/about/tag-manager
  /marketingplatform.google.com/about/tag-manager
  /marketingplatform.google.com/about/tag-manager
  /www.doubleclickbygoogle.com/"
●ユーザーエージェント: $http_user_agent > "Mozilla/5.0 (compatible; SB Intuitions Corp./0.1)"
 
※:ステータスコード:が「404」になっているのは、ブロック時に「404」のリターンコードを返し、「404」のみでアクセスログを記録した為。
 
 
 
2. このログから分かること
 
1. リクエストパターンが怪しい。
リクエストURIには、通常のリクエストには見られない
「/www.google.com/analytics/...」といった長い文字列が含まれており、悪意のあるクローラーやスクリプトによるアクセスの可能性がある。
 
 2.リファラの偽装。
リファラ「http://arakoki70.com/.../」がリクエスト元として記録されているが、
明らかに偽装されている。
 
3. ユーザーエージェント情報が一般的なブラウザのものではない。
"Mozilla/5.0 (compatible; SB Intuitions Corp./0.1)"というユーザーエージェントが使用されており、この情報は一般的なブラウザのものではなく、クローラーや自動化ツールの一種である可能性が高い。
 
以上の観点より、最近急増したAIクローラーによるアクセスではないかと思われる。
 
AIが進化するのは良いが、「サーバーを混乱させ・ログを膨らませる」大量のアクセスには困ったものだ。
 
 
 
3. 対処方法
 
nginx の location ディレクティブでブロック。
 
上記のリクエストパターンを正規表現で検出し、該当するアクセスを拒否する設定を行う。
if ($http_user_agent ~ "SB Intuitions Corp") {
    return 403;
}

if ($request_uri ~* "(google.com|doubleclickbygoogle.com)") {
    return 403;
}
 
 
参考:
 
 
 
4. リターンコードでアクセスログを分ける設定
 
次のように「リターンコード別 location ディレクティブ」を作成すれば、アクセスログをそれぞれに分離して記録できる。
    #403エラー用のカスタムページを設定し、リクエストをログに記録
    error_page 403 /403.html;

    location = /403.html {
#	access_log /var/log/nginx/crawler_block.log custom;
	return 403;
    }

    #404エラー用のカスタムページを設定し、リクエストをログに記録
    error_page 404 /404.html;

    location = /404.html {
#	access_log /var/log/nginx/404_block.log custom;
	return 404;
    }
 
 
以上。
(2025.01.23)
 

 

スポンサー リンク

 

             

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.