■サーバが重い・サーバに繋がらない 9
Zabbixからサーバについての警告
確認すると、突然ロードアベレージが上がっており、大量のトラフィックも記録されている
CPUはuser(アプリケーション)によって大量に使用されている
WordPressを使っているサイトだったので、大量アクセスが原因と思われる
アクセスログを見ると、以下ようなアクセスが大量に記録されている
ツールによるイタズラと思われる
# vi /var/log/httpd/access_log
10.2.0.253 - - [08/Sep/2017:15:27:27 +0900] "GET /course/tennis/blog/detail.php?id=7547 HTTP/1.1" 200 34005 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 340873 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:27 +0900] "GET /course/tennis/blog/detail.php?id=1402 HTTP/1.1" 200 34112 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 342551 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:27 +0900] "GET /course/tennis/blog/detail.php?id=7546 HTTP/1.1" 200 33267 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 327939 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:28 +0900] "GET /course/tennis/blog/detail.php?id=7545 HTTP/1.1" 200 33821 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 337142 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:28 +0900] "GET /course/tennis/blog/detail.php?id=7544 HTTP/1.1" 200 36823 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 381773 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:28 +0900] "GET /course/tennis/blog/detail.php?id=7543 HTTP/1.1" 200 33740 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 333276 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:29 +0900] "GET /course/tennis/blog/detail.php?id=7542 HTTP/1.1" 200 35198 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 352983 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:29 +0900] "GET /course/tennis/blog/detail.php?id=7541 HTTP/1.1" 200 33783 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 320295 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:30 +0900] "GET /course/tennis/blog/detail.php?id=7540 HTTP/1.1" 200 33501 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 327385 52.196.209.177 http
10.2.0.253 - - [08/Sep/2017:15:27:30 +0900] "GET /course/tennis/blog/detail.php?id=7539 HTTP/1.1" 200 33791 "http://www.example.com/course/tennis/blog/?paged=17" "Wget/1.14 (linux-gnu)" 334674 52.196.209.177 http
http://www.iphiroba.jp/ でIPアドレスを調べると以下の内容だった
どこかの人がAWSに立てたEC2サーバと思われる
- - - - - - - - - - - - - - - - - - - -
IPアドレス: 52.196.209.177
ホスト名: ec2-52-196-209-177.ap-northeast-1.compute.amazonaws.com
国: 日本
都道府県: 東京
市区町村: 新宿区
- - - - - - - - - - - - - - - - - - - -
ツールを名指しでアクセス制限してみた
即座に負荷が減った
# vi .htaccess
BrowserMatch "Wget/1.14 (linux-gnu)" bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot
ロードバランサー環境でIP制限する方法などは Defense.txt を参考に