【Security Hub修復手順】[S3.3] S3 バケットはパブリック書き込みアクセスを禁止する必要があります
こんにちは!AWS事業本部のおつまみです。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。
本記事の対象コントロール
[S3.3] S3 バケットはパブリック書き込みアクセスを禁止する必要があります
[S3.3] S3 buckets should prohibit public write access
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
このコントロールは、ブロックパブリックアクセス設定、バケットポリシー、およびバケットアクセスコントロールリスト (ACL) を評価し、S3 バケットがパブリック書き込みアクセスを許可するかどうかをチェックします。
S3 バケットが意図せずパブリックに公開されていた場合、保存されているファイルへの意図しない書き込み操作が発生する可能性があります。 意図しない書き込み操作を防止するためにも、可能な限り対応しましょう。
修正手順
1. ステークホルダーに確認
- まずはステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。
- 意図してパブリックの書き込みを許可しているか?
- 意図して許可している場合、抑制済みで登録して下さい。
対応可能であれば、S3 で公開しているコンテンツを、CloudFront からのアクセスのみに制限するOrigin Access Control (OAC)を使用することを推奨いたします。
実施方法はこちらのブログを参考にして下さい。
- 意図して許可している場合、抑制済みで登録して下さい。
・バケットポリシーの変更が必要になります。バケットポリシーはIAMポリシー・Access Control List(ACL)より権限が強いため、変更には十分注意して下さい。
- 意図して許可していない。つまりパブリックの書き込みが不要な場合、[2. 設定変更]手順に従い、S3 バケットを更新してパブリックアクセスを削除します。
※設定変更後にインターネット経由でS3バケットの書き込みができなくなります。万一設定が必要だった場合に、業務影響が出てしまいます。そのため、社内で注意深く確認して下さい。
2. 設定変更
-
AWS 基礎セキュリティのベストプラクティス v1.0.0にて、「S3.3」を検索します。タイトルを選択します。
-
失敗しているS3バケットを選択します。
-
[アクセス許可]タブを選択し、[ブロックパブリックアクセス (バケット設定)]で[編集] を選択します。
-
[パブリックアクセスをすべてブロック] を選択します。次に、[変更の保存]を選択します。
-
確認画面が表示されたら、
確認
を入力して[確認]を選択します。 -
[アクセス許可の概要]でアクセスが[非公開のバケットとオブジェクト]になっていること、[パブリックアクセスをすべてブロック] で[オン]になっていることを確認します。
-
SecurityHubにて、失敗しているリソースが0になっていること及びステータスが[成功]になっていることを確認します。 ※リソースの更新には数分、ステータスの更新には1日程度かかります。
※設定変更により障害が発生した場合(パブリック書き込みアクセスが本来必要だった場合)、下記の[3.切戻手順]を実施します。
3. 切戻手順
- 該当のS3バケットを選択します。
- [アクセス許可]タブを選択し、[ブロックパブリックアクセス (バケット設定)]で[編集] を選択します。
-
[パブリックアクセスをすべてブロック] のチェックを外します。次に、[変更の保存]を選択します。
-
確認画面が表示されたら、
確認
を入力して[確認]を選択します。 -
[アクセス許可の概要]でアクセスが[公開]になっていること、[パブリックアクセスをすべてブロック] で[オフ]になっていることを確認します。
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!
どなたかのお役に立てれば幸いです。
以上、おつまみ(@AWS11077)でした!