IT Notebook

とあるエンジニアの備忘録

ApacheのWebサーバに対して"Mozilla/5.0 Jorgee"というUserAgentにいろいろ探られている件

f:id:makaaso:20171103190844p:plain:w200

最近アクセスログを確認したところ攻撃を受けていることを確認。今のところ特に抜き出された様子はないが、このままほっておけないので対応。

攻撃を受けてたログ

163.22.88.133 - - [15/Sep/2017:10:35:38 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:40 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/sqlmanager/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:41 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/mysqlmanager/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:42 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:43 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpMyadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:43 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpMyAdmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:44 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyAdmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:45 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:45 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin3/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:46 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin4/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:47 +0900] "HEAD http://XXX.XXX.XXX.XXX/2phpmyadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:47 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmy/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:48 +0900] "HEAD http://XXX.XXX.XXX.XXX/phppma/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:49 +0900] "HEAD http://XXX.XXX.XXX.XXX/myadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:49 +0900] "HEAD http://XXX.XXX.XXX.XXX/shopdb/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:50 +0900] "HEAD http://XXX.XXX.XXX.XXX/MyAdmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:51 +0900] "HEAD http://XXX.XXX.XXX.XXX/program/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:51 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:52 +0900] "HEAD http://XXX.XXX.XXX.XXX/dbadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:53 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:53 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:54 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:55 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:55 +0900] "HEAD http://XXX.XXX.XXX.XXX/database/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:56 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/phpmyadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:57 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/phpMyAdmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:57 +0900] "HEAD http://XXX.XXX.XXX.XXX/sqlmanager/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:58 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysqlmanager/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:35:59 +0900] "HEAD http://XXX.XXX.XXX.XXX/php-myadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:00 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmy-admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:00 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysqladmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:02 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql-admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:04 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/phpmyadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:05 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/phpMyAdmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:06 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/sysadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:06 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/sqladmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:07 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/db/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:08 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/web/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:09 +0900] "HEAD http://XXX.XXX.XXX.XXX/admin/pMA/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:09 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/pma/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:10 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/db/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:11 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/web/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:11 +0900] "HEAD http://XXX.XXX.XXX.XXX/mysql/pMA/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:12 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/phpmanager/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:13 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/php-myadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:13 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/phpmy-admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:14 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/sql/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:15 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/myadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:15 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/webadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:16 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/sqlweb/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:17 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/websql/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:18 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/webdb/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:18 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/sqladmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:19 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/sql-admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:20 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/phpmyadmin2/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:20 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/phpMyAdmin2/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:21 +0900] "HEAD http://XXX.XXX.XXX.XXX/sql/phpMyAdmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:22 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/myadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:22 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/webadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:23 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/dbweb/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:24 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/websql/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:24 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/webdb/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:25 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/dbadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:26 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/db-admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:27 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/phpmyadmin3/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:27 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/phpMyAdmin3/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:28 +0900] "HEAD http://XXX.XXX.XXX.XXX/db/phpMyAdmin-3/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:29 +0900] "HEAD http://XXX.XXX.XXX.XXX/administrator/phpmyadmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:29 +0900] "HEAD http://XXX.XXX.XXX.XXX/administrator/phpMyAdmin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:30 +0900] "HEAD http://XXX.XXX.XXX.XXX/administrator/db/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:31 +0900] "HEAD http://XXX.XXX.XXX.XXX/administrator/web/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:32 +0900] "HEAD http://XXX.XXX.XXX.XXX/administrator/pma/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:32 +0900] "HEAD http://XXX.XXX.XXX.XXX/administrator/PMA/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:33 +0900] "HEAD http://XXX.XXX.XXX.XXX/administrator/admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:34 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpMyAdmin2/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:34 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpMyAdmin3/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:35 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpMyAdmin4/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:36 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpMyAdmin-3/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:36 +0900] "HEAD http://XXX.XXX.XXX.XXX/php-my-admin/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:37 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2011/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:38 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2012/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:38 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2013/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:39 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2014/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:40 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2015/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:40 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2016/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:41 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2017/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:42 +0900] "HEAD http://XXX.XXX.XXX.XXX/PMA2018/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:43 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2011/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:44 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2012/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:44 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2013/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:45 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2014/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:46 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2015/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:46 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2016/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:47 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2017/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:48 +0900] "HEAD http://XXX.XXX.XXX.XXX/pma2018/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:48 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2011/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:49 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2012/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:50 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2013/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:50 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2014/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:51 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2015/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:52 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2016/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:52 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2017/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:53 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmyadmin2018/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"
163.22.88.133 - - [15/Sep/2017:10:36:54 +0900] "HEAD http://XXX.XXX.XXX.XXX/phpmanager/ HTTP/1.1" 301 - "-" "Mozilla/5.0 Jorgee"

