世の中にインターネットが出てきて色々な人のルールや仕組みが変わっている変革の時代ですが、インターネットで重要で不可欠要素である、「サーバー」について、今回はAWSの不正利用に遭遇してから解決するまでの奮戦記を自分史として残しておきたいと思います。
AWSは一人勝ち
国内企業におけるIaaSのサーバサービス利用率
AWS : 25%
GCP : 16%
Azure: 15%
資料のデータは2017年4月から2017年5月のデータ計測の結果だそうですが、
上記のリンクでもわかるように、AWSのはダントツで一人勝ちしている状態です。
AWSを使うとモチベーションが上がるというエンジニアも少なくないようです。
なにしろ、全てにおいて便利だし、他のサービスよりも圧倒的な機能豊富が言われていますが、未だに不正利用に会う人も後をたたないようです。
かくゆう、僕も今回の件で、その仲間入りしたという事で、改めてAWSに「おんぶに抱っこ」状態ではなく、「自分の身は自分で守る」という事を強く考えさせられました。
AWSのコンソール画面にログインできなくなっててんてこ舞い
今回の経緯を説明すると、
事の発端は、アメリカAWSから、不正利用の可能性があるとのメールが届く事から始まります。
この時点で日本語でないと、焦燥感が増さないのだが、Gmailの翻訳で読んでみると、中々の事態だと気がつくし、正直焦りました。
いただいたメール文面は以下です。
Hello,
This is Abdul from Amazon Web Services. I trust this email finds you well.
I've reviewed your AWS account and it appears that it may have been compromised. During this time, unauthorized usage has been taking place on your account for the month of August 2017 thus far.
I strongly encourage you to immediately review your AWS account for any unauthorized AWS usage, suspicious running EC2 instances and Spot instances, or inappropriate IAM users and policies. To check your usage, please log into your AWS Management Console and go to each service page to see what resources are being used. Please pay special attention to the running EC2 instances and IAM users, roles, and groups. You can also check for any unexpected usage on the “Bills” page in the Billing console:
https://console.aws.amazon.com/billing/home#/bill
Please note that your Amazon.com password is used on AWS which would need to be changed at your earliest convenience to secure your account. To change your password, go to the Account Settings page in the AWS Console (https://console.aws.amazon.com/billing/home?#/account). Click "Edit" next to "Account Settings," then click "Edit" next to "Password".
In addition to changing your password, you will need to delete your AWS access key (**********) as it has been exposed. To delete the exposed key, visit the "Security Credentials" page. Your keys will be listed in the "Access Credentials" section. To delete a key, you must first make it inactive, and then delete it.
Please respond to this email once you've taken the necessary measures to secure your AWS account.
We look forward to hearing from you.
Best regards,
Gmailの翻訳機能を使うと以下の様に訳されました。
こんにちは、
これは、Amazon Webサービスからアブドゥルです。私は、このメールはあなたによく見つけ信頼しています。
私はあなたのAWSアカウントを見直したのだが、それが危険にさらされた可能性があると表示されます。この間、不正な使用法は、これまでに2017年8月の月のアカウントに行われました。
私は強く、すぐに不正AWSの使用状況、不審な実行中のEC2インスタンスとスポットインスタンス、または不適切なIAMユーザーとポリシーのAWSアカウントを確認することをお勧めします。あなたの使用状況を確認するには、AWS Management Consoleにログインして、リソースが使用されているかを確認するために、各サービスのページをご覧ください。実行中のEC2インスタンスとIAMユーザー、ロール、およびグループに特別な注意を払ってください。また、課金コンソールで「手形」ページ上の任意の予想外の使い方を確認することができます。
https://console.aws.amazon.com/billing/home#/bill
あなたのAmazon.comのパスワードがアカウントを保護するためにできるだけ早い時期に変更する必要がありますAWS上で使用されていることに注意してください。あなたのパスワードを変更するには、AWSコンソール(にアカウント設定ページに移動https://console.aws.amazon.com/billing/home?#/account )。次の「編集」をクリックし、「アカウント設定」を、次の「パスワード」を「編集」をクリックしてください。
あなたのパスワードを変更することに加えて、あなたはそれが公開されているように、あなたのAWSのアクセスキー(**********)を削除する必要があります。公開鍵を削除するには、「セキュリティ資格」ページを参照してください。あなたの鍵は、「アクセス資格情報」セクションに表示されます。キーを削除するには、まずそれを非アクティブにし、それを削除する必要があります。
あなたのAWSアカウントを確保するために必要な措置を取った後、このメールに返信してください。
お返事おまちしております。
宜しくお願いします、
どうですか?引きませんか?
ログインができない
不正利用されて、高額請求をウケるのも癪に障るので、ログインして確認しようとするが、ログインできない状態になっていることに気が付きました。
メールで返信して、ログインできない事を伝えようとするが、メールは返信不可な為、エラーメールが返ってくるだけ。
電話サポートをしてもらおうと思うが、そもそも英語メールなので、日本担当と違うので、不安が過るが、日本語サポートもしてくれるという事は聞いたことがあったので、電話番号を探すがどこにも電話番号など掲載されていない。
AWSアメリカサポートの調査
仕方なく、新たにアカウントを1つ登録して、そこのサポート問い合わせを行い、障害の起きているアカウントを調査してもらう。
この時、電話でのサポートを受けられるが、そもそものアカウントが違うと言うことで、情報提供が十分できないとの説明がある。
障害が起きているアカウントにログインができれば、こうした手間は一気に解消できるのに、ログインができない事が日本国内でわからないらしい。
アメリカ本土に問い合わせているらしいが、返答が遅い。
とにかく待つしか無い
とりあえず、返答を待つしか無いらしい。
そして、何度も、アカウントが違うことを説明されるが、そのアカウントの主も自分である事が、どうやらログイン以外で説明ができないシステムに会社がなっているようだ。
この時点で、AWSのアメリカと日本間でのサポート体制にも問題がある事がよくわかる。
国内サポートとしているのに、本家アメリカでないと事象がわからないというのは、新種の不具合を踏んでしまった可能性がある。
そもそも、この不具合がWEBでどこにも書かれていない事からよくわかる。
僕のアカウントは、セキュリティ対策は何一つ行っておらず、IDとパスワードでログインというセキュリティだったのが問題なのか?
IAMは設定していないし、2段階認証なども設定していない。
だけど、インスタンスも何も立ち上げておらず、利用料金も0円の状態。
こんな面倒くさい思いをするぐらいなら、AWSは利用しないほうがいいかもしれない・・・と考えてしまうようになりますよね。
その後、アメリカのサポートチームが、不正利用のためアカウントポリシー違反という処置で、各種サービスに対してアクセス制限を掛けていたことが発覚。
その解除までに4日ぐらいを費やしました。
ログイン成功
その間、日本のサポートチームから、アメリカと連絡を取る旨と、ログインできた後の作業内容をメールでいただき、
とにかく、概要インスタンスの削除とアクセスキーの削除をするという手順だったのだが、該当するサービスURLをすべて頂いた。
ちなみに、そのリストは以下の通り。結構多いんですね。
https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=us-west-1#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=us-west-2#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=eu-west-1#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=eu-central-1#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=ap-southeast-1#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=ap-southeast-2#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#s=Instances
https://console.aws.amazon.com/ec2/v2/home?region=sa-east-1#s=Instances
改めてログインしてみると、こういうアクセスにGUIが対応できていない事もよくわかります。
大事ですね、UI/UX
ログインの制限解除をしたとの連絡をもらい、ログイン出来ることを確認した。
驚愕の金額
そして、請求のページに行き、現実を突きつけられる。
$2,798.86
30万ちかくになりますね。覚悟はしてましたが、改めてドン引きしました。おそらく、ビットコインの発掘などに使われたんでしょうね。
無事にアクセスキーとインスタンスの削除を行い、再度アメリカサポートと日本サポートに連絡。
日本サポートは、高額料金の不正利用確定に3週間ぐらい掛かるので、一旦請求が行くとの連絡をもらえ、仕方ないと諦めていた所、
アメリカサポートから、次の日に連絡が入り、不正利用分の利用料金を削除することができたので確認してくれとの事。
そして、ログインして確認したところ、以下のような請求結果になっていた。
いや〜とりあえず、金額の恐怖からは開放されましたが、放置していて数日でこうした事態になる恐怖を改めて感じてしまいお増した。
今回の問題点
そもそも、何故この事態が発生したのかというと、作り置きしていたルート権限のアクセスキーが何かしらの原因で漏洩してしまい、それを不正利用されたというのがAWSの側からの報告でした。
どうして漏洩したのかは不明ですが、もしかしたら、僕がアクセスキーをどこかのサーバーに置き忘れていたのかもしれません。
こうした事態を解決するためには、IAMの設定で、利用IPなどを制限したり、幾つかの段階認証を行うことで、不正利用されにくい状態に保っておく必要があるんですね。
僕のアカウントは数年放置していたため、こうした発覚が、AWSの調査をしなかったら、不正利用し続けられて高額請求され続けていた可能性があるかと考えると、本当に恐怖です。
あと、もうひとつの問題点は、AWSの日本サポートとアメリカサポートがあまりにも連携できておらず、全体で1週間以上掛かったのですが、土日はしっかりサポートを止められ、有料サポートを進められる始末でした。
日本サポートは、最悪の事態を定時してくれていたんですが、それが逆に不安を煽っているだけだったのが、正直サポートを受けていて不安しか感じなかったです。
改めて英語を習得して、日本サポートをウケないというスタンスでないとAWSの利用は対応も含めて難しい事もよくわかりました。
声を大にして言うと、AWSはアメリカの製品です。日本サポートはトレーニングどまりだとエンジニアは認識しましょう。
そして最終的には自己防衛が大事です。正解で一番のサービスに頼りっきりではなく、自分で解決できる力を身につけるしかありませんね。
0 件のコメント:
コメントを投稿