CloudFront が HTTP 接続を許可

CloudFront のビューワー接続に HTTPS を適用します。

説明

CloudFront のキャッシュビヘイビアで ViewerProtocolPolicy が allow-all だと、ビューワーが HTTP でコンテンツにアクセスできます。

想定される影響

HTTP で送信した認証情報やリクエスト内容が、通信経路で漏えいしたり改ざんされたりするおそれがあります。

対処方法

各キャッシュビヘイビアに https-only または redirect-to-https を設定してください。機密情報を含むリクエストはリダイレクトに頼らず、最初から HTTPS で送信してください。

例

この例は既定のキャッシュビヘイビアで HTTP を拒否する変更です。追加の CacheBehaviors も確認してください。オリジンサーバーへの HTTPS 接続は別途構成する必要があります。

変更前

yaml
Resources:
  WebDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        DefaultCacheBehavior:
          ViewerProtocolPolicy: allow-all
          TargetOriginId: myOrigin

変更後

yaml
Resources:
  WebDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        DefaultCacheBehavior:
          ViewerProtocolPolicy: https-only
          TargetOriginId: myOrigin

参考資料