対応方法

  • .htaccessなどの設定ファイルに、UserAgentの末尾に"Jorgee"が含まれていたら403で返す
<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{HTTP_USER_AGENT} ^(.*)Jorgee$
  RewriteRule .* - [F]
</IfModule>

参考

Pingdomの契約を解除する件

f:id:makaaso:20171108044932p:plain:w200

以前Pingdomを年間契約したのですが、今後使わなさそうなので契約を解除しました。その時の手続きについてのメモとなります。

Pingdomとは

  • Webサイト監視サービス
  • 登録したURLに対してヘルスチェックを行ってくれる
  • 死活監視・レスポンスタイムなどの監視をしてくれて、必要に応じて通知してくれる

なぜ解約するか

  • 多分、世界中の複数の箇所から定期的にヘルスチェックを行っている
  • たまにサイト的には問題が発生していないが、障害と検知してしまうことがあり
  • その都度原因調査するのが面倒なため

解約手順

①「Subscription」を選択して、②「Manage Plan」を選択

f:id:makaaso:20170911144955p:plain

③ 「Manage Subscription」の「Cancel my account」を選択

f:id:makaaso:20170911145005p:plain

④「What makes you want to cancel your Pingdom account?」のチェックを一つ入れて「Next」を選択

f:id:makaaso:20170911145016p:plain

⑤「Nothing to monitor?」のチェックを一つ入れて「Next」を選択

f:id:makaaso:20170911145029p:plain

⑥「Cancel account」を選択して完了

f:id:makaaso:20170911145036p:plain

Sorry to see you go ...

f:id:makaaso:20170911144920p:plain

最後に

  • 今はMackerelのURL監視を利用してます

ELB配下でのApacheのIPアドレス制限方法

f:id:makaaso:20171108044117j:plain:w200

AWSのELB配下のEC2のApacheで送信元IPアドレス制限をかけるにはちょっとした工夫が必要です。

通常のApacheのIP制限

例えばApacheで「/wp-admin」に「999.999.999.999」からのアクセスのみ許可する場合、次のような設定になります。

<Location /wp-admin>
  order deny,allow
  deny from all
  allow from 999.999.999.999
</Location>

しかしながら、ELB配下でEC2のApacheIPアドレス制限を設定する場合は、送信元のIPはELBになってしまうので別の方法で設定する必要があります。

ELB配下でのApacheのIP制限

ELB配下のEC2のApacheで送信元のIPアドレスで制限する場合は、本来の送信元IPアドレスを「X-Forwarded-For」ヘッダーから取得する必要があります。

<Location /wp-admin>
  SetEnvIf X-Forwarded-For "999\.999\.999\.999.*" allowed_ip
  Order Deny,Allow
  Deny from all
  Allow from env=allowed_ip
</Location>

複数の場合は「SetEnvIf」を追加するだけです。例えば、IPアドレス「999.999.999.999」「888.888.888.888」からのリクエストのみ許可する場合はこんな感じ。

<Location /wp-admin>
  SetEnvIf X-Forwarded-For "999\.999\.999\.999.*" allowed_ip
  SetEnvIf X-Forwarded-For "888\.888\.888\.888.*" allowed_ip
  Order Deny,Allow
  Deny from all
  Allow from env=allowed_ip
</Location>

以下の記事を参考にさせて頂きました。

ELB配下のApacheでのアクセス制御

ElastiCacheのRedisのrdbファイルのバックアップ方法

f:id:makaaso:20171108044502p:plain:w200

こんにちは。 今度システムリプレースでElastiCacheのRedisのデータを移行しなくてはならず、ElastiCacheのRedisのrdbファイルをどのように取得するのか調査しました。サーバ上であればbgslaveで一発なのですが。。。

EC2上にRedisをインストールしてレプリケーション

EC2上にRedisをインストールして、ElastiCacheのRedisからレプリケーションできるのではないか。それが可能であればEC2上でbgslaveでrdbファイルを簡単に取得できると思った。

※こんなイメージ

Master(ElastiCache-Redis) ---> Slave(EC2-Redis)

SlaveのRedisのコンフィグ

■「/etc/redis/6379.conf」にslaveofを追加
slaveof <ElastiCacheのRedisのDNS> 6379

■Redis再起動
service redis_6379 restart

