amazonaws.comからのウェブアクセスをブロック。
ウェブのアクセスログを眺めていると、
からの、あまりマナーのよろしくないアクセスが散見されます。ボットやクローラーのような振る舞いですが、きちんと名前を名乗っていない。
気持ちは悪いけれど、目に見える害があったわけではない。なので長いこと放ったらかしにしていたのですが、先日、サイト内に設置している少しだけ重いスクリプトに対して、短時間に尋常ではない数のアクセスをしてきて、結果、サイトがダウン。
実質、DDoS攻撃と変わらないのよ。
というわけで、上記ホストからのアクセスをごっそりブロックしましょ。
.htaccessに以下を記述。*.amazonaws.com からのアクセスに対して "403 Forbidden" を返します。
RewriteEngine on
RewriteCond %{REMOTE_HOST} ^.*\.amazonaws\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/403\.shtml$
RewriteRule ^.*$ - [F,L]
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]
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]
読み下すと…
ということで、こんな感じの設定でしばらく様子見。
コメント