LoginSignup
2
0

More than 1 year has passed since last update.

どうしてもAmplifyホスティングをプロジェクトに採用したいので、Amplifyホスティングを最大限に活用してセキュリティ評価をした結果

Last updated at Posted at 2023-01-31

AWS Amplifyホスティングが便利そうなので使いたいのですが、セキュリティ的な不安からプロジェクトへの導入をあきらめていました。やはり、AWSにおいての開発は、Amplifyを使うのが便利だと思うので、再度チャレンジしようと思い、まずはセキュリティ評価を行いました。

結論を先に記載すると以下の通りです。

  • セキュリティヘッダが不十分 ※ただし、設定は可能
  • DV証明書のみであり、OV/EV証明書の導入ができない
  • 暗号強度が低い
  • IPアドレス制限ができない
  • WAFの設定ができない

Amplifyホスティングを最大限に活用する

「Amplifyホスティングを最大限に活用する」というのは過大広告のつもりではなく、Amplifyに表示されている推奨設定項目のタイトルです。以下の方法が記載されています。
まだまだやれそうなことはありそうですが、記載されているものはすべて実施しました。
直感的な操作でできるので、おそらく、そんなに悩むことはないと思います。

001.png

今回利用しているCodeCommitでは、プレビュー機能に対応していませんでした。

002.png

Mozilla Observatory

Mozilla Observatoryを利用することで、HTTPに関するセキュリティチェックが行えます。
以下のURLにアクセスします。
https://observatory.mozilla.org/

公開したくない場合は、「Don't include my site in the public results」にチェックを入れます。
「enter domain name here」に検査対象のURLを入力して、「Scan Me」をクリックします。

003.png

検査をする際は、Amplifyホスティングのパスワード保護を一時的に無効にする必要があります。

スキャンを開始すると以下の画面になるので少し待ちます。
数分経っても終わらない場合は、パスワード保護が有効になっていないかなど、アクセス出来ることを確認します。

004.png

HTTP Observatory

HTTPヘッダのチェックをしてくれます。
Mozilla Observatoryを使う利点は、ほとんどこの機能だと思っています。
スコアは、「F」ランクでした。

005.png

特に対策をしていないため、以下の通り指摘されている状況です。

006.png

007.png

上記指摘は、以下のAmplifyの機能でほぼ対策できそうです。

セキュリティヘッダーの例
customHeaders:
  - pattern: '**'
    headers:
      - key: 'Strict-Transport-Security'
        value: 'max-age=31536000; includeSubDomains'
      - key: 'X-Frame-Options'
        value: 'SAMEORIGIN'
      - key: 'X-XSS-Protection'
        value: '1; mode=block'
      - key: 'X-Content-Type-Options'
        value: 'nosniff'
      - key: 'Content-Security-Policy'
        value: "default-src 'self'"

TLS Obervatory

次にTLS通信を確認します。
「I = Intermediate」という並みのスコアとなっています。

008.png

原因は、以下の暗号強度にあるようです。
AWSとしては問題ないと考えていると思いますが、セキュリティ要件の厳しいプロジェクトでは難しいかもしれません。

009.png

ssllabs.com

SSL Labsはそこそこの評価です。
若干スコアが低いのは、TLS Observatoryと同じく、暗号強度が若干低いためです。

010.png

証明書は、DV証明書が使われており、ぱっと見カスタマイズは難しそうです。
OVやEVが求められるプロジェクトでの導入は厳しそうです。

011.png

SSLの導入基準の目安は、以下のIPAサイトの「TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~」に開設があります。

ImmuniWeb

様々なセキュリティ基準の準拠状況のチェックです。
こちらは問題なさそうです。

012.png

tls.imirhil.fr

こちらは、TLSの評価ですが、SSL Labsと同様の結果です。

013.png

securityheaders.com

こちらは、HTTP Observatory同様に、Amplifyホスティングのセキュリティヘッダ設定機能により、ある程度対策できそうです。

014.png

Miscellaneous

こちらのセキュリティヘッダにより対策できそうです。

015.png

Amplifyホスティングを導入する上でのセキュリティ課題

今回の検査で見えた課題は、以下の通りです。
このくらいのレベルであれば、重要な外部公開サービスでなければ許容される範囲のように思います。

  • セキュリティヘッダが不十分 ※ただし、設定は可能
  • DV証明書のみであり、OV/EV証明書の導入ができない
  • 暗号強度が低い

それ以外にも、構成として以下のような課題があります。

  • IPアドレス制限ができない
  • WAFの設定ができない

今後の投稿では、上記に対する考察をテーマにしようと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0