しかしながら、Slaveで以下のようなエラーが出力されつづけてしまう。

[4382] 10 Jun 11:29:57.091 * Connecting to MASTER <ElastiCacheのRedisのDNS>:6379
[4382] 10 Jun 11:29:57.092 * MASTER <-> SLAVE sync started
[4382] 10 Jun 11:29:57.095 * Non blocking connect for SYNC fired the event.
[4382] 10 Jun 11:29:57.097 * Master replied to PING, replication can continue...
[4382] 10 Jun 11:29:57.102 * Partial resynchronization not possible (no cached master)
[4382] 10 Jun 11:29:57.105 * Master does not support PSYNC or is in error state (reply: -ERR unknown command 'PSYNC')
[4382] 10 Jun 11:29:57.105 * Retrying with SYNC...
[4382] 10 Jun 11:29:57.108 # MASTER aborted replication with an error: ERR unknown command 'SYNC'

エラーを調べると、「AWS Developer Forums」でこのような記事を発見! Export redis data - unknown command 'sync'

よくよく見ると、ElastiCacheのRedisの2.8.22以降はRedisのSYNCコマンドがDisableにされているとのこと。ちーん。

結論

ElastiCacheのRedisの2.8.22以降は、EC2のRedisへのレプリケーションはできない。

ElastiCacheのRedisのバックアップをS3にコピー

ということで他の方法を模索。以下の記事を発見!ElastiCacheのRedisのバックアップをrdbファイルとして、S3にへ転送できるとのこと。

ほんとにこの通りにやるとS3へrdsファイルを作成することができたので、詳細は割愛させて頂きます。

【新機能】Amazon ElastiCache – RedisのスナップショットをS3にエクスポートする

S3のrdbファイルを元にして、ElastiCacheの起動はまだ試したことないがそのあたりは色々情報があるので多分大丈夫。なんとかシステムリプレースを乗り越えられそうで一安心です。

NginxとTomcatの連携させた時にハマった件

f:id:makaaso:20171108045107p:plain:w200

先日Tomcatで直接受け付けていたサーバをNginxで受け付けるようにして リバースプロキシでTomcatへ渡す設定した時にハマったので、その時の備忘録となります。

ハマったこと

  • リパースプロキシ設定は特に問題なかったが、ログインするとなぜか「 127.0.0.1 で接続が拒否されました。 」と表示されエラーとなる。

対応

  • リバースプロキシの前に「 proxy_set_header Host $http_host; 」を設定する。

初期設定

server {

...

    location / {
    proxy_pass http://127.0.0.1:8080;
  }
}

変更後設定

server {

...

    location / {
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:8080;
  }
}

※参考

NginxでCSSファイルが更新されない時の対応について

f:id:makaaso:20171108045350p:plain:w200

以前CSSファイルが更新されないという減少が発生した時の対応となります。

原因

  • Nginxで「sendfile on;」というパラメータが有効になっていた。

このパラメータを有効にしていると、kernelのシステムコール「sendfile」を使用して、kernel内にファイルを複写するようです。

対応

vi /etc/nginx/nginx.conf
---
    sendfile off;
---
sudo service nginx restart

デフォルトはoffのよう。いつ設定されたのかは不明。。。

Linuxのプロンプトにホスト名を表示する方法

f:id:makaaso:20171108050330j:plain:w200

Linuxのプロンプトにホスト名を表示する方法

Amazon Linuxのデフォルトのプロンプトはこんな感じです

[ec2-user@ip-10-10-10-10 ~]$

このサーバのホスト名を「test1」とした場合、以下のようなコマンドでとりあえず実行すると変更されるのですが

[ec2-user@ip-10-10-10-10 ~]$ sudo hostname test1
[ec2-user@ip-10-10-10-10 ~]$ exec bash
[ec2-user@test1 ~]$

再起動するとまた元に戻ってしまいます

[ec2-user@ip-10-10-10-10 ~]$

以下のように修正すれば再起動後でも反映されます

[ec2-user@ip-10-10-10-10 ~]$ sudo vi /etc/sysconfig/network
----------
HOSTNAME=test1
----------
[ec2-user@ip-10-10-10-10 ~]$ sudo init 6

再起動後ログインしたら変更される

[ec2-user@test1 ~]$

サーバを設定するときにたまにググっていたので、備忘録的な記載となります

sysbenchコマンドサンプル

f:id:makaaso:20171108050903p:plain:w200

sysbenchのコマンドサンプル。自分用にメモ。

CPU処理性能

