amazonaws.comからのウェブアクセスをブロック。

ウェブのアクセスログを眺めていると、

からの、あまりマナーのよろしくないアクセスが散見されます。ボットやクローラーのような振る舞いですが、きちんと名前を名乗っていない。

気持ちは悪いけれど、目に見える害があったわけではない。なので長いこと放ったらかしにしていたのですが、先日、サイト内に設置している少しだけ重いスクリプトに対して、短時間に尋常ではない数のアクセスをしてきて、結果、サイトがダウン。

実質、DDoS攻撃と変わらないのよ。

というわけで、上記ホストからのアクセスをごっそりブロックしましょ。

.htaccessに以下を記述。*.amazonaws.com からのアクセスに対して "403 Forbidden" を返します。

RewriteEngine on
RewriteCond %{REMOTE_HOST} ^.*\.amazonaws\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/403\.shtml$
RewriteRule ^.*$ - [F,L]

読み下すと…

「敵のIPアドレスを特定して、ファイアウォールで当該IPをブロック」という方法が採れればいちばん良いのだけれど、この人たち、IPをころころ変えつつアクセスを繰り返してくるので、IPでブロックする手法は不採用。

また、.htaccess で 変数 : REMOTE_HOST が使えるかどうか(IPアドレスからホスト名を引けるかどうか)はウェブサーバの設定に依るのでご確認を。

さて。

上記の設定は「*.amazonaws.comからのアクセスを根こそぎブロック」するものですが、それらの中に、どうやら真っ当なフィードリーダーっぽいユーザエージェント名を持ったアクセスが存在しています。来訪頻度も常識的なので、その人たちはブロックしない設定に変えてみます。

RewriteEngine on
RewriteCond %{REMOTE_HOST} ^.*\.amazonaws\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/403\.shtml$
RewriteCond %{HTTP_USER_AGENT} !freshrss [NC]
RewriteCond %{HTTP_USER_AGENT} !feedeen [NC]
RewriteRule ^.*$ - [F,L]

読み下すと…

ということで、こんな感じの設定でしばらく様子見。

カテゴリ: