39
2016/04/29( 金 ) JAWS-UG 金金金金金 Cloud on the beach 2016 金金金金金 金金金金金金金金金金 () 金金金金金金金金 金金金金 AWS WAF で でででででででで

AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

Embed Size (px)

Citation preview

Page 1: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

2016/04/29( 金 )

JAWS-UG 沖縄勉強会Cloud on the beach 2016

勉強会の部(経験者向けトラック)

株式会社レキサス 与儀実彦

AWS WAF でセキュリティ対策

Page 2: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

与儀実彦(よぎさねひこ)

所属:株式会社レキサス

お仕事: AWS の提案・設計・構築・運用

好きな AWS サービス: Amazon S3

好きな物理学者:リチャード・ファインマン

JAWS-UG 沖縄コアメンバー

自己紹介

Page 3: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

振り返ってみると、 Cloud on the beach 2013 から毎年登壇中

Page 4: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

最近特に思うこと、 AWS サービス増えすぎ。。。

Page 5: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

リリース回数多すぎ。。。

http://aws.amazon.com/jp/aws_history/

Page 6: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
Page 7: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

アジェンダ

AWS WAF とは?

AWS のセキュリティ

CloudFront とは?

AWS WAF でできること

簡単なデモ

まとめ

Page 8: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS WAF とは?

・ AWS の提供する WAF(Web Application Firewall) のサービス

・現在のところ CloudFront に対してのみ利用可能

・ Web ACL として作成したルールを CloudFront に適応するイメージ

CloudFront

WAF

Page 9: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

WAF は、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護 するセキュリティ対策の一つです。 WAF はウェブアプリケーションの実装面での根本的な対策で はなく、攻撃による影響を低減する運用面での対策です。

WAF は、 WAF を導入したウェブサイト運営者が設定する検出パターンに基づいて、ウェブサイトと利用者間の通信の中身を機械的に検査します。WAF を使用することで以下の効果を期待できます。

脆弱性を悪用した攻撃からウェブアプリケーションを防御する 脆弱性を悪用した攻撃を検出する 複数のウェブアプリケーションへの攻撃をまとめて防御する

IPA 独立行政法人 情報処理推進機構 提供『 Web Application Firewall (WAF) 読本 改訂第2版』より一部抜粋https://www.ipa.go.jp/files/000017312.pdf

WAF(Web Application Firewall) とは?

Page 10: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS WAF の導入のイメージ

Availability Zone B

WEB サーバ

Availability Zone A

WEB サーバ

DBセカンダリ

DBプライマリ

ELB

WAF

Availability Zone B

WEB サーバ

Availability Zone A

WEB サーバ

DBセカンダリ

DBプライマリ

ELB

CloudFront

Page 11: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS WAF の導入のイメージ

Availability Zone B

WEB サーバ

Availability Zone A

WEB サーバ

DBセカンダリ

DBプライマリ

ELB

CloudFront WAF

Availability Zone B

WEB サーバ

Availability Zone A

WEB サーバ

DBセカンダリ

DBプライマリ

ELB

CloudFront

Page 12: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS のセキュリティ

・クラウドセキュリティは AWS の最優先事項です。 AWS のお客様は、セキュリティを最も重視する組織の要件を満たすよう構築されたデータセンターとネットワークアーキテクチャを利用できます。

https://aws.amazon.com/jp/security/

Page 13: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS のセキュリティ

http://www.slideshare.net/AmazonWebServicesJapan/awswebinar-aws-59853341

Page 14: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS の責任共有モデル

OS より上のレイヤーのセキュリティはユーザ自身が責任をもって担保OS より下のレイヤーのセキュリティは、 AWS が責任をもって担保

Page 15: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS の責任共有モデル ( データセンター )

・データセンターの場所を明かさない

・ Amazon.com の EC サイトも AWS 上にある

・米国政府専用リージョンもある

・ CIA( 中央情報局 ) も利用している

・金融系の導入事例も多数あり

・ AWS 社内の人でも、データセンターで働く人と AWS を使う人が直接接触できないようになっているらしい

Page 16: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS の責任共有モデル ( レポート、認定、第三者認証 )OS より上のレイヤーのセキュリティはユーザ自身が責任をもって担保OS より下のレイヤーのセキュリティは、 AWS が責任をもって担保

▪ AWSは以下のような第三者認証を取得済みSSAE 16/ISAE 3402基準、 SOC1レポート(旧 SAS70)SOC2レポートSOC3レポート【 NDA無で入手可能】ISO 27001 CertificationPCI DSS Level 1 Service Provider FISMA moderateSarbanes-Oxley (SOX)

データセンターおよび組織のセキュリティ担保責任を果たすため、多数の第三者認証を取得して更新し続けている。

Page 17: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

(小ネタ)AWS のデータセンターは、 Amazon.com のためにつくられものではなかった(らしい)。

http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-10-years-of-aws

2006 年  AWS サービス開始2010 年  Amazon.com の EC サイトが AWS へ移行

Page 18: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS の責任共有モデル

OS より上のレイヤーのセキュリティはユーザ自身が責任をもって担保→どうやる?

Page 19: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

・ AWS セキュリティのベストプラクティスに従った AWS 設計をする。・安全な Web アプリケーション、ウェブサイトを作る。・ソフトウェア脆弱性アップデート対応や脆弱性情報収集を継続実施。

まずは基本的なことから。

Page 20: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

Amazon Inspector でアプリケーションの脆弱性診断。

・ 2016 年 4月 20日に一般提供開始、東京リージョンでも利用可能に。

・ EC2 インスタンスに専用のエージェントをインストールして、実行するだけでアプリケーションの脆弱性診断が実施可能に。

→サイト公開前などに実施して、セキュリティ的な問題点や穴がないか確認して、安全なシステム構築の一助に。また、サイト公開後の定期的な脆弱性診断の実行して、新たな脅威の検出・対応を。

https://aws.amazon.com/jp/inspector/

Page 21: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

WAF は、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護 するセキュリティ対策の一つです。 WAF はウェブアプリケーションの実装面での根本的な対策で はなく、攻撃による影響を低減する運用面での対策です。

WAF は、 WAF を導入したウェブサイト運営者が設定する検出パターンに基づいて、ウェブサイトと利用者間の通信の中身を機械的に検査します。WAF を使用することで以下の効果を期待できます。

脆弱性を悪用した攻撃からウェブアプリケーションを防御する 脆弱性を悪用した攻撃を検出する 複数のウェブアプリケーションへの攻撃をまとめて防御する

IPA 独立行政法人 情報処理推進機構 提供『 Web Application Firewall (WAF) 読本 改訂第2版』より一部抜粋https://www.ipa.go.jp/files/000017312.pdf

WAF(Web Application Firewall) とは?

Page 22: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

Amazon CloudFront とは?

http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront

・ CDN(Contents Delivery Network) のサービス →コンテンツのキャッシュ配信

1 ディストリビューション当たり、デフォルトで10Gbps 、 15,000RPS まで耐えうる。(超える場合は上限申請)

→DDoS 攻撃対策としても、かなり有効。→ある意味 DDoS 攻撃な Yahoo砲などのアクセス集中対策にかなり有効。

Page 23: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

Amazon CloudFront とは?

・ CDN(Contents Delivery Network) のサービス →コンテンツのキャッシュ配信

WAF

http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront

Page 24: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

世界中に拡がる CloudFront のエッジロケーション

http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront

・最寄りのエッジロケーションからコンテンツ配信することで高速に。・このエッジロケーションに WAF が連携して利用可能。

Page 25: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS WAF のメリット

・使った分だけの支払い

・ API で操作可能

・オートスケール

Page 26: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS WAF でできること( 2016 年 4月 29日現在)クライアントからのリクエスト ・ Header ・ HTTP method  ・ Query string ・ URI ・ Body

に対して、 ・ IP address  ・ Size constraint  ・ String matching  ・ Cross-site scripting ・ SQL injection

の判定条件で検出された通信に対して、 ・ Block ・ Allow ・ Count

のいずれかのアクションを実行できる。

Page 27: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

判定条件: IP address

・クライアントの IP アドレスで判定

・これまで、 CloudFront にはセキュリティグループのような通信制限がなかったため、常に公開されている状態だった。→公開前のサイトなどについて、特定 IP アドレスからのみの閲覧制限をかけることができるようになった。→オリジンに対するアクセス制限は考慮する必要あり。

Page 28: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

判定条件: IP address

http://aws.typepad.com/sajp/2016/02/waf-4xx-ip.html

・特定 IP アドレスからの集中アクセスがあった場合に、 Count でアクセス数を計測して、一定数を超えたら Block するという仕組みを作ることができる。

Page 29: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

判定条件: Size constraint

・リクエストのデータサイズで判定

・入力フォームからのファイルアップロード機能などで、ファイルサイズ制限をかけるなどの利用用途が考えられる。

Page 30: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

判定条件: String matching

・リクエストに含まれる文字列を検知して判定

・特定 URI のパスに含まれる文字列でのアクセス禁止や、クエリストリングで特定文字列の検出などでも使える。

Page 31: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

判定条件: Cross-site scripting

・一般的なクロスサイトスクリプティング (XSS) 攻撃の内容を検知して判定

https://www.ipa.go.jp/files/000017316.pdf

クロスサイトスクリプティングとは?

Page 32: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

判定条件: SQL injection

・一般的な SQL インジェクション攻撃の内容を検知して判定

SQL インジェクションとは?

https://www.ipa.go.jp/files/000017316.pdf

Page 33: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

WAF

WAF の導入 Tips 1

Availability Zone B

WEB サーバ

Availability Zone A

WEB サーバ

DBセカンダリ

DBプライマリ

ELB

CloudFront

・ CloudFront で使う IP アドレスレンジ帯のみを許可するセキュリティグループを作成して、 CloudFront外からの通信を遮断した方が良い

攻撃者

Page 34: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

AWS WAF の導入 Tips 2・ルールの追加や変更が世界中に伝達されるまで通常 1分程度かかる。→CloudFront の設定変更やルールの初期設定の伝達の場合は、通常数分程度かかる。

https://aws.amazon.com/jp/waf/faq/http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront

Page 35: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

簡単なデモ

WAFCloudFront

検証用サーバ

・ Query String に対する、  String Matching  Cross-site scripting(XSS)  SQL injection の Block ルールを適応済み環境

・ Block される様子をデモで確認

攻撃者

Page 36: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

デモ (String Match)

Page 37: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

デモ (Cross-site scripting(XSS))

Page 38: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

デモ (SQL injection)

Page 39: AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016

まとめ

・まずは、セキュリティのベストプラクティスに従った AWS ・アプリケーションの設計が一番重要!

・ AWS WAF はあくまで、セキュリティリスクを低減するためのものであることを忘れずに!

・ AWS WAF の運用方法については、自由度が高いので、運用方針はしっかりと決める必要がある。

・個人的に思うのが、 AWS WAF はセキュリティ対策としてだけではなく、何か別の用途にも使えそう。( Count などを利用して。)