Skip to content

AWSルートユーザアカウントのベストプラクティス Top8

    
AWSルートユーザアカウントのベストプラクティス Top8

AWS(アマゾンウェブサービス)は、企業のITインフラとアプリケーションの管理に革命をもたらした。これはまた、ビジネスに弱点を作り出し、槍で突かれれば壊滅的な結果を招く可能性がある。

AWSのルート管理の喪失がビジネスを破滅する可能性を踏まえ、Contrast Securityの最高情報セキュリティ責任者(CISO)であるDavid Lindnerは、9月22日付けのCISOの視点にて、貴重な資格情報を守ることの重要性を取り上げている:

「AWSのルートアカウントはどのように管理されているのか?共有アカウントの電話番号は?地域に分散したハードウェアMFAは?ベストな方法はたくさんあるが、組織にとって最善の方法を行い、何よりもこれらの資格情報を保護してほしい。」

-Contrast Security CISO、David Lindner

AWSルートアカウントの適切な管理が極めて重要

多くの企業が、インフラのニーズをAWSに依存している。その巨大な力には、大きな責任が伴う。AWSの管理における最も重要な側面の1つは、ルートアカウントの取り扱いであり、その制御レベルの高さからよく「神アカウント」と呼ばれることもある。

ルートアカウントの管理の複雑さを掘り下げる前に、AWSアカウントの階層構造を把握することが不可欠だ。AWSは通常、請求アカウントまたは管理アカウントから始まる階層構造を採用している。このトップレベルのアカウントには、その配下にある複数のAWSアカウントを管理する権限がある。これらのサブアカウントは、開発用サンドボックス、テスト環境、製品専用アカウントなど、様々な目的に使用できる。

Daveによると、Contrast社にもAWSの管理アカウントがあり、そこから50ほどの他のAWSアカウントを管理して、例えば開発用サンドボックスやテストなど様々な用途に使っている。

AWSアカウント階層を理解する

これらのAWSサブアカウントには、それぞれルートレベルのアカウントがある。ただし、最も重要なルートアカウントは、管理アカウントか請求アカウントに関連するアカウントである。このルートアカウントは、その配下にある全てのサブアカウントに対して絶大な権限があり制御ができる。

「それぞれのアカウントには、ルートレベルのアカウントがある」とDaveは説明する。「最も重要なのは、明らかに、管理アカウントのルートアカウントだ。そのアカウントから、請求アカウントの配下にある他の全てのアカウントを制御できる。」

「ルートアカウントを使えば、全てを削除することができる。」と彼は強調する。「それは神だ。神アカウントだ。決して使われるべきではない。」

全能なるルートアカウント

ルートアカウントがこれほど強力なのは、簡単に言うと、王国の鍵を握っているからだ。ルートアクセスを使えば、リソースの作成、削除、変更、移動、権限の設定など、AWSインフラ全体で様々な操作を実行できる。究極の権限なのだ。

しかし、AWS自体が日常業務でルートアカウントを使用しないよう強く推奨していることを強調する必要がある。ルートアカウントにアクセスが必要なシナリオはごくわずかであり、そのようなシナリオさえも昔に比べて減少している、とCISOは言う。「AWSがこのような慎重な立場を取る理由は、ルートアカウントへのアクセスに伴う大きなリスクがあるからだ。」

ルートアカウント侵害の危険性

ルートアカウントが侵害されると、壊滅的な結果をもたらす可能性がある。侵害されたルートアカウントに端を発する不正行為により、企業が深刻な打撃を受けたり、場合によっては撤退した例もある。ルートアカウントにアクセスできる攻撃者が、データやインフラを含む重要なリソースを削除して、大惨事を引き起こす可能性がある。不名誉な「削除」ボタンが押されて、大きな損失が発生するおそれがある。

ルートアカウントにログインして行うべきことは、もうほとんどない。おそらくゼロだろう。」とDaveは強調する。以前は、課金に関するものや、ルートでログインする必要があるものがいくつかあった。しかし問題は、それが神アカウントだということだ。ルートアカウントが誰かに侵害されて、全てが破壊され、削除ボタンが押されたために、全てが消えてしまった企業もある。」

AWSルートアカウント管理のベストプラクティス

これは明らかに重大な問題だが、幸いにも、AWSのルートアカウントを効果的に管理するためのベストプラクティスがある。

1.ルートアカウントの認証情報を共有しない

ルートアカウントの認証情報は、個人間で決して共有しないこと。実際、一部の企業では、ルートアカウントの認証情報を作成した後は、それを完全に破棄して、誰もアクセスできないようにしている。

2.プログラムアクセスキーの削除

ルートアカウントに関連付けられているプログラムアクセスキーを全て削除すること。ルートアカウントは、プログラムアクセスのためのアクセスキーを使用するべきではない。

3.多要素認証(MFA)の有効化

MFAを有効にする、ルートアカウントにもう一層セキュリティレイヤーが追加される。アクセスを許可する前に、ユーザは2つ以上の認証要素を提供する必要がある。

4.ルートアカウントの使用制限

前述したように、日常業務にルートアカウントを使用するのは避けること。AWSエコシステムには、権限とアクセスを集中管理できるIAM(Identity and Access Management)ツールが用意されている。

5.認証情報のローテーションは控えめに

一般的な対策とは逆に、パスワードの頻繁なローテーションは避けること。セキュリティ上の懸念がある場合、またはアクセス権を持つユーザが組織を離れる場合にのみ認証情報を更新する。そうしないと、パスワードを単純にインクリメントするだけで、長くて複雑なパスワードを作る手間を省くユーザが出てくる。これは、ユーザが古いパスワードに単に「1」を追加して、再度パスワードをリセットせざるを得なくなった時には「2」を追加する、ということを繰り返すということだ。これでは、定期的なパスワードリセットの効果が大幅に低下する。なぜなら、攻撃者は2つの古いパスワードを平文で復元し、パターンを見抜いて、ユーザの現在のパスワードを推測するだけでよいからだ。

6.アクセス制御の実装

セキュリティを強化するためには、ルートアカウントとその認証情報へのアクセスを制限すること。ルートアカウントへのアクセスや管理には、個人やロールを複数関与させることが望ましい。

7.文書化と監視

ルートアカウントにアクセスできるユーザを詳細に記録し、不審な行動がないか常に監視すること。

8.災害復旧(DR)計画

ルート証明書の紛失や漏洩を考慮した包括的な災害復旧計画を策定すること。定期的なテストと更新を実施して、計画が効果的であることを確認すること。

まとめ

AWSルートアカウントを適切に取り扱うことは、AWSサービスに依存する企業にとって極めて重要だ。ルートアカウントには最上位レベルの制御と権限があるため、攻撃者にとって格好の標的となる。アクセスの制限、MFA の有効化、不測の事態に備えて計画などのベストプラクティスに従うことで、ルートアカウントが侵害されるリスクを大幅に減らすことができる。

AWSは強力なツールとサービスを提供しているが、安全なアカウント管理の責任は最終的に使う側にあることを忘れないでほしい。クラウドインフラとデータを保護するためには、強固なセキュリティ対策を導入し、実践方法を定期的に見直し・更新することが不可欠だ。

常に進化し続けるクラウドセキュリティの世界では、常に警戒しながら積極的に行動することが、企業のデジタル資産を守り、確実にビジネスを継続していく鍵となる。

Read more: 

お問い合わせ 

Contrast Security Japan