注目の記事

「AWS全体のセキュリティ管理と快適なセキュリティ運用」というタイトルで登壇しました

AWSのセキュリティに組織としてどのように取り組めばいいか、という話をしました。参考情報をたくさん盛り込んで解説します。
2022.04.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、臼田です。

みなさん、AWSできるマンの人材育成してますか?(挨拶

今回は、2022年4月8日に実施したAWSトレーニング・人材育成ウェビナー 今あなたが学ぶべきAWSセキュリティにてお話した内容をブログにまとめます。

資料

解説

私の内容の解説の前に少し追加の情報を。

今回のイベントでは私の前に「怖がらずにセキュリティと向き合うために」というタイトルで、アマゾン ウェブ サービス ジャパン合同会社 セキュリティ アシュアランス本部 本部長の松本照吾さんにご登壇いただきました。怖がらずにセキュリティと向き合うために、どう考えてどう取り組めばいいか、大変良く分かる内容でした。ぜひ松本照吾さんが他の場で登壇されるのを見かけたら、話を聞いてみてください。

では私のセッションの話を。

私のセッションのテーマは「AWSセキュリティを理解して便利に運用しよう」です。よく一般ではITのセキュリティ自体を難しいと捉えられる傾向があると思いますが、AWS上でセキュリティ対策を行っていくことは決して難しいことではないですし、理解をすればかなり快適に活用し運用できます。このポイントを解説し、AWSの人材をこれから確保・育成していくために、組織的にどのようにしていけばいいかという内容を話しました。

セッションの対象者は以下のとおりです。

  • AWSを直接使う人
  • AWSを使う仕組みを作る人
  • AWSを使える人を育成する人

つまりだいたい全員です。それぞれの観点で大事な要素を拾っていますので、このブログの内容をぜひ自身だけでなく、周りの対象者になりそうな方とも共有してみてください。

それぞれ持ち帰ってもらいたい内容は、「AWSを直接使う人」は「絶対おさえておくAWSセキュリティ基礎」を、「AWSを使う仕組みを作る人」は「組織の仕組みに組み込むセキュリティ」を、「AWSを使える人を育成する人」は「AWS学習のお役立ちコンテンツ」です。

アジェンダは以下のとおりです。

  1. AWSセキュリティの基本
  2. 便利なAWSセキュリティサービス
  3. 組織で整備する仕組み

また、このセッションの補完的なブログとして以下がより詳細なAWSセキュリティの解説をしていますので、ステップアップに利用してください。

また、AWSでは充実した無償のEラーニングとしてAWS Skill Builderが展開されています。学習や育成に役立ちますので是非活用してください。具体的な活用するコースなどは後ほど説明します。

1. AWSセキュリティの基本

今回はAWS上で発生した事故から、まず学んでみましょう。

AWS利用の際によく耳にするインシデントはどんなものがあるでしょうか?

ここでは以下2点を取り上げます。

  • EC2(仮想サーバー)上でのコインマイニング
  • S3(オブジェクトスレーじ)からの情報漏えい

これらの事故はどちらも権限管理(アクセス制御)の問題です。

つまりAWSセキュリティの基本の1つとして、AWSにおける権限管理をしっかりと理解しておく必要があります。

AWSで実現できることは非常に広範囲に渡ります。以下はAWS の クラウドが選ばれる 10 の理由というサイトからの引用ですが、ほんの一部ですが以下のような分野のサービスが簡単に利用開始できます。

これはAWS利用者が面倒なことはAWSに任せて変わりにビジネスに集中できるという非常に強力なメリットですが、同時に使い方には気をつけなくてはいけません。まず権限管理から始めていきましょう。

権限管理の1番のポイントはIAM(Identity and Access Management)のサービスです。AWS上でのアクセス制御を行うサービスで、AWSの基本であり難しいところでもあります。AWSのセキュリティはIAMに始まり、IAMに終わると言っても過言ではありません。初学者向けのコツを1つお話すると、アクセスキーとシークレットアクセスキーは必ず守るようにしましょう。

先程よくある事故の例として出したEC2上でのコインマイニングの発端は、だいたいこのアクセスキーとシークレットアクセスキーの漏洩から始まります。弊社が観測した事例の1つは以下のブログで解説しています。

アクセスキーとシークレットアクセスキーは言うなればユーザー名とパスワードであり、これが漏洩すると完全に第三者にAWSへの管理アクセスを許すことになりますが、これをうっかりアプリケーションコードなどに埋め込み、さらにGitHubなどのパブリックなリポジトリ等に誤って公開する事故がよく発生します。補助的な対策として例えばgit-secretsのようなツールを開発者全員の環境に導入する、などがあります。以下も参照してください。

もう1つ最初に押さえておくポイントとしてS3の権限管理があります。S3はAWS上で様々なデータが集まってくるオブジェクトストレージのサービスです。大事なデータがたくさんあるからこそ、S3上の権限管理は非常に大事です。そして権限を意識することと同時に、大事なデータがどこにあるかを把握することも大切です。それらを公開しないように、適切なアクセスに制御できているか意識しましょう。S3についての初学者向けのコツは、ブロックパブリックアクセスを有効化することです。

ただこれらの小手先のポイントだけを押さえておけばいいわけではありません。組織としてこのような問題に取り組むための大前提は、「すべてのAWS利用者はAWSの基本的なセキュリティを理解する必要がある」ということです。

そのためには、AWSを利用するすべての人が最初にこのようなAWSセキュリティの学習を行う必要があります。ただそれを組織全体に徹底することは簡単ではないでしょう。そんなときに活用できるのがAWSが提供している無償のデジタルトレーニング(Eラーニング)です。以下2つはこの用途に最適なコースです。ぜひ活用してください。

また「AWS利用開始時に最低限おさえておきたい10のこと」もAWSを使い始めるときに参考になります。合わせて読んでください。

2. 便利なAWSセキュリティサービス

AWSの良さの1つは、マネージドサービスを利用して楽ができることです。

マネージドサービスとは、インフラストラクチャの作成や管理などを気にせずに、欲しい機能が直接利用できるように提供されているサービスのことで、例えばストレージやデータベースのサービスはインフラのパッチ当てなどを気にせず利用でき、バックアップやリストアはその機能を呼び出せばAWS側で自動的に実行してくれます。あるいはコンテンツ配信やIoT・機械学習などのサービスもそれらに必要な基盤は最初から用意されており、すぐに始めることが可能です。これによりビジネスなど実現したいことに集中できます。

このマネージドサービスの利点はAWSセキュリティにも適用できます。

ここでは代表的な2つのAWSセキュリティのマネージドサービスを紹介します。

AWS Security HubはAWS環境の設定をセキュリティチェックできるサービスで、危険な設定に気づいてすぐに是正することが可能です。

Amazon GuardDutyはAWS上のログから脅威を検知し、AWS上で発生しているセキュリティの問題を発見してすぐ対応できます。

どちらもポチッと有効化するだけで使えて、ログ収集やログ管理などが不要(AWSで管理してくれる)で運用も簡単です。それぞれもう少し深堀りします。

AWS Security Hubによるセキュリティチェック

AWS Security Hubは有効化すると、以下のように直感的なスコアの表示が確認できます。これにより、今そのAWSアカウントがどれくらいセキュアなのかわかります。

このセキュリティチェックの仕組はAWS Security Hubのスタンダード(セキュリティ基準)にあるAWS基礎セキュリティのベストプラクティスというルールを活用して実現しています。このルールは30種類以上のAWSサービスに対応していて便利です。全リージョンで集約して利用するといいです。以下の記事で詳細をご確認ください。

Amazon GuardDutyによる脅威検知

Amazon GuardDutyは様々な脅威を検知してくれますが、タイプとしては大きく以下の3種類があります。

  • IAMタイプ
    • 主に不正なログインや漏洩したクレデンシャルの利用など
  • EC2タイプ
    • コインマイニングやマルウェアによる通信など
  • S3タイプ
    • 不自然なバケット公開やTor経由のアクセスなど

それぞれの対応は専門的で大変そうに感じるかもしれませんが、対応についてもあまり構える必要はありません。大体の対応方法はAmazon GuardDutyのユーザーガイドに掲載されていて、いざというときに活用できます。

実際にやることのイメージは以下のようなものになります。これらが実施できるような準備を事前にしておけば、最初のステップとしては大丈夫でしょう。

  • IAMタイプ
    • 認証情報を無効化する
  • EC2タイプ
    • EC2を隔離、保全、調査する
    • 調査は得意な会社に依頼できる準備でもいい
  • S3タイプ
    • アクセス権限を絞る

詳細な運用についてのナレッジは以下を参照してください。

これらのマネージドなセキュリティサービスの活用も含めた、AWS全体のセキュリティを考えていく立場の方は以下の無償のデジタルトレーニングを活用してください。

3. 組織で整備する仕組み

AWSセキュリティの取り組み方として大事な考え方の1つは、手動の運用ではなく自動化された仕組みで対応することです。

AWSのアカウントは環境分離のためにどんどん作成されていきます。現在では1つのシステムに対して、開発・検証・本番と3アカウントずつ作成することがベストプラクティスです。AWSアカウントがたくさん増えてしまうので手動で対応するには限界があります。セキュアな設定の展開やセキュリティチェック・対応を自動化していくことが大切です。

そしてAWS上のセキュリティ対策の方針として、ガードレール型のセキュリティを整備していくことが大切です。AWS上では従来からある間違ったセキュリティ対策である「何でもまず禁止する」という方針は致命的な問題に繋がります。クラウドのメリットである俊敏性を著しく阻害するためです。AWS上ではセキュリティと俊敏性を両立することが簡単に実現できます。そのための考え方がガードレール型のセキュリティです。

ガードレール型のセキュリティとは、何でも禁止するのではなく、危ないことだけ起きないようにガードレールの機能を設けておき、その中でなら自由に利用できる、といった形の対策です。AWS上では様々な機能でこのガードレールが実現できますが、1つの大きな仕組みとしてAWS OrganizationsとSCPがあります。

AWS Organizationsは複数のAWSアカウントにまたがって統合的に管理する仕組みです。階層構造でAWSアカウントを管理できて、階層の単位で全体的なアクセス制御であるSCPを適用できます。

SCP(Service Control Policy)は非常に強力なアクセス制御で、適用されたAWSアカウント全体に効果のあるポリシーを記述できます。例えば、デフォルトのセキュリティ機能として設定したAWS Security HubやAmazon GuardDutyの設定を、利用者が誤って削除しないようにしたり、重要なログが保存されているS3バケットを削除できないようにするなど、やってはいけないことを定義して、全体に展開することができます。

AWS Organizationsについては以下も参考にしてください。

他にも様々な全体管理のサービスと参考情報があるので羅列していきます。

全体を管理する仕組みとしては他にも、自動的に同じ設定を展開するAWS CloudFormationのStackSetsという機能もあります。こちらも活用しましょう。

実際の組織がどのようにAWS環境の全体管理に取り組んでいるか、という1つの例が以下で紹介されています。

AWSにアクセスするユーザーなどの管理には例えばAWS SSOが利用できます。

AWS OrganizationsやAWS SSOなどを含めたAWSのマルチアカウント管理をもっと簡単に利用する方法として、AWS Control Towerがあります。

また、これまで紹介したAWSのサービスを活用すること以外にも、組織としてはクラウドを推進するチームが必要です。一般的にはCCoEと呼ばれるチームを構成することが多いです。

実際にどのようなCCoEを構成すればいいか、という事例の1つで以下が参考になります。

そして以下の書籍がおすすめです。クラウドの推進がうまく言っていないなーと感じる方は、ぜひ手にとって見てください。そしてうまく組織上層部からの支援が受けられないなーというときにはこの本を上層部に読んでもらいましょう。

組織の形はそれぞれですが、組織的にクラウドやAWSを活用していく上では各種サービスとそれを活用する組織の仕組みを作って成長していく必要があります。そのためにはぜひ自動化されたセキュリティの仕組みも活用してください。

ちなみにこのようなセキュアなAWS環境の実現を簡単にできるサービスとして以下を提供していますので合わせてご確認ください。

さいごに

AWSのセキュリティに対して、個人・組織としてどのように取り組めばいいか解説しました。基本を押さえ、クラウドやAWSのメリットを享受し、1人ではなくみんなで頑張れるように取り組んでください。AWSのマネージドなセキュリティサービスはポチッと有効化するだけで簡単にセキュアになります。これらを活用しましょう。

もしAWSセキュリティを始めとした人材育成にお悩みの場合には、上述した様々な参考情報や無償のデジタルトレーニングも活用していただきつつ、必要に応じて有償のAWS認定トレーニングもご活用ください。AWSに熟知したトレーナーがリアルタイムに参加者とやり取りしながら、AWSスキルの向上や課題解決の能力を身につける手助けをします。