「AWSの脆弱性を突いたセキュリティ事故はなぜ発生してしまう?」
「AWSを安全に使い続けるには、どのような対策をすればいい?」
AWSでは、セキュリティの責任を負う範囲がAWSと利用する組織で明確に分かれています。安全な運用を続けるには、利用する組織が対応すべき範囲のセキュリティを強化することが大切です。
本記事では、以下の内容を詳しく解説します。
- AWSのセキュリティの考え方
- AWSの脆弱性を突いた事故事例
- AWSを安全に使うための設定
- AWSの脆弱性の見つけ方と対処法
- AWSのセキュリティ強化に役立つサービス・ツール
本記事を読むことで、セキュリティ事故を防ぐために必要な設定や、安全のために導入すべきサービス・ツールが分かります。AWSのセキュリティを強化したいと考えている組織の方は、ぜひご一読ください。
プラットフォームにAWSを採用している組織の方、必見!
AWSを安全に使い続けるには、どのような対策をすればいい?
最新バージョンへ適宜アップデートする体制を整え、セキュアな状態を維持することが必要不可欠です。また、AWSサービス内部のセキュリティは、利用する組織側で対策を行う必要があります。全体の脆弱性を定期的にチェックし、最適な対策を実施しましょう。方法はこちらの資料をご覧ください。
AWSのセキュリティの考え方
AWSは「責任共有モデル」というセキュリティの考えをもとに運用されています。責任共有モデルとは、以下の画像のようにセキュリティの責任を負う範囲をサービス提供者のAWSと利用する組織で分け、それぞれが対策を実施することでセキュリティを強化するという考え方です。
AWSが責任を負うのは、ソフトウェア・ハードウェア・データベース・ストレージなどのクラウド基盤自体のセキュリティであり、データ保護や監査、外部攻撃対策といった対策を導入しています。
一方で、組織が管理するデータやアプリケーション、ネットワークなどのAWSサービス内部のセキュリティは、利用する組織がセキュリティ対策を行わなければなりません。対策が甘いと外部からの攻撃の隙を与えることになり、情報漏えいなどの大きな事故につながる可能性が高まります。
▶▶▶AWSを含むクラウドサービスの「責任共有モデル」や、その他セキュリティ対策についてより詳しく知りたい方は、是非「クラウドセキュリティとは|最新の対策と知っておくべきリスク」をご覧ください。
AWSの脆弱性|セキュリティ事故の事例
AWSでセキュリティ事故が発生する原因でもっとも多いのは、人為的なミスによるシステムの脆弱性を突かれるケースです。
2019年、アメリカの大手金融企業がハッキングを受け、社会保障番号や銀行口座番号などの個人情報が盗まれる事故が発生しました。影響を受けたのはアメリカの顧客1億人以上で、過去最大級の情報漏えい事故となりました。攻撃者は自作のツールを使ってWAFの設定ミスを突き、WAF経由でAWSにアクセスして攻撃を仕掛けています。
また2022年には、企業向け研修サービスのサーバーに保存されていた約25万人の個人情報がGoogle検索できる状態になっていた事故が発生しています。原因はAWS移行時のサーバーの設定ミスで、移行から2年以上も個人情報が公開された状態にありました。
設定ミスを防ぐにはセキュリティポリシーの策定や社員教育なども大切ですが、人間が作業する以上ミスをゼロにすることは難しいでしょう。ミスが発生しても被害が拡大しないように、AWSの安全性を高める設定を施したり、脆弱性を発見する取り組みを実施することが重要です。
AWSを安全に使うための設定
人為的なミスによって脆弱性が発生したとしても、セキュリティを強化する設定を施すことで攻撃を受けるリスクを低減させられます。AWSを安全に使うために実施すべき設定は、次の2つです。
- セキュリティグループ
- パスワード認証
どちらも重要な設定となるため、まだ実施していない場合はこの機会に見直しておきましょう。
セキュリティグループ
通信制御を行うために、セキュリティグループを作成しておきましょう。
セキュリティグループとは、VPC(AWSの仮想ネットワーク)上に構築されるファイアウォールのことです。VPCを作成すると、インバウンド(外部から内部への通信)はすべて拒否、アウトバウンド(内部から外部への通信)はすべて許可で設定されます。
セキュリティグループはステートフルで、送信を許可すると戻りの通信も自動で許可されるため、個別に通信可否のルール設定をする必要はありません。設定してしまうと、通信制限・通信許可の判断を正確に行えなくなるため注意しましょう。
パスワード認証
AWSを安全に使うには、パスワード認証を強化することも重要です。
認証で使うアカウントは、初期設定ではrootアカウント(登録時のメールアドレスとパスワード)になっています。パスワードが単純だったり使いまわしていたりすると不正アクセスされ、情報の盗取などの被害を受ける可能性があるため注意が必要です。
安全性を高めるには、単純なパスワードを避け、英数字や記号を組み合わせた桁数の多いパスワードを設定しましょう。また、知識情報・所持情報・生体情報のうち2つ以上を組み合わせて認証を行う「多要素認証」を設定してセキュリティを強化することもできます。
なおAWSでは、rootアカウントは基本的に使用せず、IAM(アイアム)というアカウントを使うことが推奨されています。万が一アカウントが漏えいしても影響を最小限に留められるように、アカウントは共有せず個人単位で発行しましょう。
AWSの脆弱性を発見する方法
AWSに潜む脆弱性を検査・発見する方法は、次の2つです。
- 脆弱性診断を実施する
- 脆弱性情報を収集する
脆弱性があることに気付かず放置してしまうと、攻撃者に狙われる可能性が高くなります。被害を受けない・拡大させないためには、定期的に脆弱性が潜んでいないかどうか確認することが重要です。
脆弱性診断を実施する
脆弱性診断とは、Webシステムの欠陥を狙った攻撃を受けたときに、被害につながるリスクがないか検証することです。脆弱性診断にはOS・サーバー・ネットワーク機器などを対象とした「ネットワーク診断」と、Webアプリケーションを対象とした「アプリケーション診断」の2種類があります。診断対象が異なるため、セキュリティを強化するには両方の診断を実施することが大切です。
AWSが提供する脆弱性診断サービスの「Amazon Inspector」はネットワーク診断にあたり、ソフトウェアの脆弱性やネットワーク到達性などをスキャンします。有効化しておくと自動的・継続的に脆弱性を検知・スキャンします。
Amazon Inspectorだけでなく、Webアプリケーションの診断ができるサービスも導入して、脆弱性の早期発見に努めましょう。
▼関連記事
脆弱性診断(セキュリティ診断)とは|必要性からやり方まで、すべて解説
脆弱性診断ツール(サービス)|有料・無料の違いと5つの選定ポイント
脆弱性情報を収集する
CVE・JNV・NVDなどのデータベースを参照すると、AWSの脆弱性に関する情報を確認できます。定期的に閲覧し、重大な脆弱性情報が報告されていないか確認しましょう。
CVE
一般に公開されている情報セキュリティの脆弱性に、固有の名前や番号を付与して管理しているデータベースです。
JNV
日本で利用されているソフトウェアの脆弱性情報を提供しているデータベースです。脆弱性に対処するための対策方法を検索できます。
NVD
アメリカ国立標準技術研究所(NIST)が運営している脆弱性データベースで、脆弱性情報について詳しく検索できます。
また、AWSは公式HPでセキュリティ速報を発信しています。AWSにどのようなセキュリティの脅威が発見されて、ユーザー側で対応する必要があるのかなど、最新のAWSのセキュリティ情報を確認できます。
AWSの脆弱性が発見されたときの対策
AWSの脆弱性対策でもっとも重要な対応は、ソフトウェアのアップデートです。脆弱性が残ったままだと攻撃者から狙われる可能性が高くなるため、ベンダーから脆弱性の修正バージョンがリリースされたらいち早く対応しましょう。
ただし、AWSをアップデートする際にいくつか注意点があります。本章ではスムーズにアップデートする方法も解説するので、ぜひ参考にしてください。
アップデートする際の注意点
AWSをアップデートする際には、以下2つの注意点があります。
- アップデートすることでアプリケーションが動作しなくなる可能性がある
ライブラリの動作環境がバージョンに依存していると、不具合が起きるケースがあります。 - OSやサービスの再起動が必要になる
再起動しないと正常に動作しない場合が多く、再起動中はサービスを利用できなくなります。
アップデートによって不具合が起きないか確認するためには、事前検証で動作確認を行う必要があります。
スムーズにアップデートを実行するための方法
スムーズにアップデートするための方法には、以下の3つがあります。
- 事前にバックアップを取る
アップデート対象をバックアップしておき、そのままアップデートする方法です。アップデート後に不具合があっても、バックアップを取っておけば元に戻すことができます。 - 新しい環境に切り替える
もともと使用していた環境を複製し、新しい環境でアップデートを行う方法です。アップデート後に不具合がなければ新しい環境に切り替え、問題が発生した場合はもとの環境に切り戻します。 - インスタンスごとにアップデートする
ロードバランサーに複数登録されたインスタンスを、一つひとつ登録を解除してアップデートする方法です。インスタンスごとにアップデートするか否か選択できます。
AWSのセキュリティ強化に役立つ4つのツール・サービス
AWSのセキュリティ強化に役立つツール・サービスは、次の4つです。
- AWS WAF
- IAM(AWS Identity and Access Management)
- AWS CloudTrail
- AWS KMS(AWS Key Management Service)
クラウド内で管理しているデータなどのセキュリティ責任を果たすためには、上記のようなツール・サービスを活用してセキュリティを強化することが大切です。いずれもAWSが提供しており導入が難しくないため、ぜひ取り入れてみましょう。
1. AWS WAF
WAFとは、Webアプリケーションをサイバー攻撃から守るセキュリティ製品のことです。ファイアウォールやIPS/IDSでは防げないSQLインジェクション・クロスサイトスクリプティングなどへの攻撃に対応できます。AWSが提供する「AWS WAF」では、通信ブロックなどの設定・ルールを自社の特色に合わせてカスタマイズ可能です。
AWS WAFは、AWSが提供するAmazon CloudFront、ALBなどのサービスでWAFを有効にするだけで利用できます。専用機器の準備などが不要で初期費用がかからず、従量課金制であるため利用した分だけコストが発生します。
2. IAM(AWS Identity and Access Management)
IAM(アイアム)は、AWSにアクセスするアカウントの認証・認可を制御するサービスです。利用できるサービスや機能をユーザーごとに設定するなど、複数のアカウント管理ができます。また、メイン・サブなどのシステムごと、テスト・本番などの環境ごとにアカウントを分けることで、セキュリティを強化できます。
さらに、IAMでは多要素認証を設定することも可能です。ID・パスワードに加えて以下の認証を2つ以上組み合わせることで、攻撃者による不正アクセスを防止します。
- 知識情報:暗証番号・秘密の質問など
- 所持情報:ワンタイムパスワード・デジタル証明書など
- 生体情報:指紋認証・顔認証など
3. AWS CloudTrail
AWS CloudTrailは、いつ・誰が・何をしたのかというアカウントの操作履歴をログに記録するサービスです。過去90日間の履歴は自動で、90日以前の履歴は「証跡」という機能を有効化することで記録されます。
AWS CloudTrailを導入することで、トラブル発生時に操作履歴を調査して問題の原因を突き止めることが可能です。また、操作履歴を定期的に分析すれば怪しい動きをしているアカウントを発見でき、トラブルを未然に防ぐこともできるでしょう。
4. AWS KMS(AWS Key Management Service)
AWS KMSは、データの暗号化に使用される暗号化キーを作成・管理するサービスです。機密情報が記載されたテキストファイルなど、AWS上で管理するデータを暗号化する際には、ほとんどのケースでAWS KMSを使用します。
AWS KMSはデータを暗号化するためのデータキーと、データキーを暗号化するためのマスターキーを管理します。マスターキーはAWS KMSから外部に出すことができないため、データやデータキーが盗まれても解読される心配がありません。
まとめ|AWSの脆弱性に備えたセキュリティ強化対策を
AWSは「責任共有モデル」というセキュリティの考えをもとに運用されており、セキュリティの責任を負う範囲がAWSと利用する組織で分かれています。組織が管理するAWSサービス内部のセキュリティは、利用する組織が対策を行わないと外部からの攻撃を受けやすくなるため注意が必要です。
AWSを安全に使うためには、以下の2つの設定を見直す必要があります。
- セキュリティグループ
- パスワード認証
セキュリティグループを作成して通信制限を行ったり、パスワード認証を強化したりすることで、攻撃を受けるリスクを低減させられます。
また被害を予防・拡大させないためには、脆弱性が潜んでいないかどうか定期的に確認することが重要です。AWSに潜む脆弱性を検査・発見する方法には、次の2つがあります。
- 脆弱性診断を実施する
- 脆弱性情報を収集する
脆弱性診断を実施すると、OSやサーバー、Webアプリケーションに潜む脆弱性を検知できます。また、定期的にCVE・JNV・NVDでAWSの脆弱性情報を収集することで、新たな脆弱性が見つかっても早期に対策を施すことが可能です。
AWSを安全に使い続けるために、設定の見直しをして脆弱性発見のためのツールの導入を検討しましょう。