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 カスタマーアグリーメント

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

2018年1月13日土曜日

raspiberry piで取得した温度をLINEに送る(AWS Iot-lambda)

だいぶ前に作ったのだが、忘れないうちにまとめる。

概要
会社の勉強会で4人チームで作ったもの。その中でnodejs/aws/LINE周りを担当。
その関係でpython周りはよくわからない。

概要図


作業メモ
・LINEのMessage APIを利用する為、LINE developerに登録&channel作成。
LINE developer



・せっかくなのでLINE@MANAGERからリッチメニュー作成。

・node版aws sdkインストール。

・AWS Iotへアクセスする為、認証キーを発行し、raspberry piへコピー。
/home/pi/deviceSDK/certs/に置いている。readtempture.js参考

AWS IoT デバイス証明書を作成および登録する


・AWS Iot > ACT > ルール作成
使う道は特になかったが、せっかくなのでDynamoDBにデータを貯めるようにした。

・nodejsで作成したコードと認証ファイル・node_modulesをzipで固めてlambda(s3)へアップロード。あとは本体のexports.jsを編集しながらデバック。


ハマっていたところ
・LINEのWebhookを登録しようとしたところ、「※SSLのみ対応」になっており、lambdaからの直接アクセスができなかった。
調べたところ、API gatewayを利用するとhttps化できることが分かった。


・ネットから色んな情報を参考していてが、awsが変わりすぎてあまり参考にならなかった。ちなみに現在の設定画面はこんな感じ。



・aws Iotの動きがいまいちわからない。いきなり接続が切断される場合があって、しばらく再接続ができなくなる。
ただし、aws Iot > テストにあるMQTTクライアントでpublishするとたまにsubscribeされる。


反省点
serverless frameworkで作って見たかったが、いまさら面倒なので放置。


感想
・サーバーを作らずにここまで作れたのが驚き。AWS Iotとlambdaの組み合わせはいい感じだった。今度はraspiberry piではなく、arduinoにネットワークモジュールを付けてやってみたい。
・意外とLINE@MANAGERで色々できて楽しかった。


コードはgithubへpush済み
IotToLine

2018年1月11日木曜日

初めての箱根駅伝を生でみた 2018/1/3

近所に箱根駅伝コースがあることで、前から直接行ってみようと思ったところ 二日目に見に行った。

まだ選手が通過する30分〜1時間前なのに、コース側の道は全部人で埋まっていた。
 仕方なくコース反対側で陣取りをして待つことに。

カメラは望遠レンズに切り替えた。たまに下り車線の車が邪魔だったけど場所的には問題なかったかも。
ただし、後で撮ってみるとフォーカスが選手ではなく観客の方になっていた。 今年の写真は失敗した気がする。

f/6.3 1/2000 210mm ISO640

来年はコンティニュアスAFにしてチャレンジしてみないと。

2018年1月9日火曜日

無印良品のスタッキングシェルフセットなど 2018/1/8

概要

子どもたちも大きくなってからか、日々荷物が多くなっていた。
しかも、リビングのコタツで過ごす時間が長くなった為、リビングに色んな荷物が散らばることに。

少し高めだが、嫁も私も前から無印良品さんの家具は好きだったので
収納家具を買ってみた。

まず、壁側にスタッキングシェルフセット3✕3を設置して嫁の私物・日用品・書類系を入れることに。
あと、試しに小物入れとしてスタッキングチェストを購入した。

できればスタッキングシェルフ用トレーか板も欲しかったが、説明書をみると、本体(スタッキングシェルフセット)に穴を開けないと固定できないことに嫁が嫌がっていたので、代わりにコの字棚かカゴを入れることにした。
ちなみに、俺は別に穴開けても問題ないと思うが・・・取り敢えずしばらく様子をみようと思う。

あと、こどもの本を収納する為、パルプボードボックスをこども部屋に入れた。
これも前から気にはなっていたが、パルプボード素材に信頼性があるかが疑問だったので購入までは至らなかったものだった。
今回は「取り敢えず子どもが高校卒業するまで持ってればいい」ことで買ってみた。


作る前の感想・組み立て

組み立てた後は想像通りだったが、スタッキングシェルフセットはとにかく重かった。特に組み立てる前は一人で持ってない。


それに比べるとパルプボードボックスは軽い。そのお陰か、組み立ても楽だった。
あと意外としっかりしている。ただし、雨の日は隣の部屋で部屋干しすることが多いので
湿気にさらされると、どう変わるのかは心配だった。
あと、軽すぎることで地震などに倒れるのが心配だった。後日突っ張り棒を用意した方が良さそう。



使用感

スタッキングシェルフセットは素のままだと使いづらい。やっぱり枠一つに丁度収まる荷物?置物?がなくて、小物を入れると上がスカスカ。本とかゲームソフトを積み重ねるのは格好悪い。
パルプボードボックスはいい感じだけど、思ったよりものが入らない気もする。欲張りだったかも知れないが・・・
まあ、でも両方買ってよかった。


年明け早々からインフルエンザを拡散してしまった

今年も大磯寒中神輿を見に行った。
大磯寒中神輿

写真を見た家族はみんな、寒そう〜と言っていたけど、いつもより暖かい気候だった。

f/6.3 1/400 210mm ISO160

f/11 1/250 50mm ISO100




午後は福袋&初売り様子見で、そのまま自転車で平塚ららぽーとまで行った。
多分、これがまずかったかも。


1/2ぐらいから、なんとなく咳が出始めていた。特に悪いところはなかったので、いつものブタクサのアレルギかな〜と思い、鼻炎の薬だけ飲んでいた。
1/3家族での新年会。久しぶりにお酒がどんどん入り、いつもより疲れた感じ。早めに寝た。

次の日、始めは頭痛で「二日酔いかな?」と思ったが、体も寒い。
昔、同じような感覚と遭遇していたことを思い出し、熱を測ってみたら38℃超えだった。

どうみてもインフルエンザ。ただし、まだ最寄りの病院がまだ連休中。次の日まで待つべきか?
嫁がなんとか離れた病院を探して予約してくれたので、だいぶ待ったけど診断してもらった。
インフルエンザA型だった。
薬(イナビル?)をもらって寝てたら、熱はだいぶ下がって来ていた。

でも、本当の地獄はこれからだった。

お祖父ちゃん家に泊まっている娘が咳をしている連絡が。やっぱり感染していた。
続いて一緒に遊んでいた、いとこ達も東京に戻ってから風邪気味らしいし
お祖母ちゃんもインフルエンザになっていた。
うちも娘に続いて嫁もインフルエンザに。
私一人がもたらした病原が、ここまで広まるとは・・・


インフルエンザになったことで、自分の意思と関係なく休むことになってしまい
長期間連休で過ごすことになったが

自分は2日寝込む→治ったら娘の看病→嫁の看病

で、日々家事に追われる。しかも他の親戚たちの心配で心細い日々だった・・・

落ち着いたらちゃんと謝らないと。