特定URLに多い不正アクセスに対する対策は「.htaccess」で処理する

この記事は約2分で読めます。

tensouryouzouka.jpg3月26日の対策で「/m/index.cgi」にアクセスが集中してサーバの「CPU時間が増大」という問題はひとまず解決した。しかし、別の問題が置きていた。
それはWEB転送量が増加したのである。これまで1日あたり2GB程度の転送量しかなかったのに、10GBくらいにまで増加していた。

CPU時間は減少したがWEB転送量が増加

541995946.jpg

/m/index.cgiへのアクセスは「54.199.50.46」からである。これはIPアドレスで調べるとアマゾンのサーバだった。

IPアドレス 54.199.50.46
ホスト名 ec2-54-199-50-46.ap-northeast-1.compute.amazonaws.com

「amazonaws.com」はアマゾンが運営するクラウドのVPSサーバである。このIPアドレスだけ拒否することも考えたが、スパムサイトだけでなく、健全な運営者が利用している場合も想定できるのでIPアドレスによる拒否はやめた。

代わりに検討したのが特定ファイルにアクセスした場合に転送量の少ないエラーページを表示する方法である。

cputeikatensouryouzouka.jpg

WEB転送量が増加した原因は「404エラーページを表示」だと考えられる。現状の404エラーページはそれなりにページ内容が多いため表示するために転送量が増加したのではないだろうか。だとすればこの「/m/index.cgi」にアクセスがあったときには404エラーページではなく、非常に軽いエラーページを表示させたほうが影響が少ないのではないか。
そう考えて実施したのは以下の対策である。

実施した対策

「/m/index.cgi」にアクセスがあったときに、「/m/error/」というページを表示させることにした。このページは単に「error」と表示するテキストを置いてあるだけなので、表示しても転送量は少ない。

「/m」に設置した「.htaccess」の中身

mhtaccess.jpg

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule index.cgi /m/error/ [R=301,L] </IfModule>

この処理の結果、
https://dm2.co.jp/m/index.cgi
にアクセスすると
https://dm2.co.jp/m/error/
にリダイレクトがかかり
error
と表示されるようになった。

これでしばらく様子を見ることにする。