2018年1月21日日曜日

AWSが不正利用され多額請求されていた 2017/12/27

11月にAmazon echoの招待を申し込んでしばらく経っているが
全然連絡がないことで、毎日Amazonからメールがないか確認するのが日常になったいたところ
Amazon(正確にはaws)から変な題名のメールが来ていた。

Your AWS Account may have been compromised

うーむ、compromisedって何だったけ?
と思い、googleで翻訳してみたら

あなたのAWSアカウントが侵害された可能性があります

となっていた。

びっくりしてメールの文面をよくみたら

Please check and terminate all unauthorized EC2 Instances

となっていて、各リージョンごとのリンクが貼られていた。

嫌な予感がしてaws consoleにログインしたら、使用可能な枠いっぱいでEC2インスタンスが作られていてCPU100%で稼働中だった。しかも全リージョン分。
まるで朝から悪夢を見ている感じだった。

取り急ぎ各リージョンごとのEC2インスタンスを削除&パスワードを変更した。
あと、前日ソースコードをgithubにpushしたのを思い出した。そういえばaccess keyもそのまま書いていたな・・しかもrootのを。
取り急ぎソースコードからaccess keyを削除した。でもgitの履歴から追えるよな・・・aws consoleからもaccess keyを削除。

でも請求は既にEC2だけ$1,742.10になっていた。文字通りガーンな感じ。
税金とか含めると20万円はなりそう。
なによりも自分は何もやってないのに、こんな巨額を払わせることになるのが理不尽で気が狂いそうだった。

ネットで調べたところ、私と同じように不正利用されて苦労した人たちの記事が結構あった。
幸い何かしら救済を得ていることを見て少しは安心した。いや、見えないところでは払わざる負えない人もいたと思う。

取り敢えず、サポートに問い合わせすることに。

会社行ってもずっと、請求のことで仕事が手に付けられない。
ずっとサポートの返信が来ているか確認していた。
後から分かったことだけど、basicプランのサポートは営業時間で最大24時間掛かることが分かった。
(1営業日8時間だとしたら8x3=24、つまり3日は掛かること)

会社でawsに詳しい人に聞いてみた感じ、サポートプランをdeveloperまたはbusinessに上げた方が良いのでは?と言われた。確かbusinessの場合、技術サポートに対して緊急度を上げて問い合わせすることが可能らしい。

家に帰っても、この件で頭がいっぱいだった。
寝るときも気になって上手く眠れない。何回もaws consoleをみるようになる。
というか、請求が増えていた。
変だと思い、EC2を改めて調べてみたらアイルランドリージョンだけ削除しそこねたことが分かった。



取り敢えず、削除はしたものの$2534.66まで上がっていた。


丁度12月の営業日が残り少ない状態だったので、対応時間が長延びってしまい対応がややこしくなるのは避けたかったので、取り敢えずdeveloperに上げて1日を待ってみた。でも返事が来ない・・・
結局、やばいと思いbusinessに上げて電話で返事をもらうようにした。
直ぐ連絡が来た。


結果
EC2料金をクレジット発行して相殺してくれた。

ただし、純粋なec2料金だけで付加的に使われたEBSの料金までは救済してくれなかった。まあ良いか。
サポートもことが済んだ後にbasicに戻した。business分は日割りした料金で請求されるらしい。
1月現在、13,000円ぐらい請求されていた。


後から思ったこと
・誰なのかはわからないけど何も罪のない人に、このようなことをする人を何かしら捕まって欲しい。cpu使用量100%ということは、おそらくビットコインなどの採掘に使われていたと思うが、通信先を探ることはできないか?
・時間的・精神的余裕があればサポートプランを上げずにaws側の対応を待ってても良かったかも?


awsでやってほしいこと
・日本でサービスしているのであればなるべく日本語でサービスしてほしい。普段なら英語も読めなくはないけど、精神的に追い詰められた状態で英語のメール・問い合わせの返事が来ると頭に来る。
・EC2を使用不可。または最小限に設定が可能になって欲しい。
・今回は普段使ってないリージョンまでEC2が使われていたことで被害が多かった。東京リージョン以外は無効化することはできないか、調べたところIAM > アカウント設定 > Security Token Serviceでそれらしいのがあった。

これで効果があるかは分からないが、使用してなさそうなリージョンは全部無効化した。ちなみにバージニア北部の無効化はできないらしい。


あとがき
他のブログをみたところ、この内容はawsから許可もらいましたか?とコメントが書かれており
一応、ブログに書く前に問い合わせをした。
その結果↓

AWS カスタマーアグリーメントに
記載されている規約をご認識いただいたうえでお客様の責任において
ブログ等への掲載のご判断をいただくようにお願いいたします。


AWS カスタマーアグリーメント

一応、読んでみたけど内容が多すぎ。要するに常識の範囲内の内容であれば問題ないらしい。