sysbench --test=cpu --cpu-max-prime=20000 --num-threads=16 run > sysbench_cpu_16.txt
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=128 run > sysbench_cpu_128.txt

Disk処理性能

sysbench --test=fileio --file-total-size=10G prepare
sysbench --test=fileio --file-total-size=10G --file-test-mode=seqwr --num-threads=16 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_16_seqwr.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=seqrewr --num-threads=16 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_16_seqrewr.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=seqrd --num-threads=16 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_16_seqrd.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=rndrd --num-threads=16 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_16_rndrd.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=rndwr --num-threads=16 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_16_rndwr.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=rndrw --num-threads=16 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_16_rndrw.txt

sysbench --test=fileio --file-total-size=10G --file-test-mode=seqwr --num-threads=128 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_128_seqwr.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=seqrewr --num-threads=128 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_128_seqrewr.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=seqrd --num-threads=128 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_128_seqrd.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=rndrd --num-threads=128 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_128_rndrd.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=rndwr --num-threads=128 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_128_rndwr.txt
sysbench --test=fileio --file-total-size=10G --file-test-mode=rndrw --num-threads=128 --file-block-size=16384 --init-rng=on --max-time=60 --max-requests=0 run > sysbench_fileio_128_rndrw.txt
sysbench --test=fileio --file-total-size=10G cleanup

Memory処理性能

sysbench --test=memory --num-threads=16 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=read --memory-access-mode=seq run > sysbench_memory_16_read_seq.txt
sysbench --test=memory --num-threads=16 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=read --memory-access-mode=rnd run > sysbench_memory_16_read_rnd.txt
sysbench --test=memory --num-threads=16 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=write --memory-access-mode=seq run > sysbench_memory_16_write_seq.txt
sysbench --test=memory --num-threads=16 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=write --memory-access-mode=rnd run > sysbench_memory_16_write_rnd.txt

sysbench --test=memory --num-threads=128 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=read --memory-access-mode=seq run > sysbench_memory_128_read_seq.txt
sysbench --test=memory --num-threads=128 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=read --memory-access-mode=rnd run > sysbench_memory_128_read_rnd.txt
sysbench --test=memory --num-threads=128 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=write --memory-access-mode=seq run > sysbench_memory_128_write_seq.txt
sysbench --test=memory --num-threads=128 --memory-total-size=100G --memory-block-size=200M --memory-scope=global --memory-hugetlb=off --memory-oper=write --memory-access-mode=rnd run > sysbench_memory_128_write_rnd.txt

スレッド処理性能

sysbench --test=threads --num-threads=16 run
sysbench --test=threads --num-threads=128 run

Mutex処理性能

sysbench --test=mutex --num-threads=16 run
sysbench --test=mutex --num-threads=128 run

