
Written by 權 喆(クォン チョル)
クラウドセキュリティエンジニアとして、AWS・GCP・OCIなどのIaaS系クラウドサービスのセキュリティ関連設定の精査、クラウドセキュリティ診断に従事。
近年、AWSをはじめとしたクラウドサービスの導入が、日本国内で急速に拡大しています。
DX推進やリモートワーク対応、コスト削減の観点から利用が進む一方で、クラウド特有の設定範囲の広さが新たなリスクを生んでいます。
利便性と引き換えに生じる「設定ミス」が深刻な脆弱性につながるケースは少なくなく、担当者にとって見逃せない課題となっています。
本記事では、実際にクラウド診断を実施するなかで、多くのお客様の環境で発見された設定ミスをわかりやすく解説します。
事例を交えて解説するので、ぜひ自社の環境と照らし合わせて確認してみてください。
クラウド特有のリスクと背景
クラウドコンピューティングのセキュリティを実現するために、ベストプラクティスの展開と啓発活動を実施する「クラウドセキュリティアライアンス(CSA)」 がクラウドコンピューティングに対する重大な脅威の1位として挙げているのが、「設定ミスと不十分な変更管理」です。
クラウドコンピューティングに対する重大な脅威2024
出典:Cloud Security Alliance(CSA)「クラウドコンピューティングに対する重大な脅威2024」
クラウド環境はリモートワークなどの外部からのアクセス管理が必須であり、特にIaaSは自分でインフラを構築・管理するため、設定ミスが起きるとクリティカルな問題に発展する可能性が大いに潜んでいます。
上記の理由から、クラウドの設定の確認はクラウドのセキュリティの強化の面で非常に重要な役割を担っていると言えます。
AWS環境のリスク事例
ここからはAWS環境におけるいくつかの設定ミスの事例を紹介していきます。
本記事で紹介する事例は、実際の診断で不適合率が高く、かつ、設定ミスによるリスクが高いものを選別したものです。
「IAM(Identity and Access Management)」の設定ミス
多要素認証は外部からの不正アクセスを防ぐための最も重要な事項と言っても過言ではありません。
多要素認証を設定するだけで、不正ログインのリスクが激減します。
具体的な設定方法としては、IAMでユーザーの「MFAデバイスの割り当て」をクリックすることで設定可能です。
留意しておきたいのは、多要素認証は「要素」が複数ある場合にのみ成立するということです。
たとえば、パスワードを入力し、スマホアプリの認証コードを入力してログインした場合、
「記憶」という要素でパスワードを入力し、「所有物」という要素で認証コードを入力したので多要素認証です。
一方、パスワードを入力し、もう一回別の2次パスワード入力してログインした場合、 「記憶」という要素でパスワードを入力し、また「記憶」という要素で2次パスワードを入力したので多要素認証ではありません。
このように複数の要素を利用してIAM認証を設定することを心掛けながら、設定を変更することが重要です。
アクセス権限は、クラウドの運用の中でユーザーに直接関わる部分なので細心な注意を払う必要があります。アクセス権限は「最小権限の原則」に従って必要なユーザーに必要な権限だけを与える運用にすることが最も重要です。
この観点からrootユーザー以外に全権を持つユーザーが存在しているということは、情報流出などのリスクによりさらされている状態だと言えます。
具体的な設定方法としては、IAMで「AdministrorAccess」ポリシーの「アタッチされたエンティティ」タブで設定可能です。
「S3(Simple Storage Service)」バケットのポリシー設定ミス
HTTPSはSSL/TLSで暗号化通信をおこない HTTPのセキュリティを強化したものです。
HTTPリクエストを拒否し暗号化通信であるHTTPSリクエストのみを許可するように設定することを推奨します。
AWSの仕様上、明示的にHTTPリクエストを拒否するポリシーを作成しない限りHTTPリクエストが許可される可能性があります。
以下のようにaws:SecureTransport: falseの場合HTTPリクエストを拒否するポリシーを構成してください。
{ "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSSLRequestsOnly", "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }
出典:AWS Config ルール s3-bucket-ssl-requests-only 用の S3 バケットポリシーを作成する | AWS re:Post
「CDN(Amazon CloudFront)」のデフォルトルートオブジェクト設定ミス
CloudFrontはAWSのCDNサービスです。
ディストリビューションドメインにパスを指定せず、ルートドメインに接続した際に表示するデフォルトオブジェクトを設定できます。
デフォルトルートオブジェクトを設定していない場合、ルートドメインに表示される内容はオリジンの設定によっては、オリジンであるS3バケットのコンテンツのリストがそのまま表示されてしまう可能性があります。
デフォルトルートオブジェクトの設定自体は難しくないため、設定し、インシデントにつながる可能性を排除することを推奨します。
具体的な設定方法としては、ディストリビューションの「Default root object – optional」にオブジェクト名を入力することで、設定することが可能です。
予防のための設定管理と継続的診断
クラウドサービスは頻繁に機能追加や改修がおこなわれるため、変更への対応が遅れ、リスク管理が不十分になりがちです。
実際に、セキュリティ設定の不備により、意図せずクラウド上の機密情報を外部に公開してしまうセキュリティ事故が多発しています。
クラウドには、Webアプリケーションやプラットフォームの脆弱性によるセキュリティリスクとは別に、設定ミスなどによるクラウド特有のリスクが存在しています。
それらのセキュリティリスクに対応するためにも、脆弱性診断とクラウド設定診断のどちらも実施することを推奨します。
LANSCOPEプロフェッショナルサービスの「AWS(Amazon Web Services)セキュリティ診断」では、AWS環境に特化したクラウドセキュリティ診断サービスを提供しています。
専門のセキュリティエンジニアが、AWSの設定ミスや脆弱性を徹底的に診断し、具体的な改善策を提案します。
ぜひ実施をご検討ください。
情シス1,000人に聞いた!
「クラウドサービスのセキュリティ対策」実態調査
情シス1,000人に「自社のクラウドサービスのセキュリティ対策」
についてお聞きしました。
クラウドを運用中・導入予定の情シス様は、必見のデータです!
おすすめ記事