【Laravel(PHP)】500回/日も不正アクセスしてきたIPと接続URLを撃退する
【Laravel(PHP)】500回/日も不正アクセスしてきたIPと接続URLを撃退する
ウチのシステムは不正アクセス防止用のブラックリスト積んでいるので勝手にアク禁にしてくれます。
でも、あまりにもACCESSの仕方が酷かったのでちょっと晒しておこうと思いこの件を記載する事にしました。
アクセスしてきたIPはカナダとドイツ
IP追跡サイトで調べた所、アクセスしてきたIPは国外のカナダとドイツ。
- 158.69.243.99
- 192.99.14.135
- 5.9.155.37
- 95.91.76.109
この4つのIPで昨日から今日まで約26時間で500アクセス
最初は「Googleさんのクロール?」とも思ったけどいくら何でもこの頻度はないだろうしXML提供してるのに全く違うURLにアクセスする事もないだろうと速攻で不正認定しました。
アクセスしてくるURL
w/026/sitemap.html/0001/0000/0000/0001/0001/0003/0004/0001/0000/0002/0001/0000/0004/0002/0001/0000/index.html/0001/index.html/0004/index.html/0004/index.html/0004/index.html/0003/index.html/0004/index.html/0002/index.html
自動処理でブラック認定するシステムが稼働しているのですが、ウチの場合は続けて10回同じエラーURLにアクセスした場合BOTによる攻撃とみなしてGoogleさんに自動リダイレクトするという仕組みにしています。
今回の事例では、間に沢山挟まっている4桁の数字が0000~0004の間で変化していて同じURLへのアクセスは4回づつくらいだったようです。
その為、自動ブロッカーが動作しなかったと。
まぁねぇ、ここら辺は匙加減をどうするかだけでキツくすると見て欲しい人に見てもらえなくなる可能性もあるので今回みたいな手動措置で補う手立てを用意しながら運営してくしかないんですよね。
ムカついたので共通で使われてる文字列を探し出して自動リダイレクトを仕込む
public function checkBlackAccess($data,$Actlogs,$BlackAccess)
{
if(strpos($data['url'],'w/026/sitemap.html')!==false){//ムカつくアクセスをブロックし出入り禁止に
$item = new Blackiplist;
$item->blackip = $data['remote_addr'];
$item->count = 1;
$item->onoff = 0;//非許可で登録
$item->save();
$value = 2;
}
switch($value ){
case 2:
$input = array('https://google.co.jp','https://www.rakuten.ne.jp','https://amazon.cn');
#自動退場※勝手にリダイレクト
return redirect(array_rand($input,1));
break;
default :
#通常処理
Actlog::create($data);
self::ErrorPageSeparater($status);
break;
}
}
これで [ w/026/sitemap.html ]を含むアドレスにアクセスしてきたら無条件でリダイレクト。
飛ばす先は Googleか楽天か中国Amazonと。
まとめ
こう言うアクセスがあると集計取ってても意味がなくなるので超ムカつきます。
アフィリエイトとってアフィリ先に飛ばしてやろうか。
でもリダイレクトってカウントされないのかな?
まぁ撃退できればどうでもいいんだけどね。