roadworker - [ERROR] ArgumentError: invalid configuration option `:credential_provider' の対応方法

f:id:makaaso:20171108051743p:plain:w200

roadworkerのバッチ処理を別サーバに移行した時にエラーにハマったのでメモ このバッチ処理は複数のAWSアカウントに対応するため「--profile」を使用している その辺りでエラーがでているようす

環境

対応

roadworkerのバージョンを比較すると前の環境では、roadworker (0.5.4)、新環境ではroadworker (0.5.5)だったので、合わせてみたらエラーが解消された

gem uninstall roadworker -v 0.5.5
gem install roadworker -v 0.5.4

gemバージョンの確認方法

これは便利

gem list

VMwareの仮想マシンをAWSに移行する

f:id:makaaso:20171108052445j:plain:w200

プライベートクラウドVMWare仮想マシンパブリッククラウドAWSに移行したときのメモ

環境

  • Hypervisor : VMwareESXi5
  • OS : Ubuntu 12.04 LTS

手順

1.VMware上の仮想マシンova形式でエクスポート

移行対象の仮想マシンは複数ディスクなのでova形式でエクスポート

2.エクスポートしたファイルをs3へアップロード

ova形式のファイルをAWSのAMIとしてインポートするためにs3へアップロード

aws s3 cp sample.ova s3://sample-bucket/

3.s3へアップロードしたファイルをAMIとしてインポート

s3へアップロードしたova形式のファイルをAMIとしてインポート

aws ec2 import-image --cli-input-json "{  \"Description\": \"SAMPLE\", \"DiskContainers\": [ { \"Description\": \"SAMPLE\", \"UserBucket\": { \"S3Bucket\": \"sample-bucket\", \"S3Key\" : \"sample.ova\" } } ]}"

4.インポートしたAMIからEC2インスタンスをとりあえず起動

インポートしたAMIは「import-ami-XXXXXXXX」というAMI名で作成されるので、そのAMIを指定してとりえず起動

5.起動したEC2インスタンスを一旦停止

そのままでは起動しなかった、「Get System Log」を確認しても何も出力されていなかったので、一旦停止

6.EC2インスタンスのルートデバイスをデタッチして別インスタンスのボリュームとしてアタッチ

ルートデバイスの設定を変更しないと起動しなさそうなので、一旦デタッチして別のEC2インスタンスの「/dev/sdf」にアタッチ

7.アタッチしたボリュームで設定変更

ルートデバイスをマウントしたEC2インスタンスにログインしてマウント

sudo su -
mount -t ext4 -o defaults /dev/xvdf1 /mnt

chrootでマウントしたデバイスをルート化

chroot /mnt

resolv.confの設定をVPCに合わせる

vi /run/resolvconf/resolv.conf
--------------------------------------------------------------------------------
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 172.30.0.2
search ap-northeast-1.compute.internal
--------------------------------------------------------------------------------

パッケージ情報を一旦リセット

rm -r /var/lib/apt/lists
mkdir /var/lib/apt/lists
mkdir /var/lib/apt/lists/partial
apt-get autoclean
apt-get clean
apt-get update

grub再設定のための準備作業

apt-get install grub
ln -s /boot/grub/menu.lst /boot/grub/grub.conf
ln -s /boot/grub/grub.conf /etc/grub.conf
rm -f /boot/grub/*stage*
cp /usr/*/grub/*/*stage* /boot/grub/
rm -f /boot/grub/device.map

chrootを一旦終了

exit

grub再設定

cat <<EOF | grub --batch
device (hd0) /dev/xvdf
root (hd0,0)
setup (hd0)
EOF

メッセージはこんな感じ
--------------------------------------------------------------------------------
Probing devices to guess BIOS drives. This may take a long time.

       [ Minimal BASH-like line editing is supported.   For
         the   first   word,  TAB  lists  possible  command
         completions.  Anywhere else TAB lists the possible
         completions of a device/filename. ]
grub> root (hd0,0) /dev/xvdf
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  21 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+21 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
--------------------------------------------------------------------------------

menu.lstをマウントしたEC2インスタンスからコピーして編集 ※カーネルとかは適宜環境に合わせて設定

cp -p /boot/grub/menu.lst /mnt/boot/grub/menu.lst

vi /mnt/boot/grub/menu.lst
----------------------------------------
title           Ubuntu 12.04.4 LTS, kernel 3.11.0-15-generic
root            (hd0,0)
kernel          /boot/vmlinuz-3.11.0-15-generic root=/dev/xvda1 console=ttyS0 xen_pv_hvm=enable
initrd          /boot/initrd.img-3.11.0-15-generic

title           Ubuntu 12.04.4 LTS, kernel 3.11.0-15-generic (recovery mode)
root            (hd0,0)
kernel          /boot/vmlinuz-3.11.0-15-generic root=/dev/xvda1 single
initrd          /boot/initrd.img-3.11.0-15-generic

title           Ubuntu 12.04.4 LTS, memtest86+
root            (hd0)
kernel          /boot/memtest86+.bin
----------------------------------------

fstabを下記のように設定

vi /mnt/etc/fstab
----------------------------------------
/dev/xvda1/     /        ext4   defaults,noatime        1 1
/dev/xvdf       /opt    ext4    defaults,nobootwait,noatime,comment=cloudconfig 0       2
none /dev/pts devpts git=5 mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
----------------------------------------

マウントしたボリュームに対してgrub-install

grub-install --root-directory=/mnt /dev/xvdf1
----------------------------------------
Probing devices to guess BIOS drives. This may take a long time.
Installing GRUB to /dev/xvdf1 as (hd0,0)...
Installation finished. No error reported.
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)   /dev/fd0
(hd0)   /dev/xvdf
----------------------------------------

再度chrootしてupdate-grub

chroot /mnt
update-grub

8.設定変更したボリュームを再度インスタンスにマウントしてEC2インスタンスを起動

問題なく起動できることを確認

やってみた感想

手順はざっとこんな感じだったけど、grubの設定関連ではかなり悩まされてしまったのが反省 起動デバイスが認識できずに、起動できなくて何度もトライアンドエラーで時間がかかってしまった 起動してしまえばその後は問題なく動作しているというのは、仮想化技術はすごい!

参考

http://qiita.com/cs_sonar/items/21dbb3462708e